buu easyfast —— fastbin attack 基础
引入
面对恐惧,开始啃堆,柿子挑软的捏
初分析
题目默认环境Ubuntu16.04,该系统默认使用libc2.23,建议使用docker环境
checksec
伪代码
- add
unsigned __int64 add_400916()
{
int v0; // eax
int v1; // ebx
char s[24]; // [rsp+10h] [rbp-30h] BYREF
unsigned __int64 v4; // [rsp+28h] [rbp-18h]
v4 = __readfsqword(0x28u);
if ( dword_6020BC <= 3 )
{
puts("size>");
fgets(s, 8, stdin);
v0 = atoi(s);
if ( v0 && (unsigned __int64)v0 <= 0x78 )
{
v1 = dword_6020BC++;
*(&buf + v1) = malloc(v0);
}
else
{
puts