
访问题目环境

1.1信息搜集

| Server | nginx/1.10.3 (Ubuntu) |
在输入框输入提示的域名loli.club发现没有响应,观察url

发现是get传参,在输入框中输入的数据会以get传参形式上传

当输入127.0.0.1本地回环地址时,出现回显信息,说明此输入框功能跟shell差不多。
尝试使用管道进行命令执行,输入 127.0.0.1 | ls,然而得到的回显是Invalid URL,127.0.0.1 | phpinfo 的执行结果也是 Invalid URL,看来命令执行时行不通了。

在 URL 的传参处?url=这里,我们传递个%79 发现传递之后变成了?url=w,看来是可以传递 url 编码,系统会接受并进行解析,于是我们传递%80 会出现报错,url 编码使用的是 16 进制,80 也就是 128,ASCII 码是从 0-127,所以这个时候会报错。
url 编码表可以参考
http://www.w3school.com.cn/tags/html_ref_urlencode.html

查看报错信息可以发现是一个python站,并且使用Django 框架
1.2解题
在比赛的时候有个提示:
RTFM of PHP CURL===>>read the fuck manul of PHP CURL???
是关于 php curl 的,然而最为菜鸡我当然还是不会的,看大佬们的操作是找到
了一个解题点:

并且在报错信息中找到datebase路径

payload:?url=@/opt/api/database.sqlite3

在回显中搜搜CTF或者flag等关键字

得到Flag: WHCTF{yoooo_Such_A_G00D_@}
