pwnable.kr 第二题 collision

Posted mouzaisi

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了pwnable.kr 第二题 collision相关的知识,希望对你有一定的参考价值。

题目地址

http://pwnable.kr/play.php

首先登录查看文件

技术图片

分析代码,目的输出flag

技术图片

显而易见,要让flag输出 就得让check_password这个函数返回一个0x21DD09EC

看提示可以得出要输一个20字节的字符

int占四个字节 char占一个字节 

check_password 转换时候将20个char 四个一组转为int并相加

技术图片

用python自带的计算机简单算一下 我们需要输入四个0x6c5cec8和一个0x6c5cecc

使用万能的python,尝试了多次终于得到了flag

技术图片

出现错误如下:

没有考虑小端存储

           小端存储:较低的有效字节存放在较低的存储器地址,较高的字节存放在较高的存储器地址;

            放在数组中 我的理解就是较小的数放在数组中靠前的位置也就是较低的存储器地址,较大的相反

            所以‘0x6C5CEC8‘要写成 ‘xC8xCExC5x06‘ 

还有就是构造python语句时要在前面加$() ,$是unix系统的命令行提示符

以上是关于pwnable.kr 第二题 collision的主要内容,如果未能解决你的问题,请参考以下文章

黑客练手入门| pwnable.kr—幼儿瓶—01:fd

pwnable.kr aeg

pwnable.kr codemap

pwnable.kr flag

pwnable.kr unlink

pwnable.kr之flag