当前位置:   article > 正文

xss绕过之编码绕过_xss编码绕过

xss编码绕过

xss编码绕过 首先我们知道解析顺序,URL解码,HTML解码 ,CSS解码,JS解码
1.在服务端接受到请求后,一般是先进行url解码,然后在提取浏览器中参数。所以一般url编码是不能绕过。
2.如果我们输入了带有HTML实体编码值,只要在保证浏览器接受数据时能构建DOM树,就能进行解码操作。
下面为什么会进行url编码,不是为了绕过而进行的,因为HTML实体编码后(c);会是这种情况。而浏览器在发送到服务端传参也是&进行传参分隔的,所以就会产生问题.我们就要进行url编码
3.我们开始实验:<img/src=x οnerrοr=alert(1)//   正常显示一个错误图片           正常触发
3.1当对src,=,然后进行url编码。     失败
3.2分别对x,alert(1),alert,(1),//进行编码html实体编码,url编码       正常触发
3.3当对()进行实体编码,然后进行url编码              失败      
    
伪协议触发实验<a href="javascript:prompt`1`">a</a>            正常弹窗
3.4 我们对javascript:prompt`1`   html实体编码,url编码    正常弹窗
3.5 我们对" =  > 进行实体编码,url编码                                失败

事件触发实验 <body/οnlοad=prompt(1)//
3.6 对分别对prompt(1)  (1)  1 //进行HTML实体编码,url编码       正常弹窗
3.7其他onload,= body 编码进行实体编码 ,url编码                             失败    

js弹窗触发实验<script>confirm`1`</script>
3.8 confirm进行 html实体编码,url编码                             正常弹窗
3.9 对`1` , <>,script  进行实体编码,url编码                        失败

小结:只要不对=和左边,以及(),<之类进行html实体编码,不破坏它的语法结构,就能正常触发


js弹窗触发实验<script>confirm`1`</script>进行js编码尝试(\u00十六进制)这里我们就不需要进行url编码了 
4.0对 confirm 进行unicode进行编码,       正常弹窗
4.1对(1) 进行unicode进行编码                    失败
4.2对sc进行unicode编码                            失败

伪协议触发实验<a href="javascript:prompt`1`">a</a>   js编码尝试
4.3对prompt进行js编码既unicode编码,  正常弹窗
4.4对`1` href  ,= , javascript: 进行unicode编码             失败

事件弹出实验<svg/οnlοad=confirm(1)//     js编码
4.4对confirm 进行unicode编码                  正常弹窗
4.5对(1),=,onload 编码测试               失败

小结:在unioncde编码需要在js环境里解析。当弹窗函数被过滤,可用unincode编码绕过。其他均不行

tip:事情触发一共有32个,如果被过滤了,可尝试更换一个事件。

总结:我们在利用编码绕过时。当伪协议被过滤javascript:prompt`1` 。都可以进行HTML实体编码进行绕过。同样HTML,unicode编码都适用与弹窗函数被过滤情况。html可以编码(1),unicode编码不行。目前个人意见可以有限考虑HTML实体编码。在考虑unicode编码


 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小舞很执着/article/detail/921602
推荐阅读
相关标签
  

闽ICP备14008679号