Stay hungry, Stay foolish.

整数溢出

文章内容参考来源:CTF-All-In-One 整数溢出 关于整数的异常情况主要有三种: 溢出 只有有符号数才会发生溢出。有符号数最高位表示符号,在两正或两负相加时,有可能改变符号位的值,产生溢出 溢出标志 OF 可检测有符号数的溢出 回绕 无符号数 0-1 时会变成最大的数,如 1 字节的无符号数会变为 255……

逆向工程基础

文章内容参考来源:CTF-All-In-One 从源代码到可执行文件 以下面简单代码为例: //hello.c #include <stdio.h> void main(int argc, char **argv) { printf("hello world\n"); } GCC在编译源码时,会直接生成一个可执行文件,但实际上这一过程可以具体分为四个步骤:预处理(Preprocessing)、编译(Compilation)、汇编(Assem……

WP for ctfzone-rand

这道题目主要考察伪随机数的安全问题。事实上,在许多web应用中都使用了随机数,但随机数的使用在很多时候并不安全,存在诸如伪随机、种子泄露等问题。 PHP源码分析 题目给出的php源码如下: <?php include('config.php'); session_set_cookie_params(300); session_start(); echo rand(); if (isset($_GET['go'])) { $_SESSION['rand'] = array(); $i = 5; $d = ''; while($i--){ $r = (string)rand(); $_SESSION['rand'][] = $r; $d .= $r; } echo md5($d); $_SESSION['secret'] = md5($d); } else if (isset($_GET['check'])) { if ($_GET['check'] === $_SESSION['rand']) { echo $flag; } else……

WP for ctfzone-simple-heartbleed

这道题目实际上是一道hticon的题目,原本题目的名称叫做leaking,而ctfzone改名叫做simple haertbleed,这也是有原因的,因为这道题目跟OpenSSL的著名漏洞Heartbleed有相似之处,是利用了缓冲区溢出的漏洞。 题目分析 题目直接给出了WEB服务器后……