「 PWN 」 January 03, 2020
IO_FILE探索
Words count 81k Reading time 1:13
一、IO_File结构体一览
首先看一波源码:
1 | struct _IO_FILE { |
「 PWN 」 January 03, 2020
Words count 81k Reading time 1:13
首先看一波源码:
1 | struct... |
「 PWN 」 January 03, 2020
Words count 81k Reading time 1:13
首先看一波源码:
1 | struct _IO_FILE { |
「 密码学 」 January 03, 2020
Words count 111k Reading time 1:41
md5的输入是512位的倍数,输出是128位,首先填充消息,使其长度为与448 mod 512同余,即长度是512的倍数减去64,填充的消息第一位是1,后面全部都是0,即使原来的消息长度刚好与448 mod 512同余(64),仍然需要填充,即使原来的消息长度刚好是512的整数倍,仍需要填充。
再将这剩余的64位填充为原来消息的长度(二进制),如果原来的消息长度大于64位,则只填充低64位,之后的序列长度就是512的倍数了,这里每一个512位称为一个分组,又...
Read article「 RE 」 January 03, 2020
Words count 8.9k Reading time 8 mins.
题目链接:https://pan.baidu.com/s/1p3s_RpW_fO_CUWXriFGuAQ
提取码:4lvd
(提示:给出的这道题是我脱壳后的,因为没有及时保存原题,抱歉,不过是简单的UXP壳,大家直接用工具去脱也是可以的,所以相信大家没毛病)
这题是当时打南宁杯时的题目,拿到题目一起分析下:
1、首先用PEID查壳,发现是UXP壳,直接用工具脱壳,我的工具如下(这一步相信都没问题的):
2、脱完壳,拖进OD,看看情况:
要求输入flag
3、接着拖进ida看...
「 PWN 」 January 03, 2020
Words count 36k Reading time 33 mins.
这题感觉挺有意思的 ,思路清晰了,但是过程煎熬了,下面记录下自己经历的事和学到的东西。
保护全开,就不说了直接看看ida:
3个功能,一个malloc、一个free、一个write函数,这里先看下malloc函数:
先申请一个0x10的没用的块用来隔开堆块,再申请不超过0xff的堆块去写内容,然后每一次malloc,num就会加一,这里只能malloc10次,超了就没了,接着看下free函数:
很明显的UAF漏洞,然后只free那个自己申请的内容块,0x10的堆块作为标志...
Read article「 PWN 」 January 03, 2020
Words count 71k Reading time 1:04
这篇博客专门讲shellcode的系列,也作为一个复习内容吧,主要针对的是,各种情况下的绕过shellcode检测:
首先是shellcode的生成,一般2种途径:工具+手撕
这里优先推荐手撕,不然你就是脚本小子,遇到难一点的检测机制,还是会绕不过,从最简单的开始:
32位下:
1、找准寄存器,确定系统调用的对应值
eax、ebx、ecx、edx (对应的是系统调用号+3个参数)
2、execve(“/bin/sh”,0, 0)的情况:
1 |
「 密码学 」 January 03, 2020
Words count 23k Reading time 21 mins.
在打0CTF时看到了RSA的那题,但是不会做,于是先学习一波RSA吧,算做入门,自己也喜欢数学,正好积累下,RSA是非对称加密,相对于DES对称加密而言的,下面进去正题。
如果两个正整数a和n互质,则n的欧拉函数 φ(n) 可以让下面的等式成立:
这是个很重要的公式,先来理解下,首先n = pq(q和p互为质数),欧拉函数 φ(p) = p-1(表示与p互质的数的个数为p-1个,下同), φ(q) = q-1,所以 得到
「 CTF比赛 」 January 03, 2020
Words count 28k Reading time 25 mins.
这次的pwn题很不友好,只有这题能做,菜鸡Orz,先检查保护机制:
got表不可改,堆栈不可执行,看名字知道是格式化字符串漏洞的题目~ida分析一波:
可以看到申请了堆块去存放flag的内容,然后进去logo函数的do_fmt函数,里面有格式化字符串漏洞:
漏洞点就是格式化字符串,这里能读入0xc8字节,而且是个死循环,除非你输入quit手动退出,很明显了,但是buf不是栈,是bss段地址,也...
Read article「 PWN 」 January 03, 2020
Words count 24k Reading time 22 mins.
师傅们说去做做TAMUCTF的题目,积累经验,于是去尝试了一波,才发现真的是有些地方自己不懂的知识盲区,也作为一个积累吧,在这里记录
首先看看题目先
有栈溢出的漏洞,其他的保护全开,拖进ida分析一波:
逻辑很清晰了,前面的几个strcmp可以直接逆向思维,把正确的答案写到payload中,最后一步直接覆盖那个数v5为目标值即可:于是可以写出payload:
1 |
「 密码学 」 January 03, 2020
Words count 47k Reading time 43 mins.
先来看一波C语言实现的代码,通过代码学习更快理解原理:
1 |
|
「 PWN 」 January 03, 2020
Words count 40k Reading time 36 mins.
先checksec下:
保护全开,ida分析一波:
1 | void __fastcall __noreturn main(__int64 a1, char **a2, char **a3) |