- 博客(4)
- 收藏
- 关注
原创 buuctf——[第五空间2019 决赛]PWN51 利用格式化字符串漏
首先,我们在终端上输入 ./pwn,然后利用AAAA %x %x %x %x %x %x %x %x %x %x %x %x %x的形式来计算偏移量:可以数出0x41414141是格式化字符串的第10个参数,之后只要修改dword_804c044的值,让输入和dword_804c044的值一样就可以了。打开靶机,下载文件,检查文件类型,可以看到是32位程序,开启了Canary保护,不能使用栈溢出。放进ida32位可以看到如下代码。最后的最后,附带一些参考博客。用gpt分析以上程序。最后我们便得出了代码。
2024-03-15 22:46:13
600
1
原创 BUUCTF Pwn jarvisoj_level21解题步骤
这里需要注意的是,由于我们是直接调用system()而不是使用call指令,因此计算机会将调用函数前栈顶指针指向的地址视为函数的返回地址,因此我们需要在这个地方随便填入一些值。从反汇编后的代码可以看出read()这个函数对buf进行写入时存在缓冲区溢出。查看之后发现是32位的ELF文件,RELRO和NX保护不影响我们做题。buf到ebp的距离是0x88,ebp到Return的距离是0xF。system的地址可以在plt中找到,双击system.plt。然后在输入shift+F12,可以查找。
2024-02-04 12:10:48
363
1
原创 BUUCTF Pwn jarvisoj_level01
查看之后发现是64位的ELF文件,只开启了一个NX保护,不影响栈溢出,直接放入IDA64进行反编译。发现buf变量分配的空间只有0x80,而read函数的第三个参数是0x200,会造成溢出。可以看到起始地址是400596,我们将其覆盖return的地址就会调用其函数。按shift+F12,出现下面的信息,双击/bin/sh。"node5.buuoj.cn",25586是靶机信息。双击vulnerable_function。双击callsystem函数。在python脚本中输入。
2024-02-04 10:14:09
426
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人