内存马学习1
之前学的,复习总结一遍三大类型:
servlet-api类
filter型
servlet型
spring类
拦截器
controller型
Java Instrumentation类
agent型
Tomcat项目搭建先去安装tomcat8: https://tomcat.apache.org/download-80.cgi一直下一步安装,中间需要选择jre目录IDEA新建项目,选Jakarta EE需要选择Web application,Tomcat需要选择home目录,就是之前安装的目录
下一步什么都不需要选,直接新建即可,这种方式比较简单,不需要自己去进行Add Framework Support加web application和添加tomcat的配置文件,而且目录结构也给我们设置好了,省了很多的麻烦另一种配置方法:在项目目录双击shiftAdd Framework Support选择Web Application就会生成web目录然后新建配置文件,选择Tomcat Server的Local
一开始没有指定artfict项目会提示fix,也可以自己在Deploy ...
JDBC学习
之前学的,复习总结一遍
基础JDBC是Java Database Connectivity的缩写,是Java提供对数据库进行连接和操作的标准API
JDBC定义一个java.sql.Driver的接口负责对数据库的连接,所有的数据库驱动包都必须实现这个接口才能完成数据库的连接操作
java.sql.DriverManager.getConnection是间接调用java.sql.Driver的connect方法实现数据库连接的,数据库连接成功后会返回一个叫做java.sql.Connection的数据库连接对象,一切对数据库的查询操作都依赖于这个Connection对象
格式:1jdbc:driver://host:port/database?setting1=value1&setting2=value2
MYSQL JDBC当JDBC连接MYSQL服务端时会有几个内置的SQL查询语句要执行,其中两个查询的结果集会在MYSQL客户端被处理时会调用ObjectInputStream.readObject()反序列化如果攻击者能控制JDBC连接设置项和这两个查询的结果集,那么 ...
jdk17的反射限制绕过
之前学的,最近在面试,正好复习一下
字节码加载看个正常ClassLoader.defineCLass()的例子1234567891011121314151617package study;import java.lang.reflect.InvocationTargetException;import java.lang.reflect.Method;import java.util.Base64;public class study1 { public static void main(String[] args) throws NoSuchMethodException, InvocationTargetException, IllegalAccessException, InstantiationException { String payload = "yv66vgAAADQAHgoABwARCgASABMIABQKABIAFQcAFgcAFwcAGAEABjxpbml0PgEAAygpVgEABENvZGUBAA9MaW5lT ...
MSSQL注入攻击总结
sqlserver是微软的SQLServer,也叫MSSQL,一个关系型数据库
环境搭建下载Sqlserver的Developer版本: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads选定安装位置后在弹出的SQL Server安装中心里选择全新SQL Server独立安装或向现有安装添加功能
然后根据引导安装即可,安装成功后打开SQL Server配置管理器,讲TCP/IP启用
下载SSMS: https://learn.microsoft.com/zh-cn/sql/ssms/download-sql-server-management-studio-ssms?redirectedfrom=MSDN&view=sql-server-ver16
打开新建连接,选择刚才安装MSSQL的本地服务器,身份验证选择Windows 身份验证
进去之后设置sa用户的密码然后开启sa用户的启用
右键服务器->属性->安全性服务器身份验证模式选择第二个SQL Server和Windows身份验证模式
打 ...
Spring Cloud Gateway RCE和SSRF映射内网
环境搭建直接用vulhub的环境:1docker pull vulhub/spring-cloud-gateway:3.1.0
1docker-compose up -d
RCE添加过滤器(POST)12345678910111213141516171819202122232425POST /actuator/gateway/routes/test HTTP/1.1Host: 192.168.1.247:8080User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:133.0) Gecko/20100101 Firefox/133.0Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2Accept-Encoding: gzip, deflateConnection: closeUpgrad ...
红日靶场1学习记录
搭建下载地址 :百度网盘: https://pan.baidu.com/s/1nC6V8e_EuKfaLb2IuEbe7w&shfl=sharepset密码: 【红日安全】您的下载密码为:n1u2。
下载完三个压缩包全部解压即可,打开里面的vmx虚拟机配置文件会自动打开VMware,初始密码是hongrisec@2019winserver和win2k3显示密码过期重新设置一下即可网络括扑图如下:
这个win7是边界服务器,需要配置两个网卡,一个外网一个内网在网络适配器加一个网卡设置为自定义Vmnet1(仅主机模式),另一个网卡为NAT模式
这里需要修改虚拟网络编辑器的Vmnet1网卡的网段为192.168.52.x/24
winserver2008和win2k3的网络适配器也都选择这个自定义的Vmnet1
因为它里面已经给配置好域里面的三个机器的ip了,我们只需要设置好网段就行了
网络配置:1234win7边界: 外网:192.168.213.138 内网:192.168.52.143Windows server2008: 192.168.52.138win2k3 metas ...
2024SCTF出题记录
ezjump题目附件已更新至: https://github.com/jmx0hxq/My-CTF-Challenges/blob/master/2024SCTF/sctf2024_ezjump.zip
打开附件查看docker-compose文件发现有docker容器,一个fronted,一个backend,一个redis其中只有fronted容器暴露在公网,flag在redis机器的根目录
fronted我们的fronted写了两个路由,一个/play,一个/success,这里的/play路由就是3秒钟算一个数学题,一直得分到10000分以上才会跳转/success路由,但是我没想让师傅们玩这个无聊游戏就没引入认证模块,可以直接访问/success路由,观察package.json发现nextjs的版本是14.1.0,存在CVE-2024-34351漏洞,观察源码可以发现Let us Play Again!!就是调用了redirect("/play"),其中的redirect函数可以触发SSRF漏洞
写一个main.ts:1234567891011121314 ...
2024京麒CTF ezldap复现分析
环境搭建题目源码: https://github.com/HSwift/my-ctf-challenges/tree/main/ezldap这里我是docker+idea调试环境首先修改dockerfile文件,5005端口expose出来1234FROM eclipse-temurin:17.0.11_9-jdk-alpineCOPY app /appEXPOSE 8080 5005
123docker build -t jq .docker run -it --entrypoint /bin/bash -p 5005:5005 -p 1212:8080 jqjava -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=*:5005 -jar /app/demo-0.0.1-SNAPSHOT.jar
然后IDEA添加运行配置文件,选择远程调试
然后可以下断点调试了
分析首先我们利用dirsearch扫目录可以发现大量的actuator目录,这是springboot未授权访问漏洞我们访问/actuator/map ...
2024 CISCN ezjava复现总结
mysql写文件到classpath(行不通)首先看pom.xml123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ...
Jdk7u21链子分析
分析前置知识是TemplatesImpl类加载字节码RCE,也是sink点TemplatesImpl类的newTransformer方法会调用getTransletInstance方法 ,然后先通过defineTransletClasses方法填充__class__,然后调用x].newInstance()RCE
这里需要找到一个类调用TemplatesImpl的newTransformer方法这里我们找到的是AnnotationInvocationHandler的equalsImpl方法这里可以调用var1类的var5方法var5是var2来的,var2是getMemberMethods()方法获取的可以看到memberMethods是通过this.type获取的.,这个值构造函数我们是可控的,我们可以控制它是Templates类,它只有newTransformer和getOutputProperties方法
而equalsImpl方法是通过AnnotationInvocation类的invoke方法调用的进入if语句需要满足几个条件:
代理的方法名是”equals”
这个代理方法 ...