| 关键词: 靶场 分割线 闭合 白酒 转自 下方 全套 网络安全 crawlergo |
那原本是一个Happy的夜晚,我搞了二两小白酒,听到领导发来的消息,还TM喝酒,加班了!接到测试网站,利用crawlergo+XRAY扫到了一个xss,这是入口点。打开网页长这个样子。 利用点在keyword参数 ![]() 我们闭合前面的<script>看看 ![]() 嗯..问题不大 ![]() 而当直接注入payload的时候,会被拦截 ![]() 麻麻赖赖的,咋直接干它! 开始尝试绕过payload 最后发现,onerror= 会被直接拦截 onerror== 不会被拦截,而是变成onerror="=" 除此之外,不论=后面是否存在数值,都会被拦截。 ![]() 于是猜想,是不是onerror这个事件太常用了, 所以作为关键词的一部分被拦截了,因此我开始fuzz事件 这里贴出所有的事件,来自菜鸟教程。 随后,fuzz出了一堆可触发的事件出来 ![]() 最后我选择了onwhell,滚动的时候触发,但是紧跟着alert依旧不行 ![]() 于是,我认为是alert(1)这个函数太过敏感,我们可以用一些别的方法来进行混淆。 于是在尝试了反引号,confirm,prompt等都不行的时候,我居然想出了console.log(1)这个方法。 没想到又出来一个拦截 真的是i了i了 ![]() 最后掏出我弹药库里的一些储备 例如这些: 但是也都一一被拦截下来 ![]() 最后,幸运之神还是眷顾了我,让我找到了没有被waf住的包 例如: 在javascript接着的语句中,进行编码后依旧可以进行识别 或者利用toString的编码转换,来进行bypass 例如 ![]() 最后结合top来进行二次绕过 那么最后为什么还没有弹框呢?原因是src=1 和onwheel压根没啥子关系。。 ![]() 我们换个<svg onwheel>会不会更好。只需滚动一下鼠标滑轮即可 ![]() 搞定收工,继续喝酒去! 转自https://mp.weixin.qq.com/s/83Q7sKmITMR1Qcu-WcILVA |
| 本文出处: https://www.toutiao.com/a6860347237013127687/ |
|
声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系
[邮箱地址] 删除
|