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

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

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

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

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

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

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

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

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

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

原创 主动扫描-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
16391
1

原创 Kali Linux 的常用命令
Kali Linux 的常用命令 1、与文件目录相关的命令 2、文件查看命令 3、网络相关命令 4、进程控制命令 其他常用命令 hosts文件 脚本编写
2023-03-12 20:07:31
10682
2
原创 PWN基础-ROP技术-ret2syscall-64位程序栈溢出利用
后面传两个参数就可以了,分开写,一起写都可以的,这里就不做过多演示了。前置 ret2syscall 的基础我们就不做过多讲解了。execve 系统调用号是 59,也就是 0x3b。ida 看一下 main 函数,存在明显的栈溢出。看到有两个连一起的,当然我们也可以一个一个地传参。而 64 位系统调用最后是执行 syscall。32 位系统调用最后是执行 int x080。我们这里只用到前三个就可以了,以及 rax。这里看到的这个不对,因为后面没有 ret。正确的应该是 0x45BAC5。
2025-05-08 22:16:36
110
原创 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
1000
原创 ROP链-BUUCTF-cmcc_simplerop(ret2syscall)
当然这个地址我们也可以通过符号表来找,因为这里的程序是静态链接的 ELF 文件,所有不能通过 plt 或者 got 表,因为压根就不存在。这样后面才能正常的 ret2syscall 传参,从而系统调用 execv。但是这里还有一个问题,程序没有类似于 pop [ecx] 这样的指令。利用思路类似,建议先看完我上面的这篇博客,我这里不再过多叙述。但是 read 函数执行后,它的三个参数还在栈顶上。
2025-05-08 16:25:15
262
原创 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
305
原创 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
248
原创 [第十五章][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
580
原创 PWN基础-利用格式化字符串漏洞泄露canary结合栈溢出getshell
canary 所在地址为 0xffffcffc,内容为 0xe8ac1700。然后运行,期间会经过第一个 read 函数,随便输入:RRR。再看一下 canary 距离我们输入字符串的距离,偏移是 8。重新运行 canary 值会变:现在是 0x37133900。继续往下走,可以发现打印出的值就是 canary 的值。p 只显示了地址,x 还显示了地址处的内容。我们在栈上面找一下 0xe8ac1700。但是测试发现,输出结果多了一个换行符。这部分后面需要填充为垃圾数据。距离栈顶偏移值为 15。
2025-04-27 12:20:38
477
4
原创 浅谈第四届SWCTF勇师傅的两道题(gege+第三人称)
所以压缩包的密码就是你看到的那串字符串 base64 解密的结果,只是解密结果有乱码,看你怎么将这个密码传递给压缩包了。压缩包的加密算法是 AES,zipfile 库是不支持的,我们采用 pyzipper。附件是一个自解压文件(放了一点其他好东西,等一分钟就没事了)压缩包里也说了,图片就是隐写基操,改一下高度就可以了。页面没有功能点,F12 看源码,在响应头找到路径。直接解码肯定是乱码,因为我放的就是乱码。由于这里有密钥,直接改名字肯定不行。就是这样的啦,希望你们能学到新东西。随便填一个,拿到新路径。
2025-04-21 10:45:31
691
5
原创 ctfshow-web入门-特定函数绕过(web396-web405)
host 为有效 IP ,scheme需要包含 ~或者.或者php,path以/开头并且只包括字母数字。使用正则验证 host 是否为有效的 ip 地址,我们前面一直传的 127.0.0.1 肯定是有效的。其实它根本都有没过滤到我们,就用分号也是可以的。环境没有开启成功,后面能开了再看。
2025-03-28 19:30:43
549
1
原创 ctfshow-web入门-黑盒测试(web380-web385)
发现参数直接传给了 file_get_contents 函数,存在文件包含漏洞,后面自动拼接了 .php。是 md5 加密后的,sqlmap自动帮我们爆破到了其中两个,另一个可以通过 cmd5 碰撞到。我们这里并不是想拿 flag,而是想拿 admin 的密码,因此我们跑 users 表的字段。重新跑数据库,将数据库跑完,发现还有一个叫 ctfshow 的数据库。
2025-03-28 14:10:28
1196
原创 Windows 文件加密系统 EFS
适用对象:Windows 系统 + ntfs 格式磁盘。文件属性 -> 高级,加密内容以便保护数据。找到证书,刷新,在个人证书里会多出一个证书。win+R 键入 mmc 打开控制台。文件 -> 添加/删除管理单元...对于某个我们想要进行加密的文件。重启系统,加密文件已无法打开。如果密码错误也是无法导入的。此时文件又可以正常打开了。导出之后删掉原来的证书。
2025-03-10 22:09:42
296
原创 渗透测试-利用mitmdump联动BurpSuite处理JS加解密示例
mitmproxy 中的 miti 其实就是中间人攻击,在保障服务端与客户端正常通信前提下,通过指定自定义的 python 脚本,实现任意化定制自动发包测试。上面只是以一个简单的 base64 加密为例,实际上这种方法在 js 逆向加解密测试中非常重要,因为现在很多网站数据传输都存在加密,不可能手动一次次去解,就可以考虑 mitmdump 与 BurpSuite 的联动,相当于网站完全没有加密了。
2025-01-22 11:15:44
944
原创 ctfshow-re2 详解
将 Str 中的每个字符与 0x1F 异或,结果存储在 Str1 中,之后将 Str1 与字符串 "DH~mqqvqxB^||zll@Jq~jkwpmvez{" 进行比较,如果两个字符串相同则返回充值成功。那么这里处理的数据其实就是文件流 Stream 中的字节数据,即我们的文件 enflag.txt。定位关键函数 sub_401069 ,应该是对输入密钥 Str 进行了处理。继续跟进 sub_401A70 函数,就来到了加密逻辑的地方。判断为 RC4 算法,核心函数是 sub_4015E0。
2024-12-04 10:52:02
744
原创 ctfshow-web入门-SSRF(web351-web360)
通过 filter_var() 验证得到的 IP 地址是否为有效的公共 IP 地址,并且不是私有或保留地址。使用 gethostbyname() 将 URL 中的域名解析为对应的 IP 地址。使用 file_get_contents() 获取并输出该 URL 对应的内容。限制只能使用 http 或者 https 协议,并且禁止本地地址访问。匹配以 http://ctf. 开头,并且以 show 结尾。看到 curl_exec 函数,很典型的 SSRF。这次检测的是 127.0. 开头的。
2024-11-16 17:43:15
1397
原创 ctfshow-web入门-JWT(web345-web350)
F12 看到提示但是访问 admin 会重定向到 index.php提取 jwt 解码没有签名部分,只有 jwt 的前两部分 header 和 payloaduser 改成 admin,它这里没有声明加密算法,我们随便指定一个常见的 HS256。
2024-11-15 16:30:51
1151
1
原创 ctfshow-web入门-SSTI(web369-web372)下
当然,我们也可以按照上一题 {%print((lipsum|attr(gl)|string|list).pop(431))%} 的方法定位斜杠的位置,继续做拼接,按理来说是可行的,各位自行尝试,我只是觉得那样做复杂了。重新找一遍太折腾了,我们这里换 payload,不再构造数字了,直接用全角数字替换半角数字。看了其他wp发现这道题有更简单的方法,大家自行摸索,我这里还是做复杂了。因此我们前面构造的字符就会有区别,需要重新定位字符的位置。上一题演示的是外带,这里我们尝试反弹 shell。
2024-11-15 11:59:23
935
原创 ctfshow-web入门-SSTI(web361-web368)上
这个 payload 是一次性的,因为 pop 会删除里面的键,导致环境崩溃。对于这种没有过滤的,还有其他很多很多方法,这里就不列举了。前面的 payload 太长了,构造起来比较麻烦和乱。更保险的是使用 __getitem__ ,方法同上。(1)使用子类可以直接调用的函数来打。模糊测试看一下,过滤了 2 和 3。双大括号中过滤了 request。测试一下存在 SSTI 注入。并且 post 传参不允许。那就传给 cookie 吧。但是 {% %} 中可用。一起传给 cookie。
2024-11-13 17:21:26
871
原创 ctfshow-web入门-反序列化(web271-web278)
laravel 反序列化漏洞。public$admin=false; admin 默认是 false ,我们需要修改它为 true 才会进入 system。但是这里无法直接修改,我们可以采用 phar 文件来触发,当读取 phar 文件时,会自动反序列化 manifest 中的字符串,采用 phar 协议来读取即可。
2024-11-11 12:58:44
900
原创 ctfshow-web入门-反序列化(web265-web270)
_destruct() 在对象被销毁时会自动调用,我们只需要让 ctfshow 类正确被反序列化即可,但是直接传 ctfshow 会被检测,之后就会抛出异常,如果程序报错或者抛出异常就不会触发 __destruct() 了,因为 throw 那个函数回收了自动销毁的类,导致 __destruct() 检测不到有东西销毁,从而也就无法触发 __destruct()。拿到 flag:ctfshow{f5b30e4e-16e1-4fb2-ad07-c75c6c069453}admin/admin 可以登录。
2024-11-09 13:11:57
755
1
原创 ctfshow-web入门-反序列化(web260-web264)
session.serialize_handler 是用来设置 session 序列化引擎的,在 5.5.4 前默认是 php,5.5.4后默认是 php_serialize,在 PHP 反序列化存储的 $_SESSION 数据时如果使用的引擎和序列化时使用的引擎不一样,就会导致数据无法正确第反序列化,也就是 session 反序列化漏洞。要求传入的内容序列化后包含指定内容即可,在 PHP 序列化中,如果键名或值包含 ctfshow_i_love_36D,那么整个序列化结果也会包含这个字符串。
2024-11-08 13:04:46
1821
原创 NewStarCTF2024-Week5-Web&Misc-WP
通过把 time 赋值为 happy 对象,将对象当做字符串就会触发 __tostring 魔术方法,转而继续执行 get_flag 函数,进入一个循环。但是文件传上去了怎么执行呢,文件是不会自己执行的,而且是 python 写的网站,我们 php 传上去也根本解析不了。这一步也是折腾了很久,一开始试了 /bin/ls,/usr/bin/ls,发现都会让环境崩掉。这里有个注释符,一开始想的是闭合再插入新的 php 语句,试了下没成功,采用换行符绕过。
2024-11-06 11:03:19
1582
1
原创 NewStarCTF2024-Week4-Misc-WP
hint 是一张倒着的图片,因此将四块二维码进行旋转、取反色等各种操作后进行拼接,取反色后中间有一个十字,看着像数据矩阵码,进行了各种组合,扫不出来。调用合约的 unlock 函数,使 isSolved 变量为 true
2024-10-30 13:46:02
721
原创 NewStarCTF2024-Week4-Web-WP
打算去改上周的脚本,结果去跑的时候忘了将上次的最后 payload 注释,直接就上周的脚本就跑出来 flag 了,week3 应该是打算考布尔盲注,week4 是时间盲注,所以直接就都打通了。最后 final.php 是一个反序列化的利用,一开始还想绕过过滤的 chocolate,后面发现不需要绕过,并且 url 编码后传入不行,直接传序列化后的内容。又看到另一个下载插件路径可控的,但是插件管理里面并没有看到可以下载插件的地方, 手动构造一下,但是似乎出不了网...
2024-10-30 13:32:37
1722
4
原创 NewStarCTF2024-Week3-Misc-WP
最后采样率 22050 下 ctrl+A 全选导出,删掉了左声道,并且没有增强音量下导出。试了很多纯 C++ 的发现不行,那就采用内敛汇编,主要是还做了长度限制。直接搜 flag 没搜到,搜了下 base64 编码后的结果还真搜到了。拿到 flag:flag{U_W1n!最终正确 flag:flag{MU5156_济宁市}试了很多次,特别注意啊,一定不要增强它的音量!听得出来就是十六位,但是尝试了好久。
2024-10-23 09:32:34
580
原创 NewStarCTF2024-Week3-Web-WP
使用 data 协议,结合 base64 编码绕过。这道题当时写的 exp 能打通 week3 和 week4 的,所以下周再给大家放出来。审代码的时候发现这句,说明应该是还有一个叫 flag.py 的文件
2024-10-23 09:25:03
1195
原创 ctfshow-web入门-反序列化(web254-web258)
通过反射调用私有变量。这里 code 和 class 都成了公有变量,我们可以直接访问到,只是增加了正则过滤,匹配的是大小写 o 或者 c:数字: 这种形式的内容,我们在数字前添加 + 绕过。
2024-10-18 16:56:03
1532
原创 NewStarCTF2024-Week2-Misc-WP
这个是 Windows 早期使用的 LM 哈希,通常较弱,容易被破解。在现代系统中一般用 aad3b435b51404eeaad3b435b51404ee 表示未启用(即空值)。我们需要爆破第二个的 hash,NTLM 算法生成的哈希值
2024-10-16 20:35:17
1641
原创 NewStarCTF2024-Week2-Web-WP
在 PHP8 之前,如果参数中出现中括号[,那么中括号会被转换成下划线_,但是会出现转换错误,导致如果参数名后面还存在非法字符,则不会继续转换成下划线。也就是说,我们可以刻意拼接中括号制造这种错误,来保留后面的非法字符不被替换,因为中括号导致只会替换一次。顺便说下这里回溯绕过和数组绕过都是不行的,回溯一般用于匹配不到的情况,这里是要求匹配成功,其次我传了下服务器直接处理不了,数组的话也是一般用于匹配不到,因为 preg_match 处理不了数组会直接返回 false,显然这里需要的是返回 true。
2024-10-16 20:19:06
1591
原创 volatility 工具(vol.py)报错 ERROR : volatility.debug : You must specify something to do (try -h)
记录在 kali 使用工具 volatility(vol.py)的一个报错及解决方案。找不到 Crypto 库,尽管我们已经安装了 pycryptodome 库。执行其他很多其他的插件(比如 mimikatz)也会遇到也会遇到这个报错。此时执行 vol.py 依旧是会报错的,没有 construct 这个库。解决方法:安装更新 setuptools 和 wheel。在安装第二个库 construct 时又遇到了报错。后面发现是 python 版本的问题。使用下载的脚本安装 pip。
2024-10-08 23:19:36
993
4
西南科技大学数电实验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
御剑1.5(含配置文件)
2023-12-15
Layer子域名挖掘机4.2纪念版
2023-12-15
goby-红队专用版-for-Windows
2023-12-15
16+进制计数器(基于两片74LS160D实现高进制计数器)数电实验考试内容之一
2023-12-13
西科大数电实验五(用计数器设计简单秒表)mutisim仿真源文件
2023-12-12
西科大数电实验四(基本触发器逻辑功能测试及FPGA的实现)diamond仿真源文件(波形图)包括D、JK、RS
2023-12-11
西科大数电实验四(基本触发器逻辑功能测试及FPGA的实现)mutisim仿真源文件
2023-12-11
随波逐流CTF解码工具
2023-10-08
IDA-Pro-7.7-全插件版
2023-07-09
ARCHPR 密码恢复破解工具
2023-07-09
Seay源代码审计系统(AWD必备)
2023-07-09
Githack(Git泄露利用必备工具)
2023-07-09
AWD比赛各类必备脚本
2023-07-09
HVV行动各大厂商面试总结
2023-07-09
蓝桥杯单片机(IAP15F2K61S2)资源数据包-2023
2023-07-09
Bandizip(专业版)
2023-07-09
D盾-webshell检测必备工具
2023-07-09
win10重装系统后wifi不见了是缺少网卡驱动吗
2024-05-27
edusrc挖掘干货
2024-03-25
腾讯云服务器的数据如何迁移到阿里云服务器上
2023-11-30
关于#服务器#的问题:想问一下物理服务器该怎么搭建和部署啊(相关搜索:云服务器)
2023-11-27
轻薄本推荐#ThinkPad#mac
2023-09-07
云服务器中了挖矿马怎么处理?
2023-09-07
增强型mosfet是vccs器件吗?必须依靠栅极外加电压才能产生反型层吗?
2023-06-11
如何基于一个IP搭建多个网站(博客和靶场)
2023-05-19
docker-comppse执行报错
2023-05-17
TA创建的收藏夹 TA关注的收藏夹
TA关注的人