当前位置: 首页 > wzjs >正文

wordpress做电商网站营销思路八大要点

wordpress做电商网站,营销思路八大要点,长春做网站哪里好,装修效果图网站推荐目录 CSV注入漏洞 1.CSV漏洞简介 2.漏洞原理 (1)公式执行 (2)DDE机制 (3)OS命令执行 3.漏洞防御 第08关 CSV注入 1.打开靶场 2.修改源码 3.注入命令 4.导出excel表 5.打开excel表 CSV注入漏洞…

目录

CSV注入漏洞

1.CSV漏洞简介

2.漏洞原理

(1)公式执行

(2)DDE机制

(3)OS命令执行

3.漏洞防御

第08关 CSV注入

1.打开靶场

2.修改源码

3.注入命令

4.导出excel表

5.打开excel表


CSV注入漏洞

1.CSV漏洞简介

CSV公式注入(CSV Injection)是一种会造成巨大影响的攻击向量。攻击包含向恶意的EXCEL公式中注入可以输出或以CSV文件读取的参数。当在Excel中打开CSV文件时,文件会从CSV描述转变为原始的Excel格式,包括Excel提供的所有动态功能。在这个过程中,CSV中的所有Excel公式都会执行,从而可能导致黑客利用此功能进行渗透,形成CSV漏洞

2.漏洞原理

(1)公式执行

当输入一个公式,会被Excel自动运算并执行。如下图执行公式=1+2+3

回车后这一行数据就会变为6

(2)DDE机制

而当你输入一个别的Excel本身不存在的功能时,Excel就会被微软的另一种机制:DDE机制调用。

DDE是Windows下进程间通信协议,是一种动态数据交换机制,使用DDE通讯需要两个Windows应用程序,其中一个作为服务器处理信息,另外一个作为客户机从服务器获得信息。DDE支持Microsoft Excel,LibreOffice和Apache OpenOffice。 Excel、Word、Rtf、Outlook都可以使用这种机制,根据外部应用的处理结果来更新内容。因此,如果我们制作包含DDE公式的CSV文件,那么在打开该文件时,Excel就会尝试执行外部应用

(3)OS命令执行

通过在CSV文件中构建DDE公式,可以调用系统cmd执行命令,从而达到执行操作系统命令的目的,形成命令执行漏洞

如下图所示,在单元格中输入1+cmd|’/C calc’!A0

1+cmd|'/C calc'!A0

回车后Excel会弹出一个框,提醒Excel需要启动另外一个程序(cmd)

点击是,Windows会弹出计算器窗口。

因此,利用这种漏洞危害,我们可以在用户的操作系统上执行添加用户、开启任意程序、操作注册表、反弹shell等命令。 

3.漏洞防御

1、确保单元格不以特殊字符(“+、-、@、=”)开头;
2、对单元格的内容进行特殊字符(“+、-、@、=”)过滤;
3、先对原始输入内容进行转义(双引号前多加一个双引号),然后在添加tab键和双引号防止注入;
4、禁止导出CSV、Excel格式;
5、导出为Excel格式前,利用代码把单元格的格式设置为文本(对CSV不生效)。 

第08关 CSV注入

1.打开靶场

初始打开效果如下所示

2.修改源码

这是因为源码有问题,需要修改源码csv_vuln.php,修改后如下所示

<?php$conn = mysqli_connect('localhost', 'root', 'root', 'webug');if ($conn) {$sql = "select * from data_crud";$res = $conn->query($sql);}if (isset($_POST['daochu'])){$headerArray = ['name','age','email'];$string = implode(",",$headerArray)."\n";//先做出表头while (list($id, $name, $age, $email, $deflag) = mysqli_fetch_row($res)){$data = [['name'=>urldecode($name),'age'=>urldecode($age),'email'=>urldecode($email)]];foreach ($data as $key => $value) {//把需要的字段一一对应起来,如果已经对应好 直接 $outArray = $value;$outArray['name'] = $value['name'];$outArray['age'] = $value['age'];$outArray['email'] = $value['email'];$string .= implode(",",$outArray)."\n"; //用英文逗号分开 }}@$filename = date('Ymd').'.csv'; //设置文件名header("Content-type:text/csv");header("Content-Disposition:attachment;filename=".$filename);header('Cache-Control:must-revalidate,post-check=0,pre-check=0');header('Expires:0');header('Pragma:public');exit(mb_convert_encoding($string, "GBK", "UTF-8"));}
?><?php
require_once "../../common/common.php";
if (!isset($_SESSION['user'])) {header("Location:../login.php");
}
?>
<!doctype html>
<html><head><meta charset="utf-8"><title></title>
</head>
<style>body{font-family: Arial, Helvetica, sans-serif;}table{border-collapse: collapse;width: 50%;text-align: center;}td,th{border:1px solid #ccc; padding: 2px 5px;}button{padding: 5px;}div {line-height: 3;}
</style>
<body>
<?php$i_name =  urlencode($_POST[name]);$i_age =  urlencode($_POST[age]);$i_email =  urlencode($_POST[email]);if ($dbConnect) {if ($i_name != null && $i_age != null && $i_email != null){$sql = "INSERT INTO data_crud(name,age,email) VALUES ('$i_name','$i_age','$i_email')";$res = $dbConnect->query($sql);}}if ($dbConnect) {$sql = "select * from data_crud";$res = $dbConnect->query($sql);}
?><table id="table"><tr><th>Name</th><th>Age</th><th>Email</th></tr><?phpif ($res) {while (list($id, $name, $age, $email, $deflag) = mysqli_fetch_row($res)){echo '<tr>';echo '<input type="text" hidden="hidden" name="id[]" value="'.$id.'">';echo '<td><div contenteditable="true">'.urldecode($name).'</div></td>';echo '<td><div contenteditable="true">'.urldecode($age).'</div></td>';echo  '<td><div contenteditable="true">'.urldecode($email).'</div></td>';echo '</tr>';}}?></table><form action="#" method="post"><input name="daochu" type="submit" value="导出"/></form><br><h2>添加新用户信息</h2>
<form action="#" method="post"><table id="table"><tr><td>Name</td><td>Age</td><td>Email</td></tr><tr><td><input name="name" type="text" size="20"/></td><td><input name="age" type="text" size="20"/></td><td><input name="email" type="text" size="20"/></td></tr></table><div><input name="submit" type="submit" value="确认添加"/></form></div>
</body>
<script src="../../../aa/html/table-to-excel.js"></script><script>var tableToExcel = new TableToExcel();document.getElementById('button').onclick = function () {tableToExcel.render("table");};</script>
</html>

修改源码后,打开页面如下所示

3.注入命令

在添加用户信息处,任选一项name处,添加1+cmd|'/C calc'!A0这个csv注入命令,其他两项甜味18和ljn,接下来点击确认添加

添加后如下所示

这个时候点击导出,将excel表导出,很明显此时导出的表格中会包含此csv注入命令。

4.导出excel表

点击导出后效果如下,此时导出成功会提示是否打开,选择打开

5.打开excel表

打开后,当点击=1+cmd|'/C calc'!A0项数据时,提示如下

这个时候如果点击是的话,如下所示通关excel表的csv注入将计算器启动,渗透成功

http://www.dtcms.com/wzjs/247878.html

相关文章:

  • 金溪网站建设推广qq营销软件
  • 网站建设中问题分析与解决体验式营销案例
  • 让其他公司做网站应注意什么问题解释seo网站推广
  • 在线生成手机网站营销渠道策划方案
  • 网站链接地图是怎么做的百度推广一天费用200
  • 动态ip做网站可以备案吗怎么建网站免费的
  • 什么网站做推广最好江门网站定制多少钱
  • 网站建设与管理实践报告拼多多关键词排名查询工具
  • dw软件做网站近三天的国内新闻
  • 大一网页设计电商网站作业哪里注册域名最便宜
  • 网站建设自学正规seo一般多少钱
  • seo搜索铺文章北京百度seo关键词优化
  • 有没有专业收费做网站优化的百度搜索引擎优化指南最新版
  • 济南网站建设排名百度推广怎么操作流程
  • 阿里建站平台官网快速seo关键词优化技巧
  • 火车头web在线发布到网站seo推广代运营
  • 做网站怎么接广告赚钱营销咨询师
  • 网站建设是什么工作苏州seo
  • 盐城网站建设0515icp北京关键词快速排名
  • 网站维护的要求包括新闻稿范文
  • 网站分辨率做多大搜索引擎调词软件
  • 深圳专业网站建设价格seo自学
  • 浙江均泰建设有限公司网站网络推广销售是做什么的
  • 建设银行人才招聘网站短视频营销推广方式
  • 淘宝上做的网站可以优化吗google app
  • 商丘做网站的公司sem是什么检测分析
  • 网站建设进度表 免费下载建站宝盒
  • m2c是什么意思谷歌外贸seo
  • 个人网站注册步骤图解趣丁号友情链接
  • 手机网站建设的整体流程地推项目对接平台