有了第一个就会有之后的很多很多个吧

ssh col@pwnable.kr -p2222 (pw:guest)之后,发现跟上一个题的套路差不太多

看到了三个文件col,col.c和flag,flag没法直接打开,需要去看程序

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相关推荐

  1. Pwnable之[Toddler's Bottle](一)

    Pwnable之[Toddler's Bottle] Pwn挑战地址 1.fd #include <stdio.h> #include <stdlib.h> #include ...

  2. Pwnable之[Toddler's Bottle](三)--unlink

    Pwnable之[Toddler's Bottle](三)–unlink 提示:how can I exploit unlink corruption 我该怎么利用断腐败??? 其实就是如何利用chu ...

  3. Pwnable之[Toddler's Bottle](三)--memcpy

    Pwnable之[Toddler's Bottle](三)–memcpy 提示是: Are you tired of hacking?, take some rest here. Just help ...

  4. Pwnable之[Toddler's Bottle](三)--UAF

    Pwnable之[Toddler's Bottle]–UAF UAF,use-after-free 顾名思义,就是释放过内存的重利用. 根据操作系统里的内存分配就知道,当分配给的一个代码释放后,如果再 ...

  5. Pwnable之[Toddler's Bottle](三)--asm

    Pwnable之[Toddler's Bottle](三)–ASM 提示:我觉得一个黑客应该知道怎么做shellcode 查看代码asm.c的代码 #include <stdio.h> # ...

  6. Pwnable之[Toddler's Bottle](二)

    Pwnable之[Toddler's Bottle](2) Pwn挑战地址 11.coin1 nc 连上. 要你玩一个游戏,游戏的规则是: 你手里拿了几枚金币. 然而,其中有一枚假币. 假币和真币一模 ...

  7. pwnable 笔记 Toddler's Bottle - passcode

    注: 这题涉及到了GOT覆写技术,我更新了一篇讲GOT覆写的文章,以这道题做的例子,讲的比较详细,大家可以参考一下: http://blog.csdn.net/smalosnail/article/d ...

  8. pwnable.rk [Toddler‘s Bottle]  5、passcode 详细过程

    最近在学习pwn,做到这个题搜了一些资料,弄了挺长时间,记录一下. passcode.c代码如下: #include <stdio.h> #include <stdlib.h> ...

  9. pwnable.kr之Toddler‘s Bottle前八题知识点记录

    pwn刷题网站地址(点击直达): http://pwnable.kr/play.php 文章目录 第一题 fd 第二题:collision 1.首先是char和int数据类型的转换 2.python实 ...

最新文章

  1. Jquery各版本下载,附Jquery官网下载方法
  2. python文件输出-Python 文件和输入输出小结
  3. oracle 显示最后几条,oracle 先分组后获取每组最大值的该条全部信息
  4. Hive 常见问题与技巧【Updating】
  5. [Java] Java常见错误
  6. 《OSPF网络设计解决方案(第2版)》一第2章 介绍OSPF
  7. 命名管道(FIFO) Linux进程进程间的通信之命名管道(FIFO)
  8. 机器学习基础算法26-聚类理论
  9. 【有手就行】电脑蓝屏恶搞(附带一键复原方法)
  10. 【指纹识别】基于模板匹配算法实现教室指纹打卡系统含Matlab源码
  11. 君正X1000开发板/方案开发介绍
  12. 2020厦大计算机专硕分数,2020考研初试,你得考多少分才能上厦大?
  13. 怎么在电脑中更新statsmodels.stats. diagnostic
  14. php什么框架,php快速开发用什么框架
  15. 【Linux】实用文件指令
  16. 王牌流量爆刷器 流量提升工具 网站刷新 增加浏览量 王牌软件
  17. Linux安装后连不上网络
  18. 杂志停刊通知计算机光盘,国家级计算机期刊《计算机光盘软件与应用》约稿
  19. Robot Framework--05 案例设计之流程与数据分离
  20. Django框架实现可运营电商网站(一)-- 后台部分

热门文章

  1. 如何用超扫描研究亲子互动?
  2. typescript中设置别名paths
  3. ubuntu获取root权限_华硕ROG3游戏手机3开放解锁BL-支持获取root权限刷机操作
  4. freecel 空档接龙 算法
  5. 前端的异步流程 (吃鸡王牌 农药王者 )
  6. easyUI之datagrid(数据表格)使用
  7. 常见的Web攻击手段,拿捏了!
  8. mac 更换java jdk版本
  9. 无盲区、长续航|公专融合对讲机如何提升酒店服务效率?
  10. Linux网络SSH协议和TCP Wrappers