nyyyddddn

nyyyddddn

wkctf_pwn
pwnbaby_stack在guess number逻辑这里用格式化字符串泄露 libc地址后 123456789101112131415__int64 wait(){ unsigned int v0; // eax char s[5]; // [rsp+Bh] [rbp-85h] BYREF char format[120]; // [rsp+10h] [rbp-80h] BYREF puts("Press enter to continue"); getc(stdin); printf("Pick a number: ")...
d3ctf_pwnshell复现
pwnshell 复现 (php pwn)如何调试?php pwn该如何调试?在docker中装一个gdbserver,用gdbserver起一个程序,在exp中用能触发io中断的php函数打”断点”,之后用gdb连上去后在vuln.so里打个断点就好了 能触发io中断的函数,比如说fgetc 1234<?php$char = fgetc(STDIN);echo "You entered: $char\n";?> 在pwnshell这个题目中php配置文件里禁用了fgetc这个函数,修改php.ini中的disable_functions,把fgetc删...
xctf_ggbord复现
ggbond可以发现主函数是main_main,同时存在大量grpc字段,可以判断出程序使用了grpc框架。和grpc框架开发的程序进行交互,需要提取protobuf,protobuf谷歌开发的数据序列化格式,它通常用于网络通信和数据存储的应用程序之间的结构化数据交换。这个工具让你能够定义交互时消息的数据结构。 程序套了grpc,与程序的交互不再直接通过标准输入,而需要通过定义的 gRPC 服务接口来进行,然后grpc 使用一个叫protobuf的结构去描述怎么和程序交互的,首先需要提取出程序中的protobuf,然后python中有一个叫grpc_tools的库可以通过 protobu...
vsctf_pwn
pwncosmic-ray-v3程序的逻辑 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950int __cdecl main(int argc, const char **argv, const char **envp){ signed __int64 v3; // rax setbuf(stdout, 0LL); setbuf(stderr, 0LL); cosmic_ray(); v3 = sys_exit(0); return ...
litctf2024_pwn
pwnheap-2.23程序逻辑 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291...
xctf_BuggyAllocator复现
xctf_BuggyAllocator复现程序有 alloc 和dealloc两个选项 123456789101112131415161718192021222324252627282930313233343536373839404142__int64 menu(){ __int64 v0; // rax __int64 v1; // rax __int64 v2; // rax v0 = std::operator<<<std::char_traits<char>>(&std::cout, "*** Buggy ...
DragonKnightCTF_pwn
ez_quiz可以发现程序分三个部分,第一个部分是一个base32的逻辑,第二个是一个表达式计算的逻辑,第三个是格式化字符串漏洞 + 栈溢出的逻辑,要先过了前两个逻辑才会走到存在漏洞的逻辑,程序还存在一个backdoor 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283int __cdecl main(int argc, co...
xv6_and_unix_utilities
Xv6 and Unix utilities好哦,完成 mit 6.1810 2023 中 lab :Xv6 and Unix utilities了,准备开始下一章的学习了,xv6还是挺好玩的 sleep根据题目描述,和 user/ 中的其他程序的逻辑可以发现 命令行参数传递是通过 main的argc 和argv去传递的,其中argc 中存储着参数的个数,argv存储着参数名,没有参数的时候argc = 1,argv[0] = program_name。然后在 “user/user.h” 中有sleep 函数所以 只需要直接调用sleep函...
ciscn_pwn
gostack栈溢出,存在一个可以执行的命令的backdoor函数,用了下有些问题,就打ret2syscall了,栈上有一个strings结构体要伪造一下,syscall read到一个可以写的段,写binsh然后syscall execve getshell 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485from ...
hnctf_pwn
close关闭了标准输出流,直接cat /flag 1>&0就可以了 ez_pwn%s 泄露buf的地址后覆盖rbp栈迁移后打rop就好了,由于32位的调用约定,不能以连续的ret结尾的gadget去rop,然后system不能直接传binsh过去,得传;sh,所以read一次后重启main再调用system就好了 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970...
avatar
nyyyddddn
快来和我贴贴qaq