[逆向学习笔记]上海全国大学生网络安全邀请赛-pluzz

0x00前言

这回上海大学生网络安全邀请赛就看了这题,实在是没空。不过这次我作为跑龙套的re手思路最清晰的一回了,值得记录下来。

[PWN]栈溢出-ROP学习笔记

ROP简介

面向返回编程(英语:Return-Oriented Programming,缩写:ROP)是计算机安全漏洞利用技术,该技术允许攻击者在安全防御(主要为NX, 堆栈不可执行保护)的情况下执行代码,如不可执行的内存和代码签名。攻击者控制堆栈调用以劫持程序控制流并执行针对性的机器语言指令序列(称为Gadgets)。 每一段gadget通常结束于return指令,并位于共享库代码中的子程序。

[逆向学习笔记]桂林电子科技大学“深信服杯”

0x0number_game

跟flag直接相关的就是这个函数。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
__int64 sub_400917()
{
unsigned int v1; // [rsp+0h] [rbp-10h]
signed int i; // [rsp+4h] [rbp-Ch]
signed int j; // [rsp+8h] [rbp-8h]
int k; // [rsp+Ch] [rbp-4h]

v1 = 1;
for ( i = 0; i <= 4; ++i )
{
for ( j = 0; j <= 4; ++j )
{
for ( k = j + 1; k <= 4; ++k )
{
if ( *(&unk_601060 + 5 * i + j) == *(&unk_601060 + 5 * i + k) )
v1 = 0;
if ( *(&unk_601060 + 5 * j + i) == *(&unk_601060 + 5 * k + i) )
v1 = 0;
}
}
}
return v1;
}
Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×