- 博客(98)
- 收藏
- 关注
原创 BaseCTF[Week1] 我把她丢了 pwn 复现-入土为安的第二十四天
PLT 是用于动态链接的表,包含了到实际函数实现的跳转地址。:将程序的控制权交给用户,使用户可以与获得的 shell 进行交互。这通常用于同步,确保在发送 payload 之前先读取程序的初始响应。寄存器的值设置为指定的值,然后返回到下一条指令。:将构造的 payload 发送到目标程序,以触发缓冲区溢出并执行构造好的代码。函数的正确地址,这个地址会在程序运行时被加载到内存中。对象,你可以方便地访问二进制文件中的符号和地址信息。:这是一个硬编码的地址,指向一个。:这是一个硬编码的地址,指向。
2024-08-23 13:57:14
159
原创 BaseCTF WEEK1 re复现-入土为安的第24天
密文为:Str,v11,v12,"@;%,其中Str,v11,v12涉及到大小端序,怎么解决,举个例子Str = 0x1D0B2D2625050901i64,转化一下就是:0x01,0x09,0x05,0x25,0x26,0x2D,0x0B,0x1D,从后往前,俩俩一组。f5:反编译,f12:查看字符串,Ctrl+x交叉引用,shirt+e提取,f2:下断点,f9:调试,Ctrl+f:查找函数/字符串,点着函数右键,可以改函数类型,int改成char,也可以改参数名字。签到题:查壳,发现无壳,且为64位。
2024-08-23 11:49:50
183
原创 easycpp2-入土为安的第二十三天
查看导入表可以发现并没有导入srand, 所以rand的结果是固定的值, 可以自己编译一下查看rand()返回值是多少, 或者动态调试,func1_1是循环右移的逻辑, fun1_2是将一个字节的第n位与第1位交换位置。这里rotate_count的结果是rotate_count = 7。考点:大小端,随机数,交换位置(>>)
2024-08-21 17:00:47
204
原创 [GDOUCTF 2023]Tea-入土为安的第二十二天
(_DWORD *)(a1 + 4i64 * i)=a1[i],我觉得是把4i64舍去,并转成数组,所以*(_DWORD *)(a1 + 4i64 * v3)=a1[v3]在左边找不到main函数,怎么办,shirt12查找字符串Ctrl+f找flag。一直点进去 sub_1400112B7,得到tea的加密。一直点进去sub_140011339,得到key。sub_140011352 为密文。*(_DWORD *)怎么处理。怎么能转化为看的懂的加密的。
2024-08-20 18:41:58
209
原创 [MTCTF 2021]Random-入土为安的第二十二天
动调在 v4 = rand()和 byte_2D3370[v5] ^= rand()F2下断点F9调试。按yes,一直单步调试 F8,到xor是看右边第一行,记录下来。返回主函数,点byte_2D2138[v8]找key值。动调,随机数,xor。
2024-08-20 11:12:28
360
原创 [羊城杯 2020]login-入土为安的第二十二天
把login.pyc的010第一行换成struct.pyc的010。exe,pyinstaller解包,
2024-08-20 10:12:23
188
原创 [HNCTF 2022 WEEK3]Try2debugPlusPlus-入土为安的第二十一天
觉得不太一样的是:当调试到exit的时候,会退出,所以为了不让他退出,就nop掉。那就开始写exp了,注意*(_DWORD *)的处理。点入tea_encrypt,有tea加密过程。点enc有加密后的密文。考点:tea,反调试。
2024-08-19 18:49:17
182
原创 [NISACTF 2022]ezpython入土为安的第二十一天
注意:和.exe文件同名或src.pyc文件,放入010要和struct.pyc的头一样。用pyinstxtractor,exe转在pyc,pyc反编译。
2024-08-19 08:59:32
212
原创 [MoeCTF 2022]fake_key-入土为安的第二十天
动调注意的点,F5后,fn+F8动调,动调一两步,点点想要的函数。发现::str少一部分动调。把加码转化为自己能看懂的。知识点:动调,伪随机数。
2024-08-16 10:50:14
200
原创 [MoeCTF 2022]EquationPy-入土为安的第十九天
是一个强大的 SMT (Satisfiability Modulo Theories) 求解器,广泛用于自动化推理、符号计算等任务。它可以帮助解决各种数学和逻辑问题。知识点,pyc 反编译,z3库的使用。库的一些基本信息和使用示例。
2024-08-14 10:50:47
182
原创 [HGAME 2022 week1]easyasm-入土为安的第十八天
首先是将ax清零,然后从数据段中拿出数据,向左偏移4,压入栈中,再清零ax,再从数据段中拿出数据,再向右偏移4,将栈中的数据拿出给bx,ax+bx,再拿ax与 (十六进制的17)23进行异或。:在字符转换中,通常需要确保得到的值在有效的字符范围内,尤其是ASCII范围(0到127)或更大范围(0到255)。操作是为了确保得到的结果在0到127范围内,适合ASCII字符。:位移操作后,结果可能超出单字节范围(0到255),使用。是为了保证结果在0到127的范围内,以防止在。知识点汇编 asm。
2024-08-13 16:31:43
118
原创 babystack2.0-入土为安的第十六天
这通常用来触发某种缓冲区溢出或其他漏洞,进而将控制权转移到你指定的地址(这通常用于触发程序接收用户名的部分。的提示后,发送前面构造的载荷。这行代码等待服务器发送包含。的提示,然后发送字符串。
2024-08-05 13:16:32
214
原创 [SWPUCTF 2021 新生赛]gift_pwn-入土为安的第十五天
按照签到题的套路是找main,buf,shell,bin/sh/,这个是加了一个gift的地址。最后加上我们的返回地址,是上面找到的gift的地址,payload就完成了。距离rbp 16字节,我们要再加上我们的8个字节。
2024-08-04 17:23:50
168
原创 [NISACTF 2022]ezpie- 入土为安的第十五天
PIE全称是position-independent executable,中文解释为地址无关可执行文件,该技术是一个针对代码段(.text)、数据段(.data)、未初始化全局变量段(.bss)等固定地址的一个防护技术,如果程序开启了PIE保护的话,在每次加载程序时都变换加载地址,从而不能通过ROPgadget等一些工具来帮助解题。这个题目的大致思路就是,通过接收输出的main函数的地址,再通过偏移量计算到后门函数的地址,之后,进行栈溢出攻击即可。运行可以看到确实有70。所以后三位才会保持不变。
2024-08-04 12:07:12
261
原创 [NISACTF 2022]ezstack-入土为安的第十四天
进入main函数,点进shell ,buf 88808048buf。直接让代码溢出调用system和/bin/sh。checksec pwn 没有保护。
2024-08-03 20:34:27
149
原创 CTFHubret2shellcode-入土为安的第十三天
buf的地址 因为我们要把buf填充满 然后再让栈进入shellcode的地址 然后再执行shellcode。shift+f12 查看字符串。没有开保护 并且是64位的。read函数,点进去buf。
2024-08-02 17:44:14
185
原创 [CTFHub]ret2text-入土为安的第十二天
ida fn+ F5 main 点(_int64)v4。v大小为0x70+栈基指针0x8+返回地址。
2024-08-01 19:15:28
131
原创 HardSignin _ 入土为安的第十二天
找rc4还有xtea的key,发现是随机数 交叉索引找到TLS1和TLS2。有壳 55 50 58 用010 把vmp改成upx。pythonida 得到答案unk_404000。分别是换表的base64加密,rc4,xtea。sub 4016B0为加密函数,点进去。smc 用pythonida绕一下。ctrl+f2,查找main函数。找函数按p封装,按f5反编译函数。Ctrl+x交叉引用。
2024-08-01 12:26:58
331
原创 no-strings-attached-入土为安的第十一天
shirt+f2 使用pythonida读取数值。读取s,dword_8048A90函数的地址。点进decrypt函数分析加密方式,得出答案。unk_8048B44 函数里面有成功。点进authenticate 函数。
2024-07-31 09:12:33
283
原创 notsequence 入土为安的第七天
1=2(1-1),1+1=2(2-1),1+2+1=2(3-1),1+3+3+1=2(4-1),1+4+6+4+1=2(5-1),1+5+10+10+5+1=2(6-1)注意: *(_DWORD *)(4 * i + a1)=a[i]可得,v5=0,1,2,3,4,5,6,7,8,9。v5=2时:v3=a[3]+a[4]+a[5]v5=1时:v3=a[1]+a[2]
2024-07-21 14:33:44
257
原创 BABYRE 入土为安的第七
加密,自己取自己地址的数据进行加密,加密之后无法反汇编。选中600B00到600BB5,按P生成judge函数。点进去judge,点着judge,shift+f2。第一次做题用IDApython,复现了两天。再查看judge函数反编译代码。关键的judge居然是数据。
2024-07-21 09:22:14
234
原创 re4-unvm-me 入土为安的第六天
的长度不是 5 的倍数,则打印 “nice try” 并退出:flag应该是5的倍数。的长度超过 69 个字符,则打印 “nice try” 并退出:所以应该小于69。每一行去头去尾(0x)(L)不够32位的高位补零。
2024-07-20 18:23:27
216
原创 [MoeCTF 2022]Art 入土为安的第四天
采用深度优先搜搜,则不用考虑循环层数过多的问题,每次试探一种情况,试探到头,后再试探下一个情况,直到将flag的每位每种字符(ASIIC码上)都试探到。
2024-07-17 15:23:58
123
原创 [HNCTF 2022 WEEK3]What‘s 1n DLL?入土为安的第四天
发现有upx壳,载入十六进制编辑器,把UFO改为UPX在upx -d脱壳就可。没见过dll动态链 xxte。dll中的ttt函数。
2024-07-17 12:36:28
90
原创 [WUSTCTF2020]level4题解 入土为安的第三天
那么可以尝试用后序遍历20f0Th{2tsIS_icArE}e7__w和中序遍历2f0t02T{hcsiI_SwA__r7Ee}来求前序遍历,试着解一下flag。如果可以猜到这个程度的话,我们知道根据中序遍历和前序遍历或者中序遍历和后续遍历可以重建二叉树。那么未知的前序遍历的第一个字符就是w,这个比赛是WUSTCTF,flag第一个字符应该是w。的结尾是w,如果他是后序遍历的话,另一个已知的就是中序遍历。那么我们可以尝试一下所有情况,可能就能解出flag。很可能是二叉树的前序遍历,中序遍历和后序遍历。
2024-07-16 22:36:27
175
原创 [MoeCTF 2022]chicken_soup 入土为安的第三天
再将其nop掉,最后将其重新变为一个新的,按C,最后按P。一道简单的花指令题 有jz jnz。先对其进行打开,按u。
2024-07-16 13:02:48
98
原创 春秋杯 snack入土为安的第二天
不嘻嘻,签到题做了两天,先用pyinstxtractor.py(找最新版本。红温)把exe转化为pyc,用在线反编译pycdc来反编译,最后的key在一个文件夹里key.pyc切记用python3.3版本(红温)。key_bytes = b'V3rY_v3Ry_Ez' # 这里需要填入正确的密钥。# 游戏初始化和解密函数(根据提供的代码片段)# 假设已经有了正确的密钥key_bytes。# 使用密钥解密数据。# 打印解密后的数据。
2024-07-09 16:38:32
291
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人