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

  • 相关阅读:
    java学习笔记——基于Robot类的屏幕分享
    Java实例——基于jsoup的简单爬虫实现(从智联获取工作信息)
    Java实例练习——基于UDP协议的多客户端通信
    java实例练习——基于TCP/IP协议的多客户端通信
    我个人的Java学习经验(一家之言)
    PHP mac localhost 环境下发送邮件
    php ob_start()、ob_end_flush和ob_end_clean()多级缓冲
    php ob_start()、ob_end_flush和ob_end_clean()多级缓冲
    程序员应该知道的13个设计技巧
    程序员应该知道的13个设计技巧
  • 原文地址:https://www.cnblogs.com/WangAoBo/p/6376082.html
Copyright © 2011-2022 走看看