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

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

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

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

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

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

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

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

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

原创 Kali Linux 的常用命令
Kali Linux 的常用命令 1、与文件目录相关的命令 2、文件查看命令 3、网络相关命令 4、进程控制命令 其他常用命令 hosts文件 脚本编写
2023-03-12 20:07:31
10599
2
原创 ctfshow-web入门-特定函数绕过(web396-web405)
host 为有效 IP ,scheme需要包含 ~或者.或者php,path以/开头并且只包括字母数字。使用正则验证 host 是否为有效的 ip 地址,我们前面一直传的 127.0.0.1 肯定是有效的。其实它根本都有没过滤到我们,就用分号也是可以的。环境没有开启成功,后面能开了再看。
2025-03-28 19:30:43
513
1
原创 ctfshow-web入门-黑盒测试(web380-web385)
发现参数直接传给了 file_get_contents 函数,存在文件包含漏洞,后面自动拼接了 .php。是 md5 加密后的,sqlmap自动帮我们爆破到了其中两个,另一个可以通过 cmd5 碰撞到。我们这里并不是想拿 flag,而是想拿 admin 的密码,因此我们跑 users 表的字段。重新跑数据库,将数据库跑完,发现还有一个叫 ctfshow 的数据库。
2025-03-28 14:10:28
1145
原创 Windows 文件加密系统 EFS
适用对象:Windows 系统 + ntfs 格式磁盘。文件属性 -> 高级,加密内容以便保护数据。找到证书,刷新,在个人证书里会多出一个证书。win+R 键入 mmc 打开控制台。文件 -> 添加/删除管理单元...对于某个我们想要进行加密的文件。重启系统,加密文件已无法打开。如果密码错误也是无法导入的。此时文件又可以正常打开了。导出之后删掉原来的证书。
2025-03-10 22:09:42
263
原创 渗透测试-利用mitmdump联动BurpSuite处理JS加解密示例
mitmproxy 中的 miti 其实就是中间人攻击,在保障服务端与客户端正常通信前提下,通过指定自定义的 python 脚本,实现任意化定制自动发包测试。上面只是以一个简单的 base64 加密为例,实际上这种方法在 js 逆向加解密测试中非常重要,因为现在很多网站数据传输都存在加密,不可能手动一次次去解,就可以考虑 mitmdump 与 BurpSuite 的联动,相当于网站完全没有加密了。
2025-01-22 11:15:44
906
原创 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
672
原创 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
1310
原创 ctfshow-web入门-JWT(web345-web350)
F12 看到提示但是访问 admin 会重定向到 index.php提取 jwt 解码没有签名部分,只有 jwt 的前两部分 header 和 payloaduser 改成 admin,它这里没有声明加密算法,我们随便指定一个常见的 HS256。
2024-11-15 16:30:51
1085
1
原创 ctfshow-web入门-SSTI(web369-web372)下
当然,我们也可以按照上一题 {%print((lipsum|attr(gl)|string|list).pop(431))%} 的方法定位斜杠的位置,继续做拼接,按理来说是可行的,各位自行尝试,我只是觉得那样做复杂了。重新找一遍太折腾了,我们这里换 payload,不再构造数字了,直接用全角数字替换半角数字。看了其他wp发现这道题有更简单的方法,大家自行摸索,我这里还是做复杂了。因此我们前面构造的字符就会有区别,需要重新定位字符的位置。上一题演示的是外带,这里我们尝试反弹 shell。
2024-11-15 11:59:23
891
原创 ctfshow-web入门-SSTI(web361-web368)上
这个 payload 是一次性的,因为 pop 会删除里面的键,导致环境崩溃。对于这种没有过滤的,还有其他很多很多方法,这里就不列举了。前面的 payload 太长了,构造起来比较麻烦和乱。更保险的是使用 __getitem__ ,方法同上。(1)使用子类可以直接调用的函数来打。模糊测试看一下,过滤了 2 和 3。双大括号中过滤了 request。测试一下存在 SSTI 注入。并且 post 传参不允许。那就传给 cookie 吧。但是 {% %} 中可用。一起传给 cookie。
2024-11-13 17:21:26
842
原创 ctfshow-web入门-反序列化(web271-web278)
laravel 反序列化漏洞。public$admin=false; admin 默认是 false ,我们需要修改它为 true 才会进入 system。但是这里无法直接修改,我们可以采用 phar 文件来触发,当读取 phar 文件时,会自动反序列化 manifest 中的字符串,采用 phar 协议来读取即可。
2024-11-11 12:58:44
860
原创 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
706
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
1655
原创 NewStarCTF2024-Week5-Web&Misc-WP
通过把 time 赋值为 happy 对象,将对象当做字符串就会触发 __tostring 魔术方法,转而继续执行 get_flag 函数,进入一个循环。但是文件传上去了怎么执行呢,文件是不会自己执行的,而且是 python 写的网站,我们 php 传上去也根本解析不了。这一步也是折腾了很久,一开始试了 /bin/ls,/usr/bin/ls,发现都会让环境崩掉。这里有个注释符,一开始想的是闭合再插入新的 php 语句,试了下没成功,采用换行符绕过。
2024-11-06 11:03:19
1548
1
原创 NewStarCTF2024-Week4-Misc-WP
hint 是一张倒着的图片,因此将四块二维码进行旋转、取反色等各种操作后进行拼接,取反色后中间有一个十字,看着像数据矩阵码,进行了各种组合,扫不出来。调用合约的 unlock 函数,使 isSolved 变量为 true
2024-10-30 13:46:02
711
原创 NewStarCTF2024-Week4-Web-WP
打算去改上周的脚本,结果去跑的时候忘了将上次的最后 payload 注释,直接就上周的脚本就跑出来 flag 了,week3 应该是打算考布尔盲注,week4 是时间盲注,所以直接就都打通了。最后 final.php 是一个反序列化的利用,一开始还想绕过过滤的 chocolate,后面发现不需要绕过,并且 url 编码后传入不行,直接传序列化后的内容。又看到另一个下载插件路径可控的,但是插件管理里面并没有看到可以下载插件的地方, 手动构造一下,但是似乎出不了网...
2024-10-30 13:32:37
1677
4
原创 NewStarCTF2024-Week3-Misc-WP
最后采样率 22050 下 ctrl+A 全选导出,删掉了左声道,并且没有增强音量下导出。试了很多纯 C++ 的发现不行,那就采用内敛汇编,主要是还做了长度限制。直接搜 flag 没搜到,搜了下 base64 编码后的结果还真搜到了。拿到 flag:flag{U_W1n!最终正确 flag:flag{MU5156_济宁市}试了很多次,特别注意啊,一定不要增强它的音量!听得出来就是十六位,但是尝试了好久。
2024-10-23 09:32:34
564
原创 NewStarCTF2024-Week3-Web-WP
使用 data 协议,结合 base64 编码绕过。这道题当时写的 exp 能打通 week3 和 week4 的,所以下周再给大家放出来。审代码的时候发现这句,说明应该是还有一个叫 flag.py 的文件
2024-10-23 09:25:03
1163
原创 ctfshow-web入门-反序列化(web254-web258)
通过反射调用私有变量。这里 code 和 class 都成了公有变量,我们可以直接访问到,只是增加了正则过滤,匹配的是大小写 o 或者 c:数字: 这种形式的内容,我们在数字前添加 + 绕过。
2024-10-18 16:56:03
1486
原创 NewStarCTF2024-Week2-Misc-WP
这个是 Windows 早期使用的 LM 哈希,通常较弱,容易被破解。在现代系统中一般用 aad3b435b51404eeaad3b435b51404ee 表示未启用(即空值)。我们需要爆破第二个的 hash,NTLM 算法生成的哈希值
2024-10-16 20:35:17
1602
原创 NewStarCTF2024-Week2-Web-WP
在 PHP8 之前,如果参数中出现中括号[,那么中括号会被转换成下划线_,但是会出现转换错误,导致如果参数名后面还存在非法字符,则不会继续转换成下划线。也就是说,我们可以刻意拼接中括号制造这种错误,来保留后面的非法字符不被替换,因为中括号导致只会替换一次。顺便说下这里回溯绕过和数组绕过都是不行的,回溯一般用于匹配不到的情况,这里是要求匹配成功,其次我传了下服务器直接处理不了,数组的话也是一般用于匹配不到,因为 preg_match 处理不了数组会直接返回 false,显然这里需要的是返回 true。
2024-10-16 20:19:06
1560
原创 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
925
4
原创 NewStarCTF2024-week1-所有WP(勇师傅版)
第一周的题比较简单所以 ak 了,勇师傅也就新生赛能体会下全栈的感觉,实则菜鸡一枚哈哈哈,要学的东西还多,慢慢来吧,路漫漫其修远兮,吾将上下而求索。
2024-10-08 21:13:55
4430
5
原创 ctfshow-web入门-sql注入(web249-web253)nosql 注入
使用 Memcache 类的 get 方法从缓存中获取数据,$id 是传入的键,用于从缓存中获取与该键对应的值,结果存储在 $user 变量中。直接查 flag,遇到报错:采用数组绕过。这里从 ctfshow{ 后面开始注,将前面的 8 个字符确定后再继续猜后面的字符,即可拿到正确的 flag,
2024-09-13 00:18:47
1190
原创 ctfshow-web入门-sql注入-web248-UDF 注入
但其实 Http 的 get 方法提交的数据大小长度并没有限制,http 协议规范并没有对 url 长度进行限制,所谓的 get 长度有限制,是特定的浏览器及服务器对它的限制,不同浏览器和服务器的最大处理能力也是不同的。但是有一个问题,这里是 get 传参,而 URL 的长度是受限制的(URL 的最大长度是 2048 个字符),显然这里远远超了,若长度超限,服务端会返回 414。使用 concat 来将这三部分拼接后导入前面得到的路径:\/usr\/lib\/mariadb\/plugin\/
2024-09-11 21:28:44
1467
原创 ctfshow-web入门-sql注入(web244-web247)error 报错注入
这里的回显要么是查询成功,要么是查询失败,因此无法使用联合查询注入,很典型的布尔盲注特征,注意这里用于闭合的注释符需要使用 url 编码的形式:题目是想考报错注入,这里我先介绍盲注。同样得到表名ctfshow_flag,再使用extractvalue 函数查列名:
2024-09-11 12:28:43
1371
原创 ctfshow-web入门-sql注入(web241、web242、web243)delete & file 注入
如果采用布尔盲注,我们需要根据页面的回显情况来判断,但是数据只有 21 条,并不够我们删除,还没查出结果数据就会被删完,因此采取时间盲注,通过延时来判断。真的是很无语,题目就给个 dump 目录,又不说我这个 filename 在哪里传,找了 api 接口,不是,file.php?,也不是,我****一个会将写入内容放在开头,另一个则是设置在结尾,为了减少配置文件内容被查询内容影响,这里我们选择将配置文件内容放在开头。等于 0 的 id 没有,因此前面不成立,不会执行删除操作,而是执行后面语句。
2024-09-10 15:13:03
1067
原创 ctfshow-web入门-sql注入(web237-web240)insert 注入
我们需要闭合单引号和括号实际插入的内容成了 1 和 database()可以看到数据库名为 ctfshow_web这里其实我在纠结 # 将后面内容都注释掉了,虽然单引号和括号都正确闭合了,但是 insert 前面单独的双引号不会报错吗?注意,在这个语句中,insert 前面的双引号其实是 PHP 代码中的字符串起始符,SQL 引擎是不会看到这个双引号的,数据库只会看到去掉了 PHP 引号后的 SQL 语句。所以在 PHP 代码中,这样的双引号不会导致 SQL 错误。
2024-09-07 15:08:40
1386
原创 BaseCTF-Misc-Week2-WP
在 FTP-Data flag.zip 这条发现压缩包(flag.txt)数据。筛选关键字 log in,找到一条logged in,前面密码为 administrator!@#,但是试了这个密码不对。全选后发现下面有东西,改一下字体颜色看看,没有发现什么,这里是隐藏字体...我之前是一直开着的后面重装了系统忘了开,就折腾了好久才找到。
2024-08-28 18:13:00
1258
原创 BaseCTF-Web-Week2-WP
但是$s2->word = $s1; 中 word 是私有变量,这里是调用不到的,链子顺序没有问题,修改代码访问私有变量。方法(1)通过使用 PHP 的反射机制访问和修改类的私有属性。原本是有一个工具 hashpump,但是我 git 的时候提示找不到仓库了,然后在 github 上找到了一个写好的 python脚本,叫做 hash-ext-attack:
2024-08-28 17:35:32
1624
原创 BaseCTF-web-Week1
在 URL 中,@ 符号前面的部分通常表示用户信息(例如用户名和密码),这种用法曾经用于需要在 URL 中嵌入用户名和密码的情况,但是由于安全原因,这种方式已逐渐被淘汰,现代浏览器大多不再支持直接从 URL 中提取用户名和密码进行身份验证。
2024-08-25 13:18:51
1444
原创 ctfshow-web入门-sql注入(web231-web236)update 注入
使用 mysql.innodb_table_stats 和 mysql.innodb_index_stats 代替,它们是 MySQL 内部的系统表,用于存储 InnoDB 引擎相关的统计信息,内容与 information_schema.tables 类似,也可以用来获取数据库中的库名和表名,这两个表都包含了 database_name 和 table_name 字段。数据库名还是 ctfshow_web,后面的密码是我们输入的 111 经过 md5 加密后的内容。
2024-08-24 11:49:12
1243
1
西南科技大学数电实验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关注的人