RE May 22, 2020

smc加密研究

Words count 4.8k Reading time 4 mins.

一、smc的概念

所谓SMC(Self Modifying Code)技术,就是一种将可执行文件中的代码或数据进行加密,防止别人使用逆向工程工具(比如一些常见的反汇编工具)对程序进行静态分析的方法,只有...

Read article

兴趣研究 May 13, 2020

angr的学习与使用探究

Words count 6.4k Reading time 6 mins.

一、什么是angr?

angr 是一个功能强大的二进制程序分析框架,可用于程序的静态分析和动态符号执行。支持 x86、ARM、MIPS 和 PPC 架构中 32 bit 和 64 bit 可执行程序的分析,是一款非常强大的python库。

二、angr怎么安装?

1、安装 virtualenvwrapper

virtualenv 是一个可以在同一台计算机中隔离多个 Python 环境的工具。它能够用于创建独立的 Python 环境,使得多个 Python 环境互不影响。virtualenvwrapper...

Read article

CTF比赛 January 03, 2020

强网杯二进制部分wp

Words count 68k Reading time 1:02

1、task_main(强网先锋)

分析算法可知是base64加密:

提取字符,’ZmxhZ3ttYWZha3VhaWxhaXFpYW5kYW9ifQ==’

直接在线解密:

1
flag{mafakuailaiqiandaob}

2、JustRe:

进入主逻辑,分析程序:

这里可知道有2关,先看第一关:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48...
Read article

CTF比赛 January 03, 2020

湖湘杯CTF二进制部分wp

Words count 32k Reading time 29 mins.

一、Pwn

1、HackNote | solved

这题什么保护也没有开,分析程序发现是常见的菜单题:

![57371788851](/blog_img/1573717888513.png)
漏洞点在于edit函数:
  ![img](/blog_img/1573717896780.png)

会计算输入的字符个数作为下一次edit的size,这里只要申请时0xx8形式的大小,这样就会连着下一个chunk的size,因为计算时看0截断的,也就是说size会被算进去,实现offbyone的漏洞,就可以利用...

Read article

CTF比赛 January 03, 2020

红帽杯CTF线上赛二进制部分wp

Words count 64k Reading time 59 mins.

一、Pwn

1、three | solved

这题看到程序输入3字节后有个call指令,可以执行命令:

所以填入机器码,利用mov指令跳转到ecx寄存器(rcx正好有我们后面的输入的bss的地址),就可跳到bss地址执行我们的静态ropchain,直接getshell~

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61...
Read article

CTF比赛 January 03, 2020

SUCTF二进制部分wp

Words count 28k Reading time 25 mins.

前言

这场比赛打了2天,学到了东西,在这里做下总结,方便后续学习。

一、Pwn方向

1、playfmt

这次的pwn题很不友好,只有这题能做,菜鸡Orz,先检查保护机制:

got表不可改,堆栈不可执行,看名字知道是格式化字符串漏洞的题目~ida分析一波:

可以看到申请了堆块去存放flag的内容,然后进去logo函数的do_fmt函数,里面有格式化字符串漏洞:

漏洞点就是格式化字符串,这里能读入0xc8字节,而且是个死循环,除非你输入quit手动退出,很明显了,但是buf不是栈,是bss段地址,也...

Read article

CTF比赛 January 03, 2020

上海市大学生信息安全竞赛

Words count 60k Reading time 55 mins.

一、Pwn

1、login

先看保护机制:

除了pie,其他保护全开,这题因为pie是关的,但是做太多保护全开的题目,下意识已经觉得堆的地址是变的了,但是堆地址是不变的,所以饶了下弯路才走出来,下面进入正题:

熟悉的菜单堆题,这里漏洞点主要在于free函数,有个UAF的漏洞,还有在login时可以打印出密码,这里应该是泄露地址的地方

但是按照一般的方式去unsorted bin的attack不行,这里利用pie关闭,可以采用爆破的方式去泄露地址,一个字节一个字节地去泄露,从而得到libc_base...

Read article

RE January 03, 2020

VM下的RE和PWN学习

Words count 656k Reading time 9:56

一、前言

前段时间一直碰到vm的pwn题,之前打re也是,遇到就懵,所以花时间好好整理下这部分知识点。

二、VM下的逆向

首先需要搞清楚的是,vm是一种逻辑,就是自己实现一个小型的虚拟机来实现简单的操作,有点自己开发计算机的感觉。

下面一步步讲解下最重要的内容:

1、register

1
2
3
4
5
6
7
enum regist
{
R1 = 0xe1,
R2 = 0xe2,
R3 = 0xe3,
R4 = 0xe5,
};

这是我们虚拟机的寄存器,想要的数量和类型可以自己设置,这里我们枚举...

Read article
0%