题目地址:pwn100
本题已经是高手进阶区的第五题了,难度也在不断加大。需要补充的知识点也越来越多了。
废话不说,看看题目
没什么建议和描述,那就先下载附件,看看保护机制
root@mypwn:/ctf/work/python/pwn-100# checksec d0b5f9b486bb480c9035839ec896252e
[*] '/ctf/work/python/pwn-100/d0b5f9b486bb480c9035839ec896252e'
Arch: amd64-64-little
RELRO: Partial RELRO
Stack: No canary found
NX: NX enabled
PIE: No PIE (0x400000)
只开了NX,那就可以做栈溢出。
打开ida看了一些,这个程序比较简单,直接上c语言代码,我简单的调整了一下变量命名:
__int64 __fastcall main(__int64 a1, char **a2, char **a3)
{
setbuf(stdin, 0LL);
setbuf(stdout, 0LL);
go_game();
return 0LL;
}
int go_game()
{
char szInputString; // [rsp+0h] [rbp-40h]
read_s

本文详细介绍了攻防世界XCTF-PWN区的pwn100题解,该题通过栈溢出攻击,利用NX保护下的LibcSearcher寻找system和/bin/sh地址,最终获取flag。主要知识点包括栈溢出、puts函数地址获取和libc基址计算。
最低0.47元/天 解锁文章
4301





