赞
踩
目录
对于我这样的新手来说,能这样实现XSS是没想到的,看来还是那句话,存在输入的地方都可能不安全。
简单来说,这个漏洞就是利用了Django框架引入的数据库的Unique异常机制。我们在这个环境中,连续创建用户,然后填的用户信息是相同的,这样注入自然就会报错,引发了报错从而就会调用相关函数,从而执行我们输入的用户信息。感觉跟我最近学的二次注入有相似的地方。
具体代码及原理可以看官方POC
Vulhub - Docker-Compose file for vulnerability environment
在BMZCTF平台下(无需安装环境,平台给你使用靶机)
- 创建一个用户
- url/create_user/?username=<script>alert(123)</script>
在重新以这个URL发送请求(再创建相同用户报错)
这里就插入了一个存储型xss了。
更新版本
现在学了也有一定时间了,大多数漏洞的成因都依赖着代码,深入的理解代码的逻辑,就越有可能挖掘出漏洞,另外,这个漏洞其实作用并没有那么大,只是一般人根本想不道报错页面可以xss而且还是像这种类似二次注入的XSS,复现的过程中,我也试着插入其他语句,发现语句太长,或者是包含英文,都会被报错过滤掉,所以实际危害没有那么大。
参考链接
Vulhub - Docker-Compose file for vulnerability environment
作者水平有限,有任何不当之处欢迎指正。
本文目的是为了传播web安全原理知识,提高相关人员的安全意识,任何利用本文提到的技术与工具造成的违法行为,后果自负!
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。