zoukankan      html  css  js  c++  java
  • pwnable.kr-random-Writeup

    MarkdownPad Document

    pwnable.kr-random-Writeup

    • 与前几题套路相同,ssh远程登录,ls -l查看文件及权限,cat获得C代码如下:
     1 #include <stdio.h>
     2 
     3 int main(){
     4     unsigned int random;
     5     random = rand();    // random value!
     6 
     7     unsigned int key=0;
     8     scanf("%d", &key);
     9 
    10     if( (key ^ random) == 0xdeadbeef ){
    11         printf("Good!
    ");
    12         system("/bin/cat flag");
    13         return 0;
    14     }
    15 
    16     printf("Wrong, maybe you should try 2^32 cases.
    ");
    17     return 0;
    18 }
    • 查看random()函数时有这样的描述:

    • 即该函数每次产生的随机值均为定值,自己写一个类似的程序可以得到此时产生的随机值为1804289383

    • 根据代码流程,1804289383 ^ 0xdeadbeef即可得到要输入的key值为3039230856,则可得到flag为 Mommy, I thought libc random is unpredictable...

    2017-2-7 22:01;32

  • 相关阅读:
    定时器中断彩灯控制程序
    单片机C51 8位流水灯
    十进制转换2-9进制转换
    加减乘除+菜单实现
    文件 I/O缓冲流
    文件 I/O字符流
    spring配置c3p0连接池
    javax.swing.Timer的与Lambda的使用
    代码简化之道--接口之从传统实现到Lambda表达式实现
    Java核心技术第六章--内部类
  • 原文地址:https://www.cnblogs.com/WangAoBo/p/6376082.html
Copyright © 2011-2022 走看看