Django debug page XSS漏洞


Django debug page XSS漏洞(CVE-2017-12794)分析

漏洞复现

在使用Postgres数据库并触发异常的时候,psycopg2会将字段名和字段值全部抛出。那么,如果字段值中包含我们可控的字符串,又由于0x02中说到的,这个字符串其实就会被设置成__cause__,最后被显示在页面中。

所以我们假设有如下场景:

  1. 用户注册页面,未检查用户名
  2. 注册一个用户名为<script>alert(1)</script>的用户
  3. 再次注册一个用户名为<script>alert(1)</script>的用户
  4. 触发duplicate key异常,导致XSS漏洞

访问http://your-ip:8000/create_user/?username=<script>alert(1)</script>创建一个用户,成功;再次访问http://your-ip:8000/create_user/?username=<script>alert(1)</script>,触发异常:

结果1

可见,Postgres抛出的异常为:

duplicate key value violates unique constraint "xss_user_username_key"
DETAIL:  Key (username)=(<script>alert(1)</script>) already exists.

文章作者: Geekby
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 Geekby !
 上一篇
CVE-2015-5254 activeMQ 反序列化漏洞 CVE-2015-5254 activeMQ 反序列化漏洞
CVE-2015-5254 activeMQ 反序列化漏洞activeMQApache ActiveMQ是美国阿帕奇(Apache)软件基金会所研发的一套开源的消息中间件,它支持Java消息服务、集群、Spring Framework等。
2019-01-01
本篇 
Django debug page XSS漏洞 Django debug page XSS漏洞
Django debug page XSS漏洞(CVE-2017-12794)分析漏洞复现在使用Postgres数据库并触发异常的时候,psycopg2会将字段名和字段值全部抛出。那么,如果字段值中包含我们可控的字符串,又由于0x02中说到
2018-05-07 Geekby
  目录