网络安全
未读1.若依项目介绍 Ruoyi(若依)是一款基于Spring Boot和Vue.js开发的快速开发平台。它提供了许多常见的后台管理系统所需的功能和组件,包括权限管理、定时任务、代码生成、日志管理等。Ruoyi的目标是帮助开发者快速搭建后台管理系统,提高开发效率。
若依有很多版本,其中使用最多的是Ruoyi单应用版本(RuoYi),Ruoyi前后端分离版本(RuoYi-Vue),Ruoyi微服务版本(RuoYi-Cloud),Ruoyi移动版本(RuoYi-App)。
本系列会对这些版本的历史漏洞进行一一复现。
2.文章目录
RuoYi
RuoYi-Vue
RuoYi-Cloud(待更新)
RuoYi-App(待更新)
一.PC抓包
使用proxifier将WX小程序的的包进行代理转发到BP。
1. 下载Proxifier
下载proxifier,正规发布软件,因此谷歌搜索下载就行了。
下载后可使用以下注册码进行注册
123L6Z8A-XY2J4-BTZ3P-ZZ7DF-A2Q9C(Windows Portable Edition)5EZ8G-C3WL5-B56YG-SCXM9-6QZAP(Windows Standard Edition)P427L-9Y552-5433E-8DSR3-58Z68(MAC)
2. 配置代理应用和代理地址
先配置代理到BP端口
配置需要代理的应用
取消默认的代理规则,添加新的代理规则
设置代理规则名,设置需要代理的应用,设置代理行为。
代理的应用微信扩展应用
微信扩展应用地址可通过任务管理器查找
打开对应的小程序就可以看到对应的子进程记录
打开BP也能看到对应小程序的包。
二.强制开启开发者模式
利用开源工具WeChatOpenDevTool同时下载匹配版本的微信对其进行hook注入,实现打开开发者模式,使用断点调试 ...
网络安全
未读以下是Nginx常见的历史漏洞及配置错误导致的安全问题,按类型和影响分类整理:
一、解析类漏洞
文件名逻辑漏洞(CVE-2013-4547)
影响版本:Nginx 0.8.411.4.3 / 1.5.01.5.7
原理:错误解析URI中的空格(0x20)和空字节(0x00),导致攻击者可通过构造文件名(如1.jpg[空格][空字节].php)绕过安全检查,使非PHP文件被解析为PHP执行。
利用场景:上传恶意文件后,通过修改请求头触发解析漏洞。
配置不当导致的PHP解析漏洞
影响范围:与Nginx和PHP版本无关,因cgi.fix_pathinfo默认开启(值为1)。
原理:Nginx将.php结尾的请求直接转发给PHP处理,即使文件路径中.php部分不存在。例如,访问/test.jpg/.php时,test.jpg会被当作PHP解析。
%00截断解析漏洞
影响版本:Nginx 0.5.x、0.6.x、0.7≤0.7.65、0.8≤0.8.37
原理:利用URL中的空字节(%00)截断路径解析,例如访问/test.jpg%00.php,使 ...
一.HTTPS SSL/TLSHTTPS通过SSL/TLS协议实现安全通信,其核心在于握手阶段的加密协商和密钥交换,随后使用对称加密传输数据。以下是详细的流程和加密原理:
TLS1.2 密钥协商流程
ClientHello
客户端向服务器发送支持的TLS版本、可用加密套件列表(如TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256)及一个客户端随机数(Client Random)。
ServerHello
服务器选择TLS版本、加密套件,并生成服务器随机数(Server Random),返回给客户端。
证书与密钥交换参数
证书传输:服务器发送数字证书(包含公钥和CA签名),客户端验证证书的合法性(CA信任链、有效期、域名匹配等)。
ServerKeyExchange(可选):若使用ECDHE等算法,服务器发送临时公钥参数(如椭圆曲线参数)和签名,确保参数未被篡改。
ServerHelloDone:通知客户端初始握手信息发送完毕。
客户端密钥交换
验证证书:客户端验证服务器证书后,生成预主密钥 ...
网络安全
未读以下是Tomcat中间件的主要安全漏洞及其详细信息,基于公开披露的CVE编号和漏洞报告整理:
Tomcat常见漏洞汇总1. 远程代码执行漏洞(CVE-2025-24813)
影响版本:Apache Tomcat 9.0.0-M1 至 9.0.98Apache Tomcat 10.1.0-M1 至 10.1.34Apache Tomcat 11.0.0-M1 至 11.0.2
漏洞原理:默认Servlet的写入功能启用后(默认禁用),攻击者可通过部分PUT请求上传恶意序列化会话文件,结合Tomcat的基于文件会话持久化机制触发反序列化,实现远程代码执行(RCE)或信息泄露。
修复建议:升级至Tomcat 9.0.99、10.1.35或11.0.3。
关键词:PUT文件上传、反序列化
2. PUT方法任意文件写入漏洞(CVE-2017-12615)
影响版本:Apache Tomcat 7.0.0 – 7.0.81Apache Tomcat 8.5.19(部分配置下)
漏洞原理:若web.xml中readonly参数设置为false,攻击者可通过PUT请求上传恶意JSP文 ...
网络安全
未读以下是绕过 PHP disable_functions 限制的完整方案,逐步说明如何在内网攻击中实现网络请求:
绕过 disable_functions 的终极方案1. 确认禁用函数列表首先通过 phpinfo() 或以下脚本获取被禁用的函数:
12<?phpecho "禁用函数:" . ini_get('disable_functions');
2. 基于可用函数的绕过方法根据未被禁用的函数选择对应策略:
方案一:利用 LD_PRELOAD + mail() 组合适用条件:
mail() 函数可用
可上传 .so 文件(Linux)或编写自定义库
步骤:
编写恶意共享库(bypass.c):
12345678910111213141516171819202122232425#include <stdlib.h>#include <stdio.h>#include <sys/socket.h>#include <netinet/in.h>#include <arpa/ine ...
1.WEB JS逆向出密钥和算法以及签名
通过前端JS逆向发现请求响应都使用的是SM4加密算法。且跟踪代码后发现密钥在前端进行了硬编码
而签名逻辑为url+body参数+‘-’+url参数+请求方法,最后替换掉斜线
2.复现完整加解密和签名逻辑
首先对加密数据进行BASE64解码为二进制数据,然后进行SM4ECB解密。加密就反过来即可。
签名逻辑复现
3.编写插件3.1.新建IDEA Maven项目
我这里采用的是Maven项目,如果想用Groovy构建的也可以,Groovy构建的更快,官方也是用的Groovy,不过我用的不够熟悉,有时候构建容易出问题,所以我这采用Maven构建。需要注意的是JDK版本一定要是JAVA17版本以上的,因为我们这使用的是新版本的montoya-api,而不是老版本的API,所以必须使用高版本JAVA。
pom文件配置
需要导入的是bp插件的API依赖两个,
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 ...
1.简介
该链主要利用org.apache.commons.collections.functors.InvokerTransformer类可通过反射调用程序中任意方法,包括Runtime.getRuntime()方法。
pom.xml导入commons-collections依赖
12345<dependency> <groupId>commons-collections</groupId> <artifactId>commons-collections</artifactId> <version>3.2.1</version></dependency>
该篇讲的是CC1中的一条链,也是原作者最开始用的一条链,前面一篇不过是之后的变种,也就是说这个才是原来那条最开始流行的CC1链。
2.代码分析2.1.执行类分析(这部分和上一节一样)
在CC1中用来作为执行类的是org.apache.commons.collections.functors.InvokerTran ...
1.简介
该链主要利用org.apache.commons.collections.functors.InvokerTransformer类可通过反射调用程序中任意方法,包括Runtime.getRuntime()方法。
pom.xml导入commons-collections依赖
12345<dependency> <groupId>commons-collections</groupId> <artifactId>commons-collections</artifactId> <version>3.2.1</version></dependency>
该篇讲的是CC1中的一条链,也是原作者最开始用的一条链,前面一篇不过是之后的变种,也就是说这个才是原来那条最开始流行的CC1链。
2.代码分析2.1.执行类分析(这部分和上一节一样)
在CC1中用来作为执行类的是org.apache.commons.collections.functors.InvokerTran ...
网络安全
未读1.基础题1.1.SQL注入1.1.1.MG医院患者就诊档案管理系统
通过万能用户进入系统
密码考试时会给出
常出现的注入点
通过order by 判断上条查询语句返回的列数(小于等于条目数是返回正确,大于时返回错误)。
1pid=1'+order+by+14--+
注入(考试时不一定是15个,24,18,11都有可能)
1pid=-1'+union+select+1,2,3,4,5,6,7,8,9,10,11,12,13,14,15--+
通过load_file(‘’)读取本地文件(文件路径题目给出)
其他还可能出现注入点的位置
医生-查看患者档案-编辑
患者-编辑
药品-编辑
检查-编辑
治疗-编辑
1.1.2.文章发布
在插入文章位置存在SQL注入(insert)
公式为: 其中gbg必须和注册的用户名一致才能插入成功
12345123','gbg'),('123',(select/**/database()),'a123',' ...