利用Vulnhub复现漏洞 - Django debug page XSS漏洞(CVE-2017-12794)分析

本文详细介绍了如何复现Vulnhub上的Django debug page XSS漏洞(CVE-2017-12794)。通过启动环境、创建用户、触发异常,展示了漏洞的利用过程,揭示了当Postgres数据库触发异常时,可控字符串可能导致的安全风险。最终,通过两个特定的用户注册,证明了XSS漏洞的存在,并提到了利用XSS绕过防御机制的方法。
摘要由CSDN通过智能技术生成

Vulnhub官方复现教程

https://vulhub.org/#/environments/django/CVE-2017-12794/

漏洞原理

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

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

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

漏洞复现

启动环境

https://blog.csdn.net/JiangBuLiu/article/details/93853056
进入路径为

cd /root/vulhub/django/CVE-2017-12794

搭建及运行漏洞环境:

docker-compose build &
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值