摘要:
博客现已迁移至http://remon535.xyz 阅读全文
摘要:
checksec: main: int __cdecl main(int argc, const char **argv, const char **envp) { init(); vulnerable(); return 0; } vulnerable: int vulnerable() { in 阅读全文
摘要:
checksec: 开启了Canary main: __int64 __fastcall main(__int64 a1, char **a2, char **a3) { __WAIT_STATUS stat_loc; // [rsp+14h] [rbp-8Ch] int v5; // [rsp+1 阅读全文
摘要:
sub_DAF: unsigned __int64 sub_DAF() { unsigned __int64 result; // rax int v1; // [rsp+Ch] [rbp-44h] char s; // [rsp+10h] [rbp-40h] char buf; // [rsp+2 阅读全文
摘要:
之前实现了秒杀普通僵尸后就没深入研究了 先用CE找到扣血的判定函数,这里就不演示了。 在dbg中查看该地址,下断 0x566d06把受到攻击前的血量减掉伤害,也就是被攻击后的血量 esi,写入[ebp+C8]。如果把这个sub改成sub esi,esi就能实现秒杀普通僵尸。 运行一下就知道,普通僵尸 阅读全文
摘要:
Ubuntu 16 32位,无tcache main(): void __cdecl __noreturn main() { int v0; // eax char buf; // [esp+8h] [ebp-10h] unsigned int v2; // [esp+Ch] [ebp-Ch] v2 阅读全文
摘要:
func: int func() { int result; // eax int v1; // [esp+14h] [ebp-44h] int v2; // [esp+18h] [ebp-40h] int v3; // [esp+1Ch] [ebp-3Ch] int v4; // [esp+20h 阅读全文
摘要:
查看保护: main: int __cdecl __noreturn main(int argc, const char **argv, const char **envp) { int v3; // eax char buf; // [rsp+0h] [rbp-10h] unsigned __in 阅读全文
摘要:
这道题涉及很多知识点,包括64位通用gadget,mprotect修改权限 该题假设禁用了system和execve函数 查看保护,因为system和execve被禁用,所以只能通过shellcode getshell,但因为开启了NX,需要通过mprotect函数改变指定内存(以页为单位)的权限 阅读全文
摘要:
checksec: 题目明示shellcode,用户输入后就会直接跳转到输入的位置 用pwntools的shellcraft生成的shellcode打不通,原因就在于main函数起始位置的orw_seccomp函数 不是很懂这个函数的操作,最后看了别人的博客才明白seccomp是通过prctl函数实 阅读全文