Laravel漏洞合集
Laravel漏洞合集SQL注入(ignore)漏洞描述:
该漏洞存在于Laravel的表单验证功能,漏洞函数为ignore(),漏洞文件位于/vendor/laravel/ramework/src/Illuminate/Validation/Rules/Unique.php。有时候开发者希望在进行字段唯一性验证时忽略指定字段以及字段值,通常会调用Rule类的ignore方法。该方法有两个参数,第一个参数为字段值,第二个参数为字段名,当字段名为空时,默认字段名为“id”。如果用户可以控制ignore()方法的参数值,就会产生SQL注入漏洞。漏洞影响版本<=5.8.5
查看官方修改:
发现在ignore值获取的过程中添加了addslashes()过滤
测试环境搭建:
新建一个控制器:\app\Http\Controllers\TestController.php
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Req ...
Commons-Collections反序列化链合集
Commons-Collections利用链合集前置知识
java反射
javassist
动态代理
JVM类加载机制
CC1版本:cc3.1~3.2.1
jdk: < 8u71
环境搭建:
<dependencies>
<dependency>
<groupId>commons-collections</groupId>
<artifactId>commons-collections</artifactId>
<version>3.1</version>
</dependency>
</dependencies>
对比官方在3.2.2版本https://github.com/apache/commons-collections/commit/1642b00d67b96de87cad44223efb9ab5b4fb7be5
默认情况下禁用 ...
迅睿CMS反序列化漏洞
迅睿CMS反序列化漏洞前言文章首发于奇安信攻防社区
测试环境:V 4.6.2 ,目前最新版
漏洞点\xunruicms\dayrui\Fcms\Core\Helper.php
function dr_string2array($data, $limit = '') {
if (!$data) {
return [];
} elseif (is_array($data)) {
$rt = $data;
} else {
$rt = json_decode($data, true);
if (!$rt) {
$rt = unserialize(stripslashes($data));
}
}
if (is_array($rt) && $limit) {
return dr_arraycut($r ...
ThinkPHP 代码审计
ThinkPHP代码审计
基础URL和路由:https://blog.csdn.net/lthirdonel/article/details/88775620
thinkphp内置了几种方法,在ThinkPHP/Common/functions.php,比如I(),M()等等
A 快速实例化Action类库
B 执行行为类
C 配置参数存取方法
D 快速实例化Model类库
F 快速简单文本数据存取方法
I http获取参数
L 语言参数存取方法
M 快速高性能实例化模型
R 快速远程调用Action类方法
S 快速缓存存取方法
U URL动态生成和重定向方法
W 快速Widget输出方法
ThinkPHP 2.xpreg_replace /e模式代码执行漏洞https://blog.csdn.net/weixin_43749601/article/details/113417093
在2.1版本中存在大量preg_replace()函数使用了/e模式,如果参数可控,有可能存在任意代码执行漏洞(php<7)
下面的@e和/e是一样的
在Think ...
NginxWebUi 任意命令执行漏洞
漏洞描述nginxWebUI是一款图形化管理nginx配置的工具,能通过网页快速配置nginx的各种功能,包括HTTP和TCP协议转发、反向代理、负载均衡、静态HTML服务器以及SSL证书的自动申请、续签和配置,配置完成后可以一键生成nginx.conf文件,并控制nginx使用此文件进行启动和重载。 nginxWebUI后台提供执行nginx相关命令的接口,由于未对用户的输入进行过滤,导致可在后台执行任意命令。并且该系统权限校验存在问题,导致存在权限绕过,在前台可直接调用后台接口,最终可以达到无条件远程命令执行的效果。
影响版本nginxWebUI <= 3.5.2 未授权命令执行漏洞(网上公开为3.5.0 但下载后发现作者已删除GITEE中3.5.0的相应代码,下载3.5.0版本jar包反编译后发现并没有对权限绕过进行修复)nginxWebUI 全版本均存在命令执行漏洞(文章截止最新版3.6.0)
漏洞细节任意命令执行3.4.7 之前版本漏洞存在点:com/cym/controller/adminPage/ConfController.java(3.4.7版本之前 ...
关于Weblogic漏洞(CVE-2023-21839和CVE-2023-21931)
前言之前没复现过Weblogic相关的漏洞,现在有空就想复现一下今年爆出的两个漏洞CVE-2023-21839和CVE-2023-21931,跟着大佬的文章学习一手
T3协议T3协议参考https://c0ny1.gitbooks.io/javasec/content/jing-dian-an-li/t3xie-yi-yan-jiu.html
查阅资料发现weblogic的反序列化漏洞大致分为两种,一种是基于T3协议的反序列化漏洞,一种是基于XML的反序列化漏洞。
关于这个T3协议,是Weblogic里面独有的一个协议,传输的数据是序列化后的数据,而服务器在接收到数据后会进行一个反序列化的操作,所以下面提到的两个漏洞都是属于后序列化漏洞
后序列化漏洞
Weblogic反序列化漏洞挖掘思路是利⽤ readObject() 、 readResolve() 、 readExternal() 等反序列化⽅法对恶意序列化数据进⾏操作,以达到攻击⽬的。常规的漏洞思路重点关注Weblogic在反序列化过程中进⾏恶意攻击,⽽忽略了反序列化完成后的操作。后反序列化漏洞挖掘的思路重点关注Weblogic完 ...
CommonsCollections2
CommonsCollections2前言很久没学习了,对java的反序列化的知识很陌生,学习一下CC2,打好基础 ,篇幅不多贵在记录
环境搭建CC2使用的是javassist和PriorityQueue来构造利用链;并且使用的是commons-collections-4.0版本,而3.1-3.2.1版本中TransformingComparator并没有去实现Serializable接口,也就是说这是不可以被序列化的,所以CC2不用3.x版本
java 1.8_111
commons-collections4
在maven项目中的pom文件中添加下面两个依赖
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-collections4</artifactId>
<version>4.0</version>
</dependency>
<d ...
Shiro反序列化漏洞
概述Apache Shiro是一个强大易用的Java安全框架,提供了认证、授权、加密和会话管理等功能。Shiro框架直观、易用,同时也能提供健壮的安全性。
Shiro反序列化漏洞Shiro-550(Apache Shiro < 1.2.5)和Shiro-721( Apache Shiro < 1.4.2 )。这两个漏洞主要区别在于Shiro550使用已知密钥撞,后者Shiro721是使用登录后rememberMe={value}去爆破正确的key值进而反序列化,对比Shiro550条件只要有足够密钥库(条件比较低)、Shiro721需要登录(要求比较高鸡肋)。
Apache Shiro < 1.4.2默认使用AES/CBC/PKCS5Padding模式
Apache Shiro >= 1.4.2默认使用AES/GCM/PKCS5Padding模式
Shiro550原理Apache Shiro< =1.2.4提供了记住密码的功能(RememberMe),用户登录成功后会生成经过加密并编码的cookie。在服务端对reme ...
Fastjson漏洞分析
Fastjson漏洞分析FastJson 是阿⾥巴巴的开源 JSON 解析库,它可以解析 JSON 格式的字符串,⽀持将 Java Bean 序列
化为 JSON 字符串,也可以从JSON字符串反序列化到 Java Bean
环境:
jdk1.8.0_u111
fastjson: 1.2.24
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.24</version>
</dependency>
Fastjson的简单使用package org.example;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import jdk.nashorn.api.scripting.JSObject;
public class demo1 {
...
CommonsCollections6
CommonsCollections6前言前几天搞的CC1没成功弹出计算器,后来查找发现,是jdk版本问题,8u71之后已修复不可利用,主要原因是 sun.reflect.annotation.AnnotationInvocationHandler#readObject 的逻辑变化了
CommonsCollections6 解决了高版本 Jdk 的利用问题,所以来学习一下(主要是懒得安装其低版本的jdk)
利用链的限制条件: JDK 版本:暂无限制、 CommonsCollections 3.1 - 3.2.1
利用链: Gadget chain:
java.io.ObjectInputStream.readObject()
java.util.HashSet.readObject()
java.util.HashMap.put()
java.util.HashMap.hash()
org.apache.commons.collectio ...