【pwnable.kr】horcruxes - 伏地魔的7个魂器 gets栈溢出 截断 atoi转化
本关信息
伏地魔吧自己分裂的灵魂藏在了7哥魂器中…这个描述666。本关要求我们找到所有的魂器然后ROP似乎就可以拿flag了。本关没有给源码,上IDA分析吧。本地运行前安装32位libseccomp库,apt-get install libseccomp-dev:i386
。
init初始化abcdefg7个int值,保存在bss段,并计算sum。abcdefg的值生成时使用随机数做为种子再调用rand函数生成,因此随机不可预测。
ropme函数输入abcdefg的值,就可以调用相应的打印函数。gets函数输入sum的值就可以进入输出flag的流程。由于gets存在栈溢出,因此可以劫持返回地址。
利用思路很简单,劫持返回地址跳转输出abcdefg的值,就可以计算sum,之后把sum转化成字符串后输入给atoi即可。
注意有几个坑点:
- gets函数遇到a newline character比如\x0a就会截断(遇到\x00 \t不会截断,gets可以读入),ropme函数起始地址是0x080A0009,不能直接跳转到ropme函数中执行代码。可以直接跳到ABCDEFG函数里面获取abcdefg的值。
- atoi函数将int转化为字符串,如果数字超过int范围转化失败返回-1。
此外,由于0xa不能输入,find查看了stack中是有0x080a的值的,如果栈溢出溢出低位几个字节为打印flag的低位,再rop到该处应该也可以直接读flag。
exp
【pwnable.kr】horcruxes - 伏地魔的7个魂器 gets栈溢出 截断 atoi转化相关推荐
- PWN horcruxes [pwnable.kr]CTF writeup题解系列15
题目内容: 先连接上去看看题目文件,看起来已经说了是一道rop的题目 root@mypwn:/ctf/work/pwnable.kr# ssh horcruxes@pwnable.kr -p2222 ...
- pwnable.kr 简单题目详细笔记汇总
文章目录 fd collision bof flag passcode random input leg mistake shellshock coin1 lotto cmd1 cmd2 uaf bl ...
- pwnable.kr lotto题解
ssh lotto@pwnable.kr -p2222 (pw:guest) 题目源码: #include <stdio.h> #include <stdlib.h> #inc ...
- 简单易懂的 pwnable.kr 第六题[random]Writeupt
简单易懂的 pwnable.kr 第六题[random]Writeupt 题目地址: http://pwnable.kr/play.php 题目: peak小知识 异或^ 据有如下几种性质: 2. 恒 ...
- 简单易懂的 pwnable.kr 第三题[bof]Writeupt
简单易懂的 pwnable.kr 第三题[bof]Writeupt 题目地址:http://pwnable.kr/play.php 点开题目发现: 他给了提示覆盖,并且给了两个网址.分别打开,第一个给 ...
- 简单易懂的 pwnable.kr 第二题[collision]Writeupt
简单易懂的 pwnable.kr 第二题[collision]Writeupt 题目地址:http://pwnable.kr/play.php 题目如下: 和第一题一样,题目给了我们一个ssh远程登录 ...
- 简单易懂的 pwnable.kr 第一题[fd]Writeupt
简单易懂的 pwnable.kr 第一题[fd]Writeupt 题目地址http://pwnable.kr/play.php 题目 题目中给出了ssh远程登录的地址以及登录密码我们先连接,输入密码: ...
- 【pwnable.kr】passcode
pwnable从入门到放弃,第六题. ssh passcode@pwnable.kr -p2222 (pw:guest) 完全是'&'的锅. #include <stdio.h> ...
- pwnable.kr passcode
题目来自pwnable.kr 里面的思路是通过学习别人的文章获得的,作为个人的学习记录一下 题目是这样的 passcode SSH连接一下 看看有什么文件 可以看到有三个文件,其中 flag 只对创建 ...
- pwnable kr 之 passcode
http://pwnable.kr/playproc.php?no=18 首先,需要对got表的一个基础认识 这里对got表和plt表进行一个简单的介绍 https://blog.csdn.net/q ...
最新文章
- 网络信息安全之防火墙技术(一)
- (5.1.5)引擎管理——多服务器管理之中央管理服务器(CMS)
- 算法导论之用于不相交集合的数据结构
- java最长公共子序列_技术分享 | 最长公共子序列在比对工具的应用
- mac 怎么创建php文件夹权限设置密码,Mac文件权限管理(shell命令)
- 【面试题】 迅雷2014校园招聘笔试题
- 这本零差评且有趣的Python算法书有点火~
- vim-录制命令的使用
- 自定义自己的博客园博客首页
- 字符集及其存储方式(解决乱码问题)
- 在linux中安装字体
- 【Opencontrail】opencontrail对接k8s
- androidnbsp;网络联接nbsp;CMWAPnbsp;CTWAP
- Python茅台抢购脚本详细教程
- linux注销登录用户
- LeetCode 831. Masking Personal Information【字符串,正则表达式】中等
- 云服务器上部署仿牛客网项目
- Kitty用HTML和css咋做,使用 CSS3 绘制 Hello Kitty
- jQuery——遍历
- 将英文kali改成中文kali