当前位置: 爱尖刀 > 首页安全 > 漏洞补丁 > 正文

简单解释分析--“image upload xss漏洞”

2012-12-29 09:38 来源:法客论坛 浏览次数:1015 我来说两句(0)
首先我们来看一下这个洞的介绍,一句话概括下:由于上传时候没有对文件名进行重命名,导致可以在文件名里面写入XSS代码
相关英文文献:http://ha.ckers.org/blog/20070603/image-upload-xss/  ----->撸主表示讲的还是比较清楚的

如果机油们不想看英文,那么撸主下面给大家实例演示下
首先我们创建两个文件
1.photo.html  ------------>用于上传
2.photo.php   ------------>用于接收和显示(这里撸主偷个懒,写一起了)
放在同一目录下

下面是代码

photo.html
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>上传图片</title>
</head>
<body>
<div align="center"><h1>请选择图片</h1></div>
<form action="photo.php" method="post" enctype="multipart/form-data">
    <div align="center">
        <input name="upload_file" type="file" size="20">
        <input name="Submit" type="submit" value="提交">
    </div>
</form>
</body>
</html>
photo.php
<?php
error_reporting(0); 
$dir = "./"; 
$tmp_name = $_FILES['upload_file']['tmp_name'];
$actual_name = $_FILES['upload_file']['name'];
$size =     $_FILES['upload_file']['size'];
$type =     $_FILES['upload_file']['type'];
move_uploaded_file($tmp_name,$dir.$actual_name);
echo "<img src=\"".$dir.$actual_name."\">"; 
?>
注意:由于不想写过多代码,没有进行任何过滤,不要说我……偷个懒……只要漏洞原理能说清楚就行了

---------------------------------------下面是操作步骤------------------------
1.在photo.html随便选个图片上传
11.jpg 
1.1让我们看下正常上传后的效果
如下,显示了图片,html源码就是图片的地址
1.jpg 

2.在burp抓包,将文件名改为:\"onerror=\"alert(1)\" a=\".jpg  ,对了,下面的截图里撸主由于没写数据库,就没管单引号的转义,机油们写数据库时候注意下就是了
斜杠\进行引号的转义,让其正常输出为引号而不闭合,撸主觉得这个应该解释了帖子中A11riseforme牛的疑惑


3.提交,然后photo.php显示弹窗了


4.让我们看一下这里的html源代码

是的,一个跨站代码产生了

5.注意,这里只做了最简单的演示,直接显示了图片地址,真正的网站肯定是把这个地址插入数据库的,原理一样
如果没有过滤,数据库会执行以下语句
INSERT INTO `phish`.`web_list` (
`id` ,
`webname` ,
`webaddr` ,
`dbname`
)
VALUES (
NULL , '123', '\"onerror=\"alert(1)\" a=\".jpg', '123'
)

然后我们看下数据库

6.这样,当网页读取数据库并重组html代码时候,就会像第4步中一样,产生跨站



[广告]赞助链接:

知安,互联网产品安全医院:http://www.knowsafe.com
舆情监测,互联网舆情首选查舆情:http://www.chayuqing.com/
爱尖刀科技,关注企业数据与安全:http://www.ijiandao.com

关注公众号:Mcbang_com 了解更多精彩,关注:chayuqing_com 娱乐资讯早知道!
收藏 分享 发布者: 疯子 |
看完这篇文章,你的感受如何?


伤心


无视


惊讶


流汗


赞同


路过
热点聚焦
更多>>
情凝中秋,乐在团圆 中秋节又称团圆节,是从古代至今,对远方亲人思念之情的体现;也是东方 ... [详细]
传递爱心 帮助需要的人 中国红十字已不能信任,民政系统变的自私,在这样的环境下,很多需 ... [详细]
【D盾】- 携手啊D共推《 [详细]
父亲节(Father's D 温家宝:父爱,如大海般深沉而宽广。 我们的力量出自与父亲,我们的 ... [详细]
祝高考学子凯旋而归 明后两天,高中三年的最后两天,也是将会影响命运的两天! 3年=1095天 ... [详细]
Copyright© 2006-2016 IjianDao.Com All rights reserved.
网络尖刀 版权所有 京ICP备14006288号-3