- 博客(478)
- 收藏
- 关注

原创 Shiro-550 动调分析与密钥正确性判断
Shiro-550 的根本原因:Shiro 1.2.4 及之前的版本中,AES加密的密钥默认硬编码在代码里,Shiro 1.2.4 以上版本官方移除了代码中的默认密钥,要求开发者自己设置,如果开发者没有设置,则默认动态生成,降低了固定密钥泄漏的风险。
2025-04-19 19:31:34
951
4

原创 使用 GZCTF 结合 GitHub 仓库搭建独立容器与动态 Flag 的 CTF 靶场+基于 Docker 的 Web 出题与部署+容器权限控制
关于 CTF 靶场的搭建(使用 CTFd 或者 H1ve)以及 AWD 攻防平台的搭建,勇师傅在前面博客已经详细写过,可以参考我的《网站搭建》专栏,前段时间玩那个 BaseCTF,发现它的界面看着挺不错的,了解到也是一个开源项目-GZCTF,网上未见有这方面的详细介绍,看了下网上都只是简单说了下怎么搭出 GZCTF 这个靶场的界面,然而对于后续题目的部署并未进行详细的介绍与说明,因此这里分享下自己的部署经验以及可能遇到的问题、注意点与解决方案。
2024-09-01 23:20:02
6018
2

原创 基于Cardinal的AWD攻防平台搭建与使用以及基于docker的题目环境部署
正常 ./ 执行我们需要一直在这个终端挂着,否则Cardinal 就会断掉,靶场页面也就无法访问。因为我们的 mysql 数据库下还没有 test 这个用户,我们需要手动创建并赋予权限 ,test 这个用户相当于是我们平台的一个后台管理账户,因此这里直接给 root 权限。这样,即使我们关闭终端,Cardinal 也会一直处于运行状态。。
2024-06-27 13:21:53
3246
1

原创 Fastjson 1.2.24 反序列化导致任意命令执行漏洞复现(CVE-2017-18349)
Fastjson 是一个 Java 库,用于在 Java 对象和 JSON 数据之间进行转换,它提供了一种简单而高效的方式来序列化 Java 对象为 JSON 格式的字符串,以及将 JSON 字符串反序列化为 Java 对象。Fastjson 支持各种类型的 Java 对象,包括预先存在但没有源代码的对象。
2024-03-09 19:46:13
4180

原创 log4j2 远程代码执行漏洞复现(CVE-2021-44228)
log4j 是 Apache 的一个开源日志库,是一个基于 Java 的日志记录框架,Log4j2 是 log4j 的后继者,其中引入了大量丰富的特性,可以控制日志信息输送的目的地为控制台、文件、GUI 组建等,被应用于业务系统开发,用于记录程序输入输出日志信息,log4j2 中存在JNDI注入漏洞,当程序记录用户输入的数据时,即可触发该漏洞,成功利用该漏洞可在目标服务器上执行任意代码。
2024-03-08 15:43:00
19388
3

原创 利用ngrok实现内网穿透(全网最详细教程)
准备工具:1、用于在本地搭建网站2、用于将自己的本地端口暴露到公网上,从而实现内网穿透,注意:我前面提到过的闪退就是在这一步发生的,我的解决方法是重装ngrok并以管理员身份运行。至此,我们已经实现了内网穿透,通过将我们的本地端口暴露在特定域名地址的公网上,进而从公网访问到了内网的东西。
2023-11-26 13:36:51
32861
4

原创 CTF靶场搭建及Web赛题制作与终端docker环境部署
这种情况意思是docker需要我们指定下载镜像的版本号。哈喽大家好!我是Myon,趁着我的云服务器还没过期,这次给大家出一期很详细的CTF比赛的靶场搭建以及关于Web赛题的制作与docker环境的部署教程,由于本人能力有限,也只能给大家讲一些基础简单的东西,欢迎大家在评论区互相交流学习,希望通过这篇博客大家能学到一些新东西,也期待大家的关注和支持!
2023-11-22 19:26:29
10797
11

原创 关于pyinstaller执行报错的解决方案
pyinstaller : 无法将“pyinstaller”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径正确,然后再试一次。在文件里面打开设置,找到Python解释器,在软件包里面找到 pyinstaller ,此时将鼠标悬停在上面,则会显示出该软件包所在绝对路径。但是我们要找的是Scripts文件夹的路径,我这里Scripts与Lib在同一目录下。比如我这里是:D:\Python\Lib\site-packages。所在位置 行:1 字符: 1。
2023-11-02 16:09:42
8407
7

原创 PHP特性之CTF中常见的PHP绕过
一、关于md5()和sha1()的常见绕过1、使用数组绕过2、 使用特殊字符串绕过二、strcmp绕过三、switch绕过四、intval绕过
2023-07-18 14:32:22
7992
1

原创 告警流量特征分析(护网蓝初面试干货)
一、流量特征1、SQL注入2、XSS3、挖矿行为二、webshell流量特征1、中国菜刀2、蚁剑3、冰蝎三、对告警流量分析1、信息泄露2、SQL注入3、文件上传4、XSS5、代码执行
2023-06-09 21:53:08
8497

原创 如何解决桌面图标变白(原因及方法)
桌面图标变白 系统缓存出错 Windows命令 Windows快捷键 任务管理器 Windows资源管理器
2023-04-09 14:52:46
36120
24

原创 主动扫描-Nmap-端口、系统、服务扫描
一、使用Nmap进行端口扫描① SYN扫描② Connect扫描③ UDP扫描④ 端口扫描范围的确定二、使用Nmap扫描目标系统三、使用Nmap扫描目标服务3、Nmap的完善四、将Nmap的扫描结果保存为XML文件五、对Web服务进行扫描2、Web服务器的软件组成③ 服务器应用程序④ 操作系统3、以DVWA为目标的web服务扫描① dirb内容扫描 ② dirsearch内容扫描③ whatweb网络指纹识别
2023-03-25 21:08:01
16616
1

原创 Kali Linux 的常用命令
Kali Linux 的常用命令 1、与文件目录相关的命令 2、文件查看命令 3、网络相关命令 4、进程控制命令 其他常用命令 hosts文件 脚本编写
2023-03-12 20:07:31
10841
2
原创 CTFshow-PWN-栈溢出(pwn53)
摘要:该32位程序通过文件读取4字节固定canary值进行栈保护。由于canary值可控且固定,通过爆破获取其值为"36D!"。利用buf溢出漏洞,构造payload填充缓冲区、canary值和返回地址(指向自带flag函数0x8048696),最终成功获取flag:ctfshow{de9d5faf-21d6-4317-becd-3b214681c7a2}。整个过程展示了如何绕过非随机canary保护实现栈溢出攻击。
2025-06-11 16:26:33
246
原创 CTFshow-PWN-栈溢出(pwn52)
本文分析了一个32位CTF逆向题目,发现存在栈溢出漏洞。通过IDA反编译发现flag函数需要满足特定参数条件(a1=876且a2=877)才会输出flag。构造的payload利用栈溢出返回到flag函数,并传入正确参数值。最终获取到flag:ctfshow{ec5e1623-6d8d-4338-bcb9-43f23d6f65d8}。解题关键在于理解程序逻辑、参数传递和栈空间布局。
2025-06-11 12:21:34
147
原创 CTFshow-PWN-栈溢出(pwn51)
摘要:本文分析了一个32位程序的漏洞利用过程。程序存在字符串替换漏洞,输入"I"会被替换为更长的"IronMan",导致缓冲区溢出。通过计算,16个"I"替换后产生112字节溢出,恰好覆盖返回地址。利用IDA发现存在直接读取flag的函数sub_804902E(地址0x0804902E)。最终构造payload为16个"I"加上目标地址,成功获取flag:ctfshow{405c30d6-d372-4f50-bfcd-00d91
2025-06-10 17:49:18
192
原创 CTFshow-PWN-栈溢出(pwn50)
摘要:本文描述了一个64位程序的ROP攻击过程。通过gets函数溢出,利用ret2libc技术,先使用puts函数泄露真实地址,找到gadgets(pop rdi;ret和ret指令)。攻击分两步:首先构造payload泄露puts函数地址,计算libc基址;然后组合system和/bin_sh地址实施攻击,最终成功获取flag(ctfshow{11ba423c-006e-429f-9ebd-9fb219f3611f})。整个过程涉及动态链接库地址计算和ROP链构造技术。
2025-06-10 11:41:28
127
原创 CTFshow-PWN-栈溢出(pwn49)两种方法+动调分析
执行后,可以看到 0x80da000 往后部分为可读可写可执行权限。看似开了 canary 保护,实际没有,是 checksec 版本太老了,检测到 __stack_chk_fail 函数就算开了。看似和上一题一模一样,但是细心的小朋友应该注意到了,左边多出了很多函数,说明这个程序是静态链接的,静态链接就意味着没法去打 ret2libc了,还是无 system 无 /bin/sh,考虑打 ret2syscall。
2025-06-09 19:11:35
1070
原创 CTFshow-PWN-栈溢出(pwn48)
摘要:本文介绍了针对32位程序的ret2libc攻击方法,通过栈溢出利用puts函数泄露真实地址。攻击使用pwntools工具,构造两个payload:第一个通过puts泄露libc地址,第二个执行system("/bin/sh")获取shell。最终成功获取flag,展示了典型的ROP攻击流程。关键步骤包括计算偏移量、定位plt/got表地址、动态查找libc基地址等。
2025-06-09 15:57:49
200
原创 CTFshow-PWN-栈溢出(pwn47)
摘要:这是一篇关于32位小端序系统漏洞利用的技术分析文章。作者通过分析存在NX保护的二进制文件,利用gets函数的溢出漏洞和提供的/bin/sh偏移地址,构建了ret2libc攻击。文章详细介绍了如何通过泄露puts函数地址来定位libc基址,最终获取system函数地址完成攻击。攻击脚本使用pwntools工具包实现,重点解决了libc版本选择问题(最终选用libc6-i386_2.27-3ubuntu1_amd64),成功获取了flag。该技术适用于32位栈传参架构,展现了典型的ROP攻击方法。
2025-06-09 00:03:14
289
原创 CTFshow-PWN-栈溢出(pwn46)
摘要:本文介绍了CTF比赛中一个栈溢出漏洞的利用过程。通过puts函数泄露真实地址,使用ret2libc技术计算偏移,最终获取shell。利用脚本包含两个payload:第一个泄露puts地址并计算libc基址,第二个调用system("/bin/sh")。成功获取flag:ctfshow{d495bd39-34c0-49a5-bbfa-e0468786ccdb}。文中展示了完整的Python PWN工具利用代码。
2025-06-09 00:01:46
191
原创 PWN-中级ROP-[HNCTF 2022 WEEK2]ret2csu
本文分析了64位程序中利用__libc_csu_init函数进行栈溢出攻击的技术。通过控制寄存器传递参数,结合ret2csu技术泄露write函数地址,最终实现ret2libc攻击。文章详细讲解了gadgets选择、参数传递方法和攻击流程,并提供了完整的攻击脚本(exp)。该技术在不直接获取system函数和/bin/sh字符串的情况下,成功获取了shell权限,最终得到了flag。
2025-06-06 13:38:34
1290
原创 PWN-沙箱绕过-侧信道爆破攻击-[HNCTF 2022 WEEK3]ret2shellcode_level2
该分析针对一个存在缓冲区溢出漏洞的程序,沙箱限制了系统调用仅允许read、open和mmap。通过构造shellcode实现侧信道攻击,利用时间差异逐字节爆破flag内容。最终获取flag为nssctf{S1d3_ch@nn3l_bl@st1ng_t0_g3t_fl4g}。主要步骤包括:1)注入可执行shellcode;2)打开flag文件并读取内容;3)编写比较代码进行字符爆破。
2025-06-05 18:33:04
473
原创 [SWPUCTF 2024 秋季新生赛]不是哥们ret2text还阴啊?
通过分析栈结构发现缓冲区溢出漏洞,其中v1[56]数组可被覆盖。利用逐字节读取特性,先覆盖60字节数据至i变量地址,将其设为0x47。随后继续写入8字节至返回地址处(rbp+8),劫持为后门函数地址0x4011F1。最终成功获取flag:NSSCTF{7256ca63-a417-4a2d-9eb9-49ff78eb65d0}。
2025-05-26 19:32:55
147
原创 Partial Overwrite绕过PIE保护-[HNCTF 2022 WEEK2]ret2text
程序存在栈溢出漏洞,但因PIE保护导致地址随机化。利用PIE后12位固定特性,通过Partial Overwrite技术爆破后门函数地址(后四位0x11E5概率1/16)。编写exp循环发送payload(填充+后门地址),成功绕过PIE保护获取shell,得到flag:nssctf{W0w_You_byp@ss3d_PIE_You_are_gr3at!}。
2025-05-26 13:53:04
371
原创 栈迁移与onegadget利用[GHCTF 2025]ret2libc2
虽然 format 被初始化为 "hello world!"但是它就在 buf 下面,后面的 read 我们可以读入 0x60因此我们就可以覆盖 format,利用 printf 来泄露 libc 里的真实地址这里 rax 存的就是 buf,我们溢出后劫持程序到 0x401227,即指令:mov rdi, rax 后面再次执行 printf 函数,打印出真实地址,我们就可以计算 libc 基址了然后程序会继续执行 read 函数,我们又可以溢出,劫持到 system 从而 get
2025-05-25 00:19:26
889
原创 [GHCTF 2025]ret2libc1(NSSCTF)
本文介绍了一个利用栈溢出和逻辑漏洞完成的ret2libc攻击案例。首先通过see_it函数的逻辑漏洞(未校验负数输入)获取足够资金进入shop函数,再利用其栈溢出漏洞构造ROP链:先泄露puts函数真实地址,计算libc基址后获取system和/bin/sh地址,最终构造system("/bin/sh")调用获取shell权限。攻击过程涉及溢出偏移计算、GOT/PLT表利用、ROP链构造等技巧,最终成功获取flag。文章提供了完整的漏洞利用代码和分析过程。
2025-05-23 23:21:29
544
原创 [SWPUCTF 2024 秋季新生赛]ret2libc也阴嘛?(NSSCTF)
通过IDA反编译发现,main函数中的gets存在栈溢出漏洞,偏移量为56。虽然程序自带后门函数,但缺少/bin/sh字符串。利用gets函数,我们可以将/bin/sh写入可写段(如.bss段),然后通过ROP链调用system函数执行/bin/sh。具体步骤如下:首先,将可写地址存入rdi寄存器,调用gets函数接受输入并写入/bin/sh;接着,再次将/bin/sh的地址存入rdi,调用system函数。通过构造payload并发送,成功获取shell。
2025-05-23 18:42:21
248
原创 [NewStarCTF 2023 公开赛道]ret2libc(BUUCTF)
本文描述了一个典型的ret2libc漏洞利用过程。首先,通过IDA反编译发现main函数中的read函数存在溢出漏洞,但程序中没有直接提供/bin/sh字符串和system函数。通过puts函数泄露libc基址,进而计算system函数和/bin/sh字符串的地址。利用gadget构造payload,首先通过puts泄露地址,然后再次发送payload调用system函数执行/bin/sh,最终成功获取flag。整个过程展示了如何在没有直接提供libc文件的情况下,通过泄露地址和计算偏移来实现漏洞利用。
2025-05-22 11:26:50
358
原创 [NewStarCTF 公开赛赛道]ret2libc(BUUCTF)
本文描述了一个64位程序的栈溢出漏洞利用过程。程序开启了NX保护,且没有直接提供/bin/sh字符串和system函数。通过分析,作者采用了ret2libc攻击思路,利用puts函数泄露其真实地址,进而计算libc基址,获取system函数和/bin/sh字符串的地址。首先,通过构造第一个payload,利用pop_rdi和ret指令将puts函数的真实地址泄露出来,并返回到main函数。接着,构造第二个payload,将/bin/sh字符串地址传入rdi寄存器,调用system函数,最终成功获取shell
2025-05-20 13:19:08
725
原创 PWN基础-ROP技术-ret2syscall-64位程序栈溢出利用
后面传两个参数就可以了,分开写,一起写都可以的,这里就不做过多演示了。前置 ret2syscall 的基础我们就不做过多讲解了。execve 系统调用号是 59,也就是 0x3b。ida 看一下 main 函数,存在明显的栈溢出。看到有两个连一起的,当然我们也可以一个一个地传参。而 64 位系统调用最后是执行 syscall。32 位系统调用最后是执行 int x080。我们这里只用到前三个就可以了,以及 rax。这里看到的这个不对,因为后面没有 ret。正确的应该是 0x45BAC5。
2025-05-08 22:16:36
372
原创 CTF杂项入门(BUUCTF-Misc第一页)
题目涵盖:BUUCTF 第一页杂项。涉及工具:随波逐流、foremost、binwalk、honeyview、010editor、zipperello、archpr、wireshark、cyberchef、QR_Research、PNGCRC爆破、stegsolve、Audacity、河马、D盾、routerpassview、steghide,以及一些在线网站小工具。
2025-05-08 18:15:37
1275
原创 ROP链-BUUCTF-cmcc_simplerop(ret2syscall)
当然这个地址我们也可以通过符号表来找,因为这里的程序是静态链接的 ELF 文件,所有不能通过 plt 或者 got 表,因为压根就不存在。这样后面才能正常的 ret2syscall 传参,从而系统调用 execv。但是这里还有一个问题,程序没有类似于 pop [ecx] 这样的指令。利用思路类似,建议先看完我上面的这篇博客,我这里不再过多叙述。但是 read 函数执行后,它的三个参数还在栈顶上。
2025-05-08 16:25:15
375
原创 ROP链-BUUCTF-inndy_rop(ret2syscall)
因为 pop dword ptr [ecx] 一次只能写入 4 个字节,所以我们分两次写入 /bin/sh。静态链接就意味着没法去打 ret2libc 了,因为 ret2libc 需要用到动态链接库里面的系统函数。后面就是常规的 ret2syscall 了,即系统调用 execve。既然有对 [ecx] 操作的,那么我们就继续找弹出 ecx 的指令。注意到左侧函数表有很多的函数,说明这个程序是静态链接的。找一个具有写权限的段,一般都是在 bss 段。找了一下,没有字符串 /bin/sh。
2025-05-08 14:11:53
386
原创 PWN基础-ROP技术-ret2syscall突破NX保护
我们 ret2syscall 实际还是希望调用 execve,和 ret2shellcode 类似,只是多了堆栈不可执行。后面我们会继续发送内容(/bin/sh)给 read 函数,读取到 bss_addr。我们继续调用 execve,其 32 位系统调用号是 11,即 0xb。没有找到,因此我们后面需要手动将 /bin/sh 写到 bss 段。我们先系统调用 read,其 32 位系统调用号是 3,即 0x3。接下来我们找 /bin/sh 字符串的地址。32 位程序,小端序,开启了 NX 保护。
2025-05-07 20:10:29
372
原创 [第十五章][15.3.2 shellcode注入攻击]ret2shellcode+[NewStarCTF 公开赛赛道]ret2shellcode
[第十五章][15.3.2 shellcode注入攻击]ret2shellcode+[NewStarCTF 公开赛赛程序会直接输出 v4 的地址,我们将 shellcode 写到 v4,然后溢出返回到 v4 的地址即可。这里直接给了 buf 7 的权限,即可读可写可执行,那么 shellcode 肯定写到 buf 里。我们利用的溢出点在 v4,是第二次的 read,所以第一次随便输,第二次输入测偏移。拿到返回的报错地址:0x6161616161616168。偏移是 104,再提取一下 v4 的地址就可以了。
2025-04-30 18:24:14
612
原创 PWN基础-利用格式化字符串漏洞泄露canary结合栈溢出getshell
canary 所在地址为 0xffffcffc,内容为 0xe8ac1700。然后运行,期间会经过第一个 read 函数,随便输入:RRR。再看一下 canary 距离我们输入字符串的距离,偏移是 8。重新运行 canary 值会变:现在是 0x37133900。继续往下走,可以发现打印出的值就是 canary 的值。p 只显示了地址,x 还显示了地址处的内容。我们在栈上面找一下 0xe8ac1700。但是测试发现,输出结果多了一个换行符。这部分后面需要填充为垃圾数据。距离栈顶偏移值为 15。
2025-04-27 12:20:38
552
5
原创 浅谈第四届SWCTF勇师傅的两道题(gege+第三人称)
所以压缩包的密码就是你看到的那串字符串 base64 解密的结果,只是解密结果有乱码,看你怎么将这个密码传递给压缩包了。压缩包的加密算法是 AES,zipfile 库是不支持的,我们采用 pyzipper。附件是一个自解压文件(放了一点其他好东西,等一分钟就没事了)压缩包里也说了,图片就是隐写基操,改一下高度就可以了。页面没有功能点,F12 看源码,在响应头找到路径。直接解码肯定是乱码,因为我放的就是乱码。由于这里有密钥,直接改名字肯定不行。就是这样的啦,希望你们能学到新东西。随便填一个,拿到新路径。
2025-04-21 10:45:31
712
5
原创 ctfshow-web入门-特定函数绕过(web396-web405)
host 为有效 IP ,scheme需要包含 ~或者.或者php,path以/开头并且只包括字母数字。使用正则验证 host 是否为有效的 ip 地址,我们前面一直传的 127.0.0.1 肯定是有效的。其实它根本都有没过滤到我们,就用分号也是可以的。环境没有开启成功,后面能开了再看。
2025-03-28 19:30:43
564
1
原创 ctfshow-web入门-黑盒测试(web380-web385)
发现参数直接传给了 file_get_contents 函数,存在文件包含漏洞,后面自动拼接了 .php。是 md5 加密后的,sqlmap自动帮我们爆破到了其中两个,另一个可以通过 cmd5 碰撞到。我们这里并不是想拿 flag,而是想拿 admin 的密码,因此我们跑 users 表的字段。重新跑数据库,将数据库跑完,发现还有一个叫 ctfshow 的数据库。
2025-03-28 14:10:28
1234
西南科技大学数电实验mutisim仿真与diamond源文件FPGA部分
2024-08-01
西南科技大学模电实验mutisim原理仿真与工程仿真源文件
2024-08-01
西科大模电、电磁波、计网期末复习题
2024-05-26
西科大数据结构实验课程代码
2024-05-26
西科大数据结构期末复习题
2024-05-26
模拟电子技术实验虚拟实验平台
2024-05-26
西南科技大学微机原理实验四(定时器程序设计)包含任务一与任务二的asm源文件附带LIB-TIM.OBJ文件
2023-12-16
数电实验考试综合设计mutisim及diamond仿真源文件(数值判别电路与十八进制计数器的设计)
2023-12-15
Layer子域名挖掘机4.2纪念版
2023-12-15
goby-红队专用版-for-Windows
2023-12-15
御剑1.5(含配置文件)
2023-12-15
16+进制计数器(基于两片74LS160D实现高进制计数器)数电实验考试内容之一
2023-12-13
西科大数电实验五(用计数器设计简单秒表)mutisim仿真源文件
2023-12-12
西科大数电实验四(基本触发器逻辑功能测试及FPGA的实现)mutisim仿真源文件
2023-12-11
西科大数电实验四(基本触发器逻辑功能测试及FPGA的实现)diamond仿真源文件(波形图)包括D、JK、RS
2023-12-11
随波逐流CTF解码工具
2023-10-08
ARCHPR 密码恢复破解工具
2023-07-09
HVV行动各大厂商面试总结
2023-07-09
IDA-Pro-7.7-全插件版
2023-07-09
Seay源代码审计系统(AWD必备)
2023-07-09
蓝桥杯单片机(IAP15F2K61S2)资源数据包-2023
2023-07-09
Bandizip(专业版)
2023-07-09
Githack(Git泄露利用必备工具)
2023-07-09
AWD比赛各类必备脚本
2023-07-09
D盾-webshell检测必备工具
2023-07-09
win10重装系统后wifi不见了是缺少网卡驱动吗
2024-05-27
edusrc挖掘干货
2024-03-25
腾讯云服务器的数据如何迁移到阿里云服务器上
2023-11-30
关于#服务器#的问题:想问一下物理服务器该怎么搭建和部署啊(相关搜索:云服务器)
2023-11-27
云服务器中了挖矿马怎么处理?
2023-09-07
轻薄本推荐#ThinkPad#mac
2023-09-07
增强型mosfet是vccs器件吗?必须依靠栅极外加电压才能产生反型层吗?
2023-06-11
如何基于一个IP搭建多个网站(博客和靶场)
2023-05-19
docker-comppse执行报错
2023-05-17
TA创建的收藏夹 TA关注的收藏夹
TA关注的人