利用weblogic的JA反序列化漏洞时,必须向weblogic发送T3协议头。 当weblogic开放HTTPS服务时,向其发送的T3协议头应以“t3s”开头。向weblogic发送数据时应使用SSL协议,且不应对服务器的证书进行验证。
无论weblogic开放HTTP服务还是HTTPS服务,在向weblogic发送利用JA反序列化漏洞的序列化数据时,数据内容不需要改变。
可以利用weblogic的JA反序列化数据使weblogic在服务器生成指定的jar文件并加载,在jar文件中开启weblogic的RMI服务,可以从公网直接调用,能够控制服务器。修改weblogic默认ip
当weblogic开放HTTPS服务时,调用weblogic的RMI服务时有几点需要进行修改。
在调用weblogic的RMI服务时,使用的URL应改为以“t3s”开头;
在调用weblogic的RMI服务时,客户端需要引入weblogic.jar。使用t3s协议时,weblobic.jar会尝试从当前目录读取weblogic授权文件license.bea,需要保证weblogic.jar能正确地读取该文件;
weblogic.jar中会对服务器证书进行验证,判断其是否为可信证书。由于可能遇到服务器的证书未经过CA认证,因此需要修改证书验证的相关代码,忽略证书未经认证的问题;
JVM启动参数需要增加“ -Dweblogic.security.SSL.ignoreHostnameVerification=true”,避免因自定义证书中的地址与停止脚本实际访问的ssl服务的地址不一致而出现错误。
将SSL服务转移至weblogic服务器外层的设备实现,如SSL网关、负载均衡、单独部署的web代理等,将HTTP请求转发至weblogic,可以修复JA反序列化漏洞。
在weblogic所在服务器安装web代理应用,如apache、nginx等,将SSL服务转移至web代理应用,使web代理原有的weblogic端口,并将HTTP请求转发给本机的weblogic,可以修复JA反序列化漏洞。
将weblogic的地址修改为“127.0.0.1”或“localhost”,只允许本机访问weblogic服务。
在weblogic所在服务器安装web代理应用,如apache、nginx等,将SSL服务转移至web代理应用,使web代理原有的weblogic端口,并将HTTP请求转发给本机的weblogic,可以修复JA反序列化漏洞。web代理的IP需设置为“0.0.0.0”,否则其他服务器无法访问。
需要将weblogic停止脚本中的ADMIN_URL参数中的IP修改为“127.0.0.1”或“localhost”,否则停止脚本将不可用。
weblogic处理T3S协议的类为“weblogic.rjvm.t3.MuxableSocketT3S”,继承自“weblogic.rjvm.t3.MuxableSocketT3”类,且MuxableSocketT3S类中没有对dispatch方法进行重写,因此可以采用与 中“修改weblogic的代码”部分相同的修复方法。具体步骤略。
无论weblogic服务器开放HTTP服务还是HTTPS服务,都是有可能利用JA反序列化漏洞控制服务器的。JA反序列化漏洞的影响,应该会持续很长的时间。
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-29809-5.html
我滴天啊
美国早就很清楚