thymeleaf模板注入
最近实在是不知道看什么了,来学一下和java相关的一些ssti吧,先从thymeleaf开始
介绍Thymeleaf就是一个模板渲染引擎,和python的jinjia2一样,就不需要过多介绍了
官方文档:https://www.thymeleaf.org/documentation.html
高版本SpringBoot/Thymeleaf不存在模板注入问题,这里SpringBoot版本为2.5.10(实测得2.4.1,2.5.10已经不行了),Thymeleaf同上
Demo示例首先就是创建一个springboot项目,我们的thymeleaf文件就写在templates目录下
创建项目的时候可以勾选thymeleaf模板引擎
一个基础的index.html
<!DOCTYPE html><html xmlns:th="http://www.thymeleaf.org"><head> <meta charset="UTF-8"> <title>title< ...
Tabby使用学习
环境配置跟着官方环境来,但是具体上又有点出入,所以记录一下详细步骤,官方文档:https://www.yuque.com/wh1t3p1g/tp0c1t/rmm0aimycci76ysm
首先官网下载tabby的zip文件:https://github.com/wh1t3p1g/tabby/releases/,里面所有需要的东西都包含了
数据库配置这一步比较重要,文档里面要的apoc插件和tabby-path-finder插件都包含在官方的zip里面了
然后新建一个Neo4j项目来给tabby使用,同时创建一个DBMS
里面有一个默认的neo4j数据库,用这个就好了
然后配置tabby的数据库账号密码,tabby >= 1.3.x 版本的数据库配置放置于 config/db.properties,我这里没有这个文件,所以手动创建了一个文件
# for dockertabby.cache.isDockerImportPath = false# db settingstabby.neo4j.username ...
红日靶场五
环境搭建虚拟机密码
win7
sun\heart 123.com
sun\Administrator dc123.com(因为过期了,改成Admin12345)
2008
sun\admin 2020.com(改成2022.com)
Win7双网卡模拟内外网
仅主机模式网卡:192.168.138.0
NAT模式网卡:192.168.135.0
配置好后需要进入win7主机将phpstudy服务开起来
emmm试了一下又是不能ping通的,但是网页能正常访问
考点思路一、环境搭建
1.环境搭建测试
2.信息收集
二、漏洞利用
3.漏洞搜索与利用
4.漏洞利用Getshell
5.系统信息收集
6.主机密码收集
三、内网搜集
7.内网–继续信息收集
8.内网攻击姿势–MS14-058
9.内网攻击姿势–MS17-010
四、横向移动
10.psexec远控
11.内网其它主机端口
12.netsh增删防火墙规则
五、构建通道
13.内网其它主机端口-代理转发
六、持久控制
14.域渗透-域成员信息收集
15.域渗透-基础服务弱口令探测及深 ...
DASCtf-easyjob
环境搭建由于题目是公共靶机现在已经挂了,所以复现需要自己搭建题目环境
跟着这篇文章来配置一下:https://www.cnblogs.com/vickey-wu/p/9087951.html
主要是admin组件的配置,因为他是一个war,需要部署在tomcat上,executor是springboot应用,直接java -jar就行了
mysql配置
# 启动数据库docker run -itd --name xxl-mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql:5.6.40# 复制sql到容器中docker cp <xxl-job的sql文件> xxl-mysql:/tmp# 进入容器连接数据库mysql -uroot -p123456# 执行命令导入数据库source /tmp/tables_xxl_job.sql
然后本地编译一下xxl-job的admin项目,我们需要他war包解压后的文件夹,配置文件需要修改一下,xxl.job.db.password属性改成刚刚的数据库的密码
然后写一个dock ...
红日靶场四
因为兼容性已经似了两个靶场,求求你别似了
环境搭建两张网卡,一张VMnet0和VMnet1都是仅主机模式
web靶机
win7
DC
靶场拓扑图
我们启动之后要去web靶机里面启动三个容器服务
我们启动前三个容器服务即可
然后我们的攻击机自然也要在VMnet0的网段
好欸靶机终于活了一次了😭
机器密码
ubuntu:ubuntu 域成员机器
douser:Dotest123 DC
administrator:Test2008(改成 Admin123 因为过期了)
考点描述本次靶场渗透反序列化漏洞、命令执行漏洞、Tomcat漏洞、MS系列漏洞、端口转发漏洞、以及域渗透等多种组合漏洞
靶场学习路径,可参考
st漏洞利用
phpmyadmin getshell
tomcat 漏洞利用
docker逃逸
ms14-068
ssh密钥利用
流量转发
历史命令信息泄露
域渗透
信息收集先用arp-scan扫一下同一网段内的主机,指定对应的网卡接口
arp-scan -I eth1 -l
那可以得知192.168.157.128就是我们的外网web靶机
接下来用nmap进行 ...
红日靶场三
环境配置打开虚拟机镜像为挂起状态,第一时间进行快照,部分服务未做自启,重启后无法自动运行。
挂起状态,账号已默认登陆,centos为出网机,第一次运行,需重新获取桥接模式网卡ip,也就是重启一下
除重新获取ip,不建议进行任何虚拟机操作。
目标:域控中存在一份重要文件。
本次环境为黑盒测试,不提供虚拟机账号密码。
作废了😭两台Linux靶机运行不了,只能强制重启才能用,但是这样就不是登录状态了,然后账号密码也不知道,直接死在搭建环境了
只能看看别人的打靶过程了。
Spring内存马学习
前言Spring框架比较常用就不说了,网上大部分都是建一个spring+springmvc的项目来测试内存马,内存马主要的逻辑部分都集中在springmvc的部分,因为负责处理路由请求基本都是都是需要经由springmvc,所以我看也有叫springmvc内存马的。
我这里就直接搭一个springboot项目比较方便了,反正本身也是有springmvc的,所以内部逻辑也是一样分析
版本如下
<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.5.10</version> <relativePath/> <!-- lookup parent from repository --></parent>
Controller内存马Contoller注册流程我们要先知道Control ...
RASP绕过学习
RASP介绍RASP全称是Runtime applicaion self-protection,在2014念提出的一种应用程序自我保护技术,将防护功能注入到应用程序之中,通过少量的Hook函数监测程序的运行,根据当前的上下文环境实时阻断攻击事件。
目前Java RASP主要是通过Instrumentation编写Agent的形式,在Agent的premain和agentmain中加入检测类一般继承于ClassFileTransformer,当程序运行进来的时候,通过类中的transform检测字节码文件中是否有一些敏感的类文件,比如ProcessImpl等。简单的可以理解为通过Instrumentation来对JVM进行实时监控。
Instrumentation API 提供了两个核心接口:ClassFileTransformer 和 Instrumentation。ClassFileTransformer 接口允许开发者在类加载前或类重新定义时对字节码进行转换。Instrumentation 接口则提供了启动时代理和重新定义类的能力
Java Agent存在premain和agent ...
XStream反序列化
XStream介绍XStream是一个简单的基于Java库,能够将Java对象和xml文档之间进行相互转换
反序列化原因XStream实现了一套序列化和反序列化机制,核心是通过Converter转换器来将XML和对象之间进行相互的转换。
XStream反序列化漏洞的存在是因为XStream支持一个名为DynamicProxyConverter的转换器,该转换器可以将XML中dynamic-proxy标签内容转换成动态代理类对象,而当程序调用了dynamic-proxy标签内的interface标签指向的接口类声明的方法时,就会通过动态代理机制代理访问dynamic-proxy标签内handler标签指定的类方法;
利用这个机制,攻击者可以构造恶意的XML内容,即dynamic-proxy标签内的handler标签指向如EventHandler类这种可实现任意函数反射调用的恶意类、interface标签指向目标程序必然会调用的接口类方法;最后当攻击者从外部输入该恶意XML内容后即可触发反序列化漏洞、达到任意代码执行的目的。
相关类介绍EventHandler类EventHandler是一 ...
C3P0利用链学习
C3P0介绍C3P0是一个开源的JDBC连接池,它实现了数据源和JNDI绑定,支持JDBC3规范和JDBC2的标准扩展。目前使用它的开源项目有Hibernate,Spring等。
JDBC是Java DataBase Connectivity的缩写,它是Java程序访问数据库的标准接口。使用Java程序访问数据库时,Java代码并不是直接通过TCP连接去访问数据库,而是通过JDBC接口来访问,而JDBC接口则通过JDBC驱动来实现真正对数据库的访问。
连接池类似于线程池,在一些情况下我们会频繁地操作数据库,此时Java在连接数据库时会频繁地创建或销毁句柄,增大资源的消耗。为了避免这样一种情况,我们可以提前创建好一些连接句柄,需要使用时直接使用句柄,不需要时可将其放回连接池中,准备下一次的使用。类似这样一种能够复用句柄的技术就是池技术。
环境搭建<!-- https://mvnrepository.com/artifact/com.mchange/c3p0 --><dependency> <groupId>com.mchange</grou ...