HacKerQWQ的博客空间

宽字节注入+curl读取文件+Django框架漏洞的组合拳

Word count: 268Reading time: 1 min
2020/08/19 Share

攻防世界-CAT

首先看到的是一个输入域名(怀疑命令注入)的地方

然后输入经典127.0.0.1试试

果然是ping命令的,但是& && | ;都不行

模糊测试

发现没有其他都过滤了,但是这几个没有过滤

@-./

然后试试sql的字典FUZZ一下

宽字节看起来跟其他的不同,将response的代码复制到本地打开看看

得到一个报错网页

解题

RTFM of PHP CURL===>>read the fuck manul of PHP CURL???

官方提示,然后找到对应的语法,结合之前没有过滤@,我们就可以读取任意文件

从网上找到的wp中说Django中的项目位置下面有一个settings.py文件,打开看看(项目位置可以上从面的报错网页找到)

同时,打开database文件看看,第一个报错页面里面也有路径/opt/api/database.sqlite3

找到flag

小结

  • 宽字节注入
  • curl的@+文件名做本地文件读取
  • Django框架文档说明的读取
CATALOG
  1. 1. 攻防世界-CAT
  2. 2. 模糊测试
  3. 3. 解题
  4. 4. 小结