[Toddler's Bottle]-collision
有了第一个就会有之后的很多很多个吧
ssh col@pwnable.kr -p2222 (pw:guest)之后,发现跟上一个题的套路差不太多
cat col.c查看源码:发现有一个套路差不多:argc<2的判断在第一题已经会了
另外,有了一个strlen的限制,长度必须是20位
想要拿到flag,就必须懂check_password这个函数
于是就拿着运行跑一次
./col ABCDEFGHIJKLMNOPQRST
说好的是20个不然退出了
按ASCII码的顺序写入是为了便于判断
看到了wrong passcode,说明分析得正确
于是,把源码复制出来
在check_password()函数中,把所有的中间变量值输出
同样的输入可以看到:
1145258561……
看到这个很明显是10进制数,转成16进制会有惊人发现:hex(1145258561)=0x44434241
就是ASCII码哦!
那么可以看到:现在的问题就是把20个字符分成五组每个四个字符
使得A1B1C1D1+A2B2C2D2+A3B3C3D3+A4B4C4D4=hashcode=0x21DD09EC
所以这个题肯定是多解的,从算法的角度来说找一组就可以
先算末尾,0xEC=236要分成5份就不可显示了,所以要用0x1EC=492
492=5*98+2=3*98+2*99,所以呢,知道了写3个b和2个c
注意,0x1EC借走1位,所以下一组用这种方法计算应该得到的是0x08,同理不够分,再往上借
到了0x21呢,可以无数次借不用还,因为最高位自动溢出了不用管
注意!计算完了之后,需要看填写的顺序。
我们在输入ABCD的时候,显示的是0x44434241
有个分组和逆序的关系
提供一组可以看到flag的解:bhambhambhamchamchWl
想得到flag的话,自己去算一组其他的解吧
[Toddler's Bottle]-collision相关推荐
- Pwnable之[Toddler's Bottle](一)
Pwnable之[Toddler's Bottle] Pwn挑战地址 1.fd #include <stdio.h> #include <stdlib.h> #include ...
- Pwnable之[Toddler's Bottle](三)--unlink
Pwnable之[Toddler's Bottle](三)–unlink 提示:how can I exploit unlink corruption 我该怎么利用断腐败??? 其实就是如何利用chu ...
- Pwnable之[Toddler's Bottle](三)--memcpy
Pwnable之[Toddler's Bottle](三)–memcpy 提示是: Are you tired of hacking?, take some rest here. Just help ...
- Pwnable之[Toddler's Bottle](三)--UAF
Pwnable之[Toddler's Bottle]–UAF UAF,use-after-free 顾名思义,就是释放过内存的重利用. 根据操作系统里的内存分配就知道,当分配给的一个代码释放后,如果再 ...
- Pwnable之[Toddler's Bottle](三)--asm
Pwnable之[Toddler's Bottle](三)–ASM 提示:我觉得一个黑客应该知道怎么做shellcode 查看代码asm.c的代码 #include <stdio.h> # ...
- Pwnable之[Toddler's Bottle](二)
Pwnable之[Toddler's Bottle](2) Pwn挑战地址 11.coin1 nc 连上. 要你玩一个游戏,游戏的规则是: 你手里拿了几枚金币. 然而,其中有一枚假币. 假币和真币一模 ...
- pwnable 笔记 Toddler's Bottle - passcode
注: 这题涉及到了GOT覆写技术,我更新了一篇讲GOT覆写的文章,以这道题做的例子,讲的比较详细,大家可以参考一下: http://blog.csdn.net/smalosnail/article/d ...
- pwnable.rk [Toddler‘s Bottle] 5、passcode 详细过程
最近在学习pwn,做到这个题搜了一些资料,弄了挺长时间,记录一下. passcode.c代码如下: #include <stdio.h> #include <stdlib.h> ...
- pwnable.kr之Toddler‘s Bottle前八题知识点记录
pwn刷题网站地址(点击直达): http://pwnable.kr/play.php 文章目录 第一题 fd 第二题:collision 1.首先是char和int数据类型的转换 2.python实 ...
最新文章
- Jquery各版本下载,附Jquery官网下载方法
- python文件输出-Python 文件和输入输出小结
- oracle 显示最后几条,oracle 先分组后获取每组最大值的该条全部信息
- Hive 常见问题与技巧【Updating】
- [Java] Java常见错误
- 《OSPF网络设计解决方案(第2版)》一第2章 介绍OSPF
- 命名管道(FIFO) Linux进程进程间的通信之命名管道(FIFO)
- 机器学习基础算法26-聚类理论
- 【有手就行】电脑蓝屏恶搞(附带一键复原方法)
- 【指纹识别】基于模板匹配算法实现教室指纹打卡系统含Matlab源码
- 君正X1000开发板/方案开发介绍
- 2020厦大计算机专硕分数,2020考研初试,你得考多少分才能上厦大?
- 怎么在电脑中更新statsmodels.stats. diagnostic
- php什么框架,php快速开发用什么框架
- 【Linux】实用文件指令
- 王牌流量爆刷器 流量提升工具 网站刷新 增加浏览量 王牌软件
- Linux安装后连不上网络
- 杂志停刊通知计算机光盘,国家级计算机期刊《计算机光盘软件与应用》约稿
- Robot Framework--05 案例设计之流程与数据分离
- Django框架实现可运营电商网站(一)-- 后台部分