以RuoYi-Cloud入手SpringCloud了解请求流转过程
最近做代码审计,遇到一个SpringCloud系统存在漏洞,找到了Controller,但是不会发请求包,于是通过RuoYi-Cloud来学一下怎么构造请求路径 环境搭建参考链接 https://doc.ruoyi.vip/ruoyi-cloud/document/hjbs.html 搭建环境 RuoYi-Cloud v3.6.6,自行克隆代码checkout JDK 17.0.16 Windows x64 Kali 拉取必要镜像 123docker pull mysql:5.7docker pull redis:8docker pull nacos/nacos-server:v3.1.0 MySQL1234567891011121314151617rm -rf /data/mysql/{data,conf,logs}mkdir -p /data/mysql/{data,conf,logs}mkdir -p /data/mysql/init# init目录下放初始化SQLdocker run -d \ --name mysql57...
JQF入门手册
JQF简介JQF 是一个面向 Java 的反馈驱动模糊测试平台(类似于 AFL/LibFuzzer,但针对 JVM 字节码)。JQF采用属性测试的抽象机制,便于将模糊驱动程序编写为参数化JUnit测试方法。该平台基于junit-quickcheck构建,支持运行junit-quickcheck风格的参数化单元测试,同时融合Zest等覆盖率引导模糊算法的强大功能。 Zest 是一种将覆盖率引导模糊测试偏向生成语义有效输入的算法,即在满足结构与语义属性的同时最大化代码覆盖率。其目标是发现传统模糊工具无法检测的深层语义缺陷——后者主要仅关注错误处理逻辑。默认情况下,JQF 通过简单命令运行 Zest:mvn jqf:fuzz 上述介绍中的mvn jqf:fuzz,前提是你的Maven工程引入对应的Maven插件,由于jqf有很多小优化,这边建议直接使用当前最新版jqf-2.0(截止2025-11-13),本文由于漏洞复现需要,选择jqf-1.7(最后一个兼容JDK8的版本)来测试,下面以jqf自定义seed模糊测试扫描Log4j2...
Jarbas靶机笔记
地址:https://www.vulnhub.com/entry/jarbas-1,232/ 信息收集1nmap -T4 -Pn -A 192.168.19.0-255 总结:目标机常用端口开放了22、80、3306、8080,我认为渗透优先级3306>8080>80>22 3306端口根据nmap扫描结果,试一下弱口令能否连接,不行,下一个端口吧 8080端口根据nmap扫描结果,是一个jetty服务器,打开后发现是jenkins中间件,查看右下角,版本号为Jenkins ver. 2.113 vulhub搜索该漏洞nday,发现CVE-2018-1000861,目标版本2.113在影响范围内 https://github.com/vulhub/vulhub/blob/master/jenkins/CVE-2018-1000861/README.zh-cn.md Jenkins旧版本更新日志 https://www.jenkins.io/changelog-old/ 使用...
w1r3s-101,220靶机笔记
靶机地址 https://www.vulnhub.com/entry/w1r3s-101,220/ 信息收集主机发现当前内网环境为192.168.19.0/24,使用fscan进行扫描 1fscan.exe -h 192.168.19.0/24 -nobr -nopoc 目标IP:192.168.19.130,开放了21、22、80、3306这3个端口 端口扫描 感觉nmap比较好用,以后直接用nmap了 21 端口FTP服务的默认端口号是21,匿名登录成功后,下载文件,发现 12345678The W1R3S.inc employee listNaomi.W - ManagerHector.A - IT DeptJoseph.G - Web DesignAlbert.O - Web DesignGina.L - InventoryRico.D - Human Resources 一段base64编码 12SXQgaXMgZWFzeSwgYnV0IG5vdCB0aGF0IGVhc3kuLg==It is easy, but not that...
Java JSON 解析——fastjson反序列化调试
该文是本人自己随手记录的漏洞调试记录,想系统学习漏洞推荐直接到参考链接看一些优秀大佬的博客 1、fastjson基本使用Person类1234567891011121314package top.lrui1.entity; import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; @Data @AllArgsConstructor @NoArgsConstructor public class Person { private String name; private int age; } 序列化12345static void sec() { Person p = new Person("lrui1", 21); String jsonString = JSON.toJSONString(p,...
ESAPI入门指南
1. ESAPI介绍OWASP® ESAPI(OWASP 企业安全 API)是一个免费的开源 Web 应用程序安全控制库,可帮助程序员更轻松地编写低风险应用程序。ESAPI for Java 库旨在帮助程序员更轻松地将安全性改进到现有应用程序中。ESAPI for Java 也为新开发奠定了坚实的基础。 官方Github https://github.com/ESAPI/esapi-java-legacy 2. 环境搭建搭建环境 jdk-17.0.16 JDK版本对ESAPI有影响 esapi...
在个人PC上搭建DDNS
在个人PC上搭建DDNS最近沉迷于Minecraft,为了跟朋友一起玩耍,搞了个服务端进行托管;起初是在自己网站上的云服务器托管,但是服务器在海外,延迟太高(ping的响应在260ms左右),于是就将服务端迁移到了公益服务器(简幻欢);不过公益服务器需要靠每天签到获取积分来维持,为此我还特地定了个闹钟来签到;随着偶然间,我发现了自己家里的宽带是有公网IPV6地址,于是又将服务端迁回了自己的PC上,尝试了下是否公网可以访问到我PC上的Minecraft服务,也是顺利的托管上了。运营商提供的公网IPV6变的实在是太频繁了,还是使用DDNS来将域名绑定在动态IP上一劳永逸吧(没招了,谁想得到一天能变2次) 1. DDNS简介DDNS,动态域名系统(Dynamic Domain Name...
SQL注入常见利用姿势
数据查询SQL语句123456select group_concat(schema_name) from information_schema.schemata -- 查询所有数据库select group_concat(table_name) from information_schema.tables where table_schema = database() -- 查询当前数据中所有表select group_concat(column_name) from information_schema.columns where table_name = 'users' -- 查询指定表中的所有字段select group_concat(username, '~', password) from users -- 查询users表中值 联合注入(Union注入)查询所有数据库1id=-1 union select 1,2,group_concat(schema_name) from...
upload-labs 靶场通关笔记
靶场搭建Windows下载作者提供的PHPStudy整合版,避免bug https://github.com/c0ny1/upload-labs/releases Linux不推荐使用,有一些攻击利用了Windows的特性,Linux上传后可能连接不上木马(而且多后缀解析也存在问题) 1docker run -d -p 80:80 cuer/upload-labs Pass-01源码审计12345678910111213141516171819<script type="text/javascript"> function checkFile() { var file = document.getElementsByName('upload_file')[0].value; if (file == null || file == "") { alert("请选择要上传的文件!"); ...
在Kali(Debian)系统上安装docker&docker-compose并给docker配置socks代理
在Kali(Debian)系统上安装docker&docker-compose并给docker配置socks代理安装docker方法一:使用kali官方的安装方式(经测试,安装的docker版本为20.0)参考链接如下 Installing Docker on Kali Linux 由于现在docker hub的镜像站都挂了(可能?),为了方便的配置代理拉取镜像,推荐使用方法二来安装docekr,可以通过编辑/etc/docker/daemon.json文件来设置代理地址,个人感觉较为方便 方法二:1、对APT软件包换源(以清华大学镜像站为例)打开清华大学镜像站kali软件仓库帮助 复制换源地址 打开终端,执行sudo vim /etc/apt/source.list 如上图,将官方源注释掉,将换源地址复制进去(或者全部删除只保留换源地址) 执行sudo apt update更新缓存 2、按顺序执行以下命令123456789101112131415161718192021# 卸载dockerfor pkg in docker.io docker-doc...