这一系列文章为pwnable.krToddlr’s Bottle的全部题解,其中有三道题目相对而言稍难或者说比较经典,单独成篇,其他题目的题解放在一起发出来。
0x02fd
Ssh连接
看一下目录
我们需要执行flag,或者查看flag的内容
看题目的提示就知道这题和文件描述符有关
看看源码
在代码中我们可以看到要通过strcmp()比较后会输出
查看strcmp的用法
可知,strcmp()中,若参数s1和s2字符串相同则返回0,s1大于s2则返回大于0的值,s1小于s2则返回小于0的值。
代码中要cat flag执行的话if语句应满足strcmp返回0,即buf的内容应为LETMEWIN
那么buf的值哪来的呢
man read可知
buffer的值由read控制,从fd读入count个字节内容
fd在代码中的值为atoi(argv[1])-0x1234
atoi()用于把字符串转换为整数
由linux下文件描述符可知(源码在/usr/include/unistd.h)
即文件描述符0表示标准输入,也就是我们可以从命令行中控制的。
Atoi接收的参数我们可以控制,只要令argv[1]为0x1234(argv[0]为程序名称,argv[1]为输入参数),0x1234十进制为4660,经过运算最后赋值给fd的就是0,然后再传入read(),由于fd为0,所以我们在命令行中输入什么,则在buffer中写入的就是什么,只要输入LETMEWIN就可以了
分析完毕,接下来测试一下
通过,logout关闭ssh连接
0x02collision
看题目描述应和哈希碰撞相关
看看源代码
在main()中看到传入的argv[1]需要满足条件:
长度为20字节,传给check_password后的返回值为硬编码的0x21dd09ec
那么我们需要来看一下check_password的逻辑
可以看到传参为char型指针,在逻辑中被强制类型转换为int型指针
从大小的角度来看即1字节转换为4字节,一共20字节,20/4=5,刚好对应for循环里的5次,for循环是做了个累加的操作,即累加和等于0x21DD09EC即可
emmm简单理解,就是说输入20字节,每4字节一组,共5组,5组相加后等于0x21dd09ec即可。
这就很简单了
我设16个字节为0x1,那么另外的4字节应为差值0x1dd905e8,又因为小端序,所以写的时候倒过来写即可,如下所示
0x03bof
根据题目描述这是一道缓冲区溢出的题目
下载bof及其代码
看看源码
看到main中调用了func,传参为0xdeadbeef
而func()中可以看到需要传参为0xcafebabe才可以getshell
我们注意到func中我们可以通过gets控制输入,gets像本题的这种用法是非常危险的,容易造成缓冲区溢出攻击,这次我们就来pwn掉它
我们尝试输入写字符看看
那么基本的思路有了,就是找到确定的偏移,然后使用0xcafebabe覆盖0xdeadbeef。
偏移是多少呢
配合gdb来看看
在main下断点
输入r启动
在断点处停下了
我们反汇编func看看比较key和0xcafebabe指令在哪儿
看到上图的红框中的cmp指令了,这就是关键
可以看到地址是0x56555654
在这里下个断点
按c继续执行
命中第二个断点后,我们来看看栈的布局
可以看到0xdeadbeef在0xffffd330,而我们输入的A是从0xffffd2fc开始
emmm,数一下,从最开始的0x41到0xdeadbeef之前查了13*4=52个字节,在53-56处写入0xcafebabe覆盖掉原有的0xdeadbeef即可
编写pwntools脚本
测试如图,打回了一个shell
本文由()发布,不代表立场,转载联系作者并注明出处:
轻薄笔记本产品在去年全面升级到了英特尔第八代酷睿处理器,轻薄笔记本在四核八线程的强大规格加持下获得了性能上的飞跃,应对各类日常与办公环境的性能需要都显得游刃有余。但是当我们具体到产品选购方面,即使产品...
一、QQ接单黑客接单流程 1、找黑客方法许多公司和政府机构已经邀请黑客测试系统的安全,甚至要求他们设计新的安全程序。QQ接单免费盗号网站AdriamoAdriamonLamo一年在灰色帽子里。他于19...
中新网11月13日电 据美国广播公司(ABC)报道,在第一批恢复加勒比海航行的邮轮中,一艘名为“海梦1号”的邮轮上出现新冠肺炎疫情,至少5名乘客确诊感染。 据报道,“海梦1号”所属邮轮公司“...
本文导读目录: 1、为什么黑客帝国3要叫做矩阵革命呢?剧情跟矩阵有关系吗? 2、黑客帝国的剧情问题?? 3、对《黑客帝国》的一些疑问(黑迷进) 4、黑客帝国中的"矩阵"是什么?为什么在尼欧...
又一微信新型诈骗突然"崛起",很多人资金被盗,赶快告诉家人! 无论是微信还是支付宝,现在在我们的生活当中都发挥了重要的作用,我们很喜欢将自己的资金存在上面,一方面使用比较方便,如果是想买一些小的东西的...
鼠标连点器是一款可以自动大量点击鼠标左键或右键的小工具。这款鼠标连点器在任何的软件和游戏都能用,应用场景最多的是游戏玩家。在游戏中玩家会在这款小工具的试用下,体验到不一样的乐趣。经过小刀实测,...