xss挖掘思路分享_一些BAT的XSS实例(三)中级篇

前面发表了一些BAT的XSS实例(一)基础篇》《一些BAT的XSS实例(二)进阶篇》,主要详细的讲了下1~5题的思路,错过的朋友可以点击上面链接,去查看相应的文章,下面我们来看下后面其他的题。

f535e6e972704cfda1b5829148c8ed66.png 背 景 f535e6e972704cfda1b5829148c8ed66.png 有很多人私信问我,能不能来一些XSS绕过实例分析,我选了些N年前的BAT的XSS实例来聊聊构造和绕过思路。 (这些实例都是已经公开并且修补完毕的,这里是只是以此为原型,并做了一定的修改,进行了一些XSS题目的设计而已。) 先一次性把10道题发出来 (弹框1就算成功,大部分的题都是一题多解,尽量给出多种思路,或者最短的解法。) http://px1624.sinaapp.com/test/xsstest1/ (其他题目,将xsstest1依次改为xsstest2~xsstest10即可获取) 有兴趣的朋友,可以先不看文章,自己尝试的做一做题目,有答案的话可以发到我的邮箱 px1624@qq.com 并附上自己的ID,说不定下篇文章里面就会有你的绕过思路被收录了额。  1 先看看第七题 因为第六题应该是所有题中最难的,目前只有ID:gainover解出来了所以还是先不公布答案,上篇文章 《一些BAT的XSS实例(二)进阶篇》 已经给出了部分提示,还是给更多的人留些解题时间,放到最后在公布吧。所以先看第七题。 先来看源码

f4a550874bf2569ad1ea1242e48683fb.png

一看到这个情况,做过前面题的人应该懂,首先要自己写参数px

bcdfefe73df555d7c5d53fd587a635f5.png

  看着好像蛮简单的,直接去构造下。

6968dbf5b2b570139150a5a6f84d818d.png

  如上图,可以发现特殊字符被转义了啊,所以单引号这样子就跳不出了,后面的注释也就用不了了。这时候肯定是想的,再去试试反斜线,如果这个没有过滤,那么 \' 就会被过滤为  \\'  这样等于是将反斜线进行了转义,所以后面的单引号就没有被转义了,那么就可以闭合代码里单引号,从而跳出单引号限制了。 

a92e87d7c3dd2ee0e3942bd57cb73bb2.png

e6dd58c2f69f2b54979687b415023e46.png

大概的意思如上图代码解释

ae2c083f74ad8c18635f308c14ea076a.png

如上图,果然反斜线没有转义。 但是最后面这个多出来的单引号怎么处理?你会发现不管你怎么尝试,这里的单引号就是没法处理掉,基本上到这步,很多人就已经打出GG了。 很多人似乎想到第四题,我们可以不可以把其中一部分内容当做模板字符串,但是你会发现还是有区别的,因为第四题的输出点2个位置都在js环境里,而这里是一个在js中一个在html中,所以直接这样肯定是不行的,因为不管你怎么构造,你都会发现script标签里的输出部分最后面的这个单引号没办法解决。 不过通过观察,我们发现html中的字符的过滤逻辑和js中并不一样。  

ea2f0ba6af069500aa193deac450e09c.png

测试发现,js中的可控点是进行了反斜杠的转义,html中的是进行了html实体编码。一番尝试后,肯定会发现不管是在js中还是html中,都是无法成功构造XSS的。那么如果我们有办法跳出script标签,然后把后面的代码也当做js去解析的话,是不是就和第四题的情况基本一样了? 所以这里是有一个知识点,如果不知道的话,那么这个题是大概率解不出来的。 https://www.dazhuanlan.com/2019/10/25/5db1e6beea817/ 具体可以看下上面链接的文章解释,可能一时半会还是比较难理解的,这里大概意思就是说在script标签里面如果遇到了 进行闭合。这样下面本来在html位置的输出点,也变成了js代码进行解析了,那么再按照第四题的方法,利用模板字符串,去进行构造就可以了。 首先还是先闭合跳出单引号,然后写入模板字符串,如下图看下代码。

76a4049270ff30ee905dd71ac1808c52.png

  如上图,再调试下使得js代码语法正确就可以了,这里模板字符串可以用运算符隔开,后面多余部分的代码注释掉即可。  

dad576c2b8e0f6c250cdd1b71ed1276a.png

如上图,这里等于我是把
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值