Django是Django软件基金会的一套基于Python语言的开源Web应用框架。该框架包括面向对象的映射器、视图系统、模板系统等。
在 2.2.28 之前的 Django 2.2、3.2.13 之前的 3.2 和 4.0.4 之前的 4.0 中发现了一个问题。QuerySet.annotate()、aggregate() 和 extra() 方法会通过精心制作的字典(带有字典扩展)作为传递的 **kwargs 在列别名中进行 SQL 注入。
打开站点,只显示了一个ok不知道是什么
浏览器的指纹插件显示
按下F12进行查看,没有任何有用的信息,也并未看见js.map,webpack没看见
没有任何信息,用dirsearch扫描一下地址路径
发现存在一个code 500的demo
PS:Code 500 指的是 (服务器内部错误)服务器发生错误,无法完成请求。
这里去访问获取能看到错误页面,从错误页面中收集一些信息
访问一下显示的信息记录一下
1.django version:4.0.3
2.Python version:3.10.4
提示参数名为name
通过检索django的demo进行搜索能找到现有CVE漏洞POC
POC:http://xxx.xxx.xxx.xxx/demo?field=demo.name" FROM "demo_user" union SELECT "1",sqlite_version(),"3" --+
1.官方已发布安全版本
2.对用户输入参数进行前后端校验,过滤敏感字符
1.进入页面只有ok可以查看指纹
2.按F12可以看看存在的js,js中可能会存在一些接口泄漏,这些接口中可能存在一些未授权或者信息泄露
3.用dirsearch进行扫描路径(我一般用dirsearch也可以使用其他的路径文件,建议平常多维护字典,字典好,信息收集会收集的更多,可能会有更多的惊喜,例如一些未授权访问等等)
4.根据现有信息已经确定是一个django的demo站点,根据已有信息去查找Nday,可以找到对应的POC
扫码回复“进群”加入交流群