CTF-ECHO-200格式化字符串漏洞+shellcode

本文介绍了如何利用CTF比赛中的一道格式化字符串漏洞题目,通过分析栈保护、非执行堆栈(NX)状态,利用shellcode实现攻击。通过调试发现可以通过16字节的限制来泄露栈地址,并进一步扩大利用空间。文章还补充了调试过程中可能遇到的难点,包括栈地址泄露方法、跳出循环的技巧以及如何组织栈内容。
摘要由CSDN通过智能技术生成

很开心有成功做了一道格式化字符串,这题我也不清楚是哪次比赛上的,漏洞还是十分的明显,格式化加个shellcode直接搞定。就是这算的比较麻烦一点。
那么直接进入正题咯!
开干!!
首先拿checksec检查一遍(个人习惯哈)
这里写图片描述
可以看到,开了栈保护,但是NX disabled,说明堆栈可执行,直接上shellcode,也没有PIE。
先试试水。
这里写图片描述
应该有格式化漏洞。
IDA反汇编。
这里写图片描述
格式化字符串漏洞不要太明显了呢。但是我们一次只能写入16个字节,这咋写shellcode丫。调试的时候发现。
这里写图片描述
BFCBB324的值是由BFCBB330传来的,而且BFCBB350在整个循环中没有改变,那我们就可以先通过16字节泄露出一个地址,从而来确定栈的相对位置,在来更改BFCBB330的值,从而获取更大的漏洞的利用空间,

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值