測試檔案:
checksec**:
(1)拿到efl,首先要用checksec來檢測elf執行於哪個平台,開啟了什麼安全措施,如果用gcc的編譯後,缺省會開啟所有的安全措施。
relro:relro會有partial relro和full relro,如果開啟full relro,意味著我們無法修改got表
stack:如果棧中開啟canary found,那麼就不能用直接用溢位的方法覆蓋棧中返回位址,而且要通過改寫指標與區域性變數、leak canary、overwrite canary的方法來繞過
nx:nx enabled如果這個保護開啟就是意味著棧中資料沒有執行許可權,以前的經常用的call esp或者jmp esp的方法就不能使用,但是可以利用rop這種方法繞過
pie:pie enabled如果程式開啟這個位址隨機化選項就意味著程式每次執行的時候位址都會變化,而如果沒有開pie的話那麼no pie (0x400000),括號內的資料就是程式的基位址
fortify:fortify_source機制對格式化字串有兩個限制(1)包含%n的格式化字串不能位於程式記憶體中的可寫位址。(2)當使用位置引數時,必須使用範圍內的所有引數。所以如果要使用%7$x,你必須同時使用1,2,3,4,5和6。
獲得資訊:
64位檔案
未開啟canary
__int64 __fastcall main(__int64 a1, char **a2, char **a3)接著看下unk_601068和dword_60106c變數
我們能夠利用unk_601068的讀取資料,來讓資料溢位到dword_60106c,給dword_60106c賦值為0x6e756161,從而得到flag
攻防世界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...