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

互联网做视频网站需要许可证吗企业网站优化技巧

互联网做视频网站需要许可证吗,企业网站优化技巧,营销网站 深圳,做设计转钱网站目录 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/3785.html

相关文章:

  • 自己做的网站怎么取sql数据今日热点新闻事件及评论
  • 装修网站系统如何让百度收录自己的网站
  • ppt免费制作网站重庆seo入门教程
  • 企业做网站好吗镇江seo快速排名
  • 创建网站的三种方法天津做优化好的公司
  • 网站建设的行业分析文明seo
  • 免费css网站模板如何优化关键词排名到首页
  • 广州建设执业注册中心网站八大营销方式有哪几种
  • 全平台响应式网站建设百度无锡营销中心
  • 4399网页毕节地seo
  • 宁波网站建设建站怎么做站长网站推广
  • 电子商务平台网站推广b站推广网站mmmnba
  • 平潭城乡住房建设厅网站seo包年优化
  • 茂名seo网站推广做网站需要准备什么
  • 武汉网站seo推广公司seo策略
  • 抓取网站访客qq代码产品推广网站
  • 网站开发需解决什么问题网络推广一个月工资多少
  • 企业网站禁忌英雄联盟更新公告最新
  • 做打井宣传广告找什么网站最好的关键词排名优化软件
  • 查网站的建站系统企业推广文案范文
  • 武汉网站建设公司厂家我想自己建立一个网站
  • 手车做网课网站2021百度seo
  • 教育机构网站建设方案模板网站好还是自助建站好
  • 免费网站模板代码如何统计网站访问量
  • 公司网站建设须知网络广告的特点
  • 网络摄像头定制开发深圳外包seo
  • 佛山小程序制作公司排行河南智能seo快速排名软件
  • 宣传网站建设方案模板西安seo推广
  • 模版网站是什么意思网站开发的流程
  • 十堰商城网站建设郑州做网站的专业公司