Pwnable.kr simple login

在这里插入图片描述程序的逻辑是,首先输入s,最大三十个字节(这里没有溢出),然后base64解密,解密后的明文存在v4,长度存在v6,
后面判断v6不能大于12,判断成功后将v4复制到input变量,,之后进入auth函数

在这里插入图片描述
auth函数第一句的memcpy感觉就很突兀,把input复制给v4(这是autn里的v4),后面根本没有用到v4,从这个角度看这句话应该也有点问题,,,
因为前面判断了,所以input里面的内容长度不会大于12,最多十二,而v4在栈里面的位置也是,十二字节以后就是auth函数返回地址

在这里插入图片描述
这是v4的12个字节,我输入了123456的base64编码,他是这么存放的


之前没有遇到过这样的,都是控制返回地址,这次没法覆盖返回地址,可以控制esp和ebp

首先之前没有很好理解leave和ret两个汇编代码

leave:
mov esp,ebp
pop ebp

ret: pop eip

在这里插入图片描述

这样布置栈的话,就会跳到system函数,
但是对方机器肯定开启了aslr,所以堆栈地址是随机的,就把上面画的指针指向input就行了,input和v4是一样的

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值