网络安全
未读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 ...
网络安全
未读Windows认证1.Windows本地认证
Administrator
登陆系统时从sam文件中读取密码哈希和用户输入的密码进行NTML HASH进行比对。
2.我的密码在哪?
路径**%System%\System32\config\SAM**
3.NTLM (NT LAN Manager) HASH
32位 数字+字母(和md5长度一致)
Windows本身不存储用户的明文密码
4.NTLM Hash产生流程1. 输入预处理:密码转 Unicode 编码
原始密码:用户输入的明文密码(例如 Password123)。
编码规则:将密码转换为 UTF-16 Little Endian (LE) 格式的字节序列。
12# 示例:密码 "Password123" 的 UTF-16LE 编码bytes = "P\0a\0s\0s\0w\0o\0r\0d\0123\0".hex() # 每个字符占 2 字节(含空终止符)
2. 计算 MD4 散列值
算法选择:使用 MD4 算法(已被证明不安全,但 NTLMv1/v2 仍依赖此 ...
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 ...