以下是我自己的理解,根据Django使用的框架中,他创建了apps.py并执行,会自动生成一个models.py
models.py调用了Collection的这个类
然后发送到了这边,而models又需要migrations来迁移文件,其中调用了models.AutoField,而它如果在没有增加id这个字段的时候,会自动增加一个自增的数据库类型的字段id,但恰恰在此需要设为主键(primary_key=True)否则又会报错,导致错误将id设置为主键,可以执行SQL命令且没有被过滤
所以当order==id时会出现一个自增序列的数据(可以是ID也是等于id)
而当order=-ID又会出现问题,而打印出一些敏感信息
将CVE-2021-35042上传到centos7
环境启动成功后,查看http://your-ip:8000访问首页
构造poc
1.将除了id以外的其他字段其中一个设置为主键(我自己对AutoField()的理解),这样或许可以避免id成为主键自增,在数据库中就没有了主键id,就不会导致SQL注入产生
2.更新最新版本
欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) | Powered by Discuz! X3.4 |