pwnable_simple_login
分析
输入在base64
解码之后长度必须小于 12 ,在 auth
函数中存在 memcpy
可以在解码后长度为 12 的时候覆盖 ebp
,实现栈迁移

1 | leave == mov esp,ebp pop ebp |


栈迁移到 input
之后 main
函数的返回地址在 input+4
处,因此可以控制返回地址执行 system("/bin/sh")
exp
1 | #coding:utf8 |
pwnable_simple_login