CSAW CTF 2015 PWN250

CSAW CTF 2015 PWN250

思路参考:
https://github.com/smokeleeteveryday/CTF_WRITEUPS/tree/master/2015/CSAWCTF/pwn/contacts
https://www.whitehatters.academy/csaw-2015-prequals-exploit-250-contacts/
http://geeksspeak.github.io/blog/2015/09/21/csaw-2015-pwn250-contacts/
这个题目和之前的freenote等题目比较相似,先把他主要的数据结构弄出来,这次感觉很奇怪,比赛的时候没有找到溢出点,完了扫了一眼国外的writeup一看就是到是格式化字符串,还是自己的意识没有上来,看到printf()里面没有跟格式化标志,就应该意识到这个问题的。
这里写图片描述
这里通过观察栈的分配可以知道%6 p p是ebp、返回地址的位置。这意味着什么呢?我们可以改写retn、返回后的esp的值,但是这个程序有NX,本来想找个可以写又可以执行的段写shllecode的,但是,日了狗,没有!官方也没有给libc阿,怎么做呢?碰运气行么,一般比赛都用同一个libc?
这里写图片描述
把栈放多点来看,发现了libc里面main函数retn的地址哦,算参数位置,第31个参数位置。远程试一试,看看有什么发现。发现retn的地址尾数位a63,用libc_database一找果然有!下面就好做了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值