自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(14)
  • 收藏
  • 关注

原创 CTF pwn方向 ret2text 总结和例题

这里用命令:ROPgadget --binary filename --only "pop|ret"这里有system(“/bin/sh”),要将主函数跳带这里就能拿shell。padding=0X9+4 这里的4是因为32位。找system函数。以Polar靶场的小狗汪汪汪为例子。因为是64所以要找rdi的地址。复制getshell的地址。以Polar靶场的x64为例。找bin/sh.或者$0等。这里有危险函数gets。

2024-05-21 21:01:34 297

原创 [NewStarCTF 2023 公开赛道]Unserialize

PHP 序列化的时候 private和 protected 变量会引入不可见字符%00,private是%00类名%00属性名 ,protected为%00*%00属性名 ,注意这两个 %00就是 ascii 码0的字符。$cmd 是 private 属性的,赋值只能在内部赋值。浏览器输出的结果:O:4:"evil":1:{s:9:"evilcmd";要改为O:4:"evil":1:{s:9:"%00evil%00cmd";就是说上面的O:4:"evil":1:{s:9:"evilcmd";

2024-04-29 18:22:56 173 3

原创 [NewStarCTF 公开赛赛道]UnserializeOne

先将代码复制进vscode,然后把所有和属性无关的删除。将结果以POST请求传给参数POP。这里不知道魔术方法的功能可以看这两个链接。这道题的链路比较好复原,正向逆向都可以。正向复原,图画的比较丑,谅解一下。这道题是反序列pop类型的。

2024-04-29 16:17:42 184

原创 [WUSTCTF2020]Cr0ssfun

直接手扣出来~~~我是直接放在PC上用ctrl+F找出来的。这里明显 check函数是关键函数,点进去。IDA打开,进入main函数。再再再再再再再点进去。

2024-04-17 11:38:43 149

原创 [WUSTCTF2020]level1

代码大概意思是他打开flag文件,通过加密来生成output文件。我们需要拿output文件逆向出flag文件。

2024-04-17 10:37:49 172

原创 [ACTF新生赛2020]rome 详解

偏移量=-79-(-64)+97-64。偏移量=-51-(-64)+65-64。然后这里就有两个思路了,第一种就是计算偏移量进行逆向倒推出flag。先写出正常凯撒加密的代码假设偏移量为先右偏移了4,W为输入的明文,E为加密后的密文。这里计算方法就是用题目中的-51减去-64加上题目中的65-64得出偏移量为14。这里计算方法就是用题目中的-79减去-64加上题目中的97-64得出偏移量为18。先计算偏移量,看源码大写字母和小写字母的偏移量是不同的。第二种方法,暴力破解,就不需要分析出偏移量了。

2024-04-15 17:30:57 229

原创 [2019红帽杯]easyRE 1

第三部分sub_410E90((unsigned __int8)(byte_6CC0A0[j] ^ *((_BYTE *)&v4 + j % 4)))我们主要看里面这部分(byte_6CC0A0[j] ^ *((_BYTE *)&v4 + j % 4))由v1^byte_6CC0A0[0]='f'和HIBYTE(v4) ^ (unsigned __int8)byte_6CC0A3) == 'g'这里有几个关键的地方。这里补充一下HIBYTE(v4)是指V4的高位的值,由于V1=V4也就是V1高位的值。

2024-04-08 17:12:40 748

原创 ctf reverse3

他的表没有替换,那这道题就比较简单了。这里有个坑for i in range(0,16)中的16要为4的倍数,可以手动的猜一下数字,填14会报错。发现看漏了这里,这里就是有个偏移量,他会将我们输入的字符串base64编码后再每一位加一个偏移量。代码基本含义是,将我们输入的字符串通过sub_4110BE加密后与str2对比,相同为flag。所以现在我们要看Str2的内容还要看看sub_4110BE函数。将e3nifIH9b_C@n@dH复制到在线解码工具。看到这里人傻了,显然不是答案,然后继续看汇编代码。

2024-04-04 16:09:57 241

原创 ctf xor1

代码含义,将我们输入的密码的前一项与当前项异或再将结果如global对比,下一步查看global的值。一开始以为这里就是他的值,后面想想不对,一般值前有db。双击aFKW这段字符串。让后shift+e提取内容。

2024-04-04 11:19:02 215

原创 ctf 内涵的软件

这里蒙了一下V5的值,发现是flag。ida打开并且打开_main_0函数。exeinfo查看文件。

2024-04-03 19:03:23 167

原创 ctf reverse2

分析代码,这道题是属于字符串替换类型,s2是我们输入的内容,flag经过字符串替换后与s2对比,对比成功即是flag。下一步双击flag,查看flag的值。代码运行结果为{hack1ng_fo1_fun},加上前缀flag{hack1ng_fo1_fun}即为flag。发现是64位的elf文件,用ida打开看看,打开后查看main函数。flag的值为{hacking_for_fun}这题的思路总的来说和reverse1一样。用exeinfo查看文件结构。

2024-04-03 18:55:40 132

原创 CTF reverse1

这里的sub_1400111D1和sub_14001128F明显是c中的printf和scanf,这里为了方便查看按N修改名字。粗略分析一下代码,大概得知,对比str1和str2,两个值一样的话就是flag,由于str1是我们输入的字符串,所以从str2入手。代码的大概意思是,对比我们输入的str1和处理过后的str2,相同的话str1就是flag了。这部分的代码意思是,遍历str2字符串ASCLL表的值为111的字符串替代为48的字符串。str2的内容为'{hello_world}'

2024-04-03 17:17:02 267

原创 easyre1

64位无壳,这里直接使用64位IDA打开。直奔main函数发现flag。

2024-04-03 16:37:30 182

原创 [MRCTF2020]Xor1 ctf 刷题日记

【代码】[MRCTF2020]Xor1 ctf 刷题日记。

2024-03-25 17:27:00 343

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除