Vulnhub官方复现教程
https://vulhub.org/#/environments/django/CVE-2017-12794/
漏洞原理
在使用Postgres数据库并触发异常的时候,psycopg2会将字段名和字段值全部抛出。那么,如果字段值中包含我们可控的字符串,又由于0x02中说到的,这个字符串其实就会被设置成__cause__
,最后被显示在页面中。
所以我们假设有如下场景:
- 用户注册页面,未检查用户名
- 注册一个用户名为
<script>alert(1)</script>
的用户 - 再次注册一个用户名为
<script>alert(1)</script>
的用户 - 触发duplicate key异常,导致XSS漏洞
漏洞复现
启动环境
https://blog.csdn.net/JiangBuLiu/article/details/93853056
进入路径为
cd /root/vulhub/django/CVE-2017-12794
搭建及运行漏洞环境:
docker-compose build &