教程学院
图像设计 多媒体类 机械制图 办公软件 操作系统 系统编程 网站编程 网页制作 数据库类 网络路由 网络工程 网络安全 考试认证
酷网学院
CAD
AutoCad Cam350 ProEngineer GCcam MATLAB Unigraphics SolidWorks CAXA Solid3000 Cimatron EdgeCAM
系统
安全 防火墙 病毒 WinXP Win2003 Vista
数据库
编程
网络
  网站导航: 库库中文网 · 数据安全  

怎么样运用注射技术入侵邮件服务器?(1)

教程推荐
『怎么样运用注射技术入侵邮件服务器?(1)』如果文章有大量图片,显示会较慢,请等待图片下载完成
 
点击数: 更新时间:2008-8-12 12:02:05 

【独家特稿】本文将详细介绍通过跟邮件服务器通信的Web应用程序,即webmail应用来注入某些邮件协议(IMAP和SMTP协议)命令来攻击邮件服务器的原理、方法和防御措施。

一、Webmail应用程序的角色

Webmail应用程序通过IMAP和SMTP协议来管理用户和他们的电子邮件之间的交互。从这一点来说,Webmail应用充当了客户应用程序和邮件服务器之间的代理角色。这个交互过程首先通过webmail应用程序来发送用户的身份凭证(注册号和口令)。此时,如果IMAP服务器支持使用“login”认证方式的话,那么Webmail应用程序会向IMAP服务器发送如下所示的命令:

AUTH LOGIN

同样,这个应用程序还会将用户的各种动作(如访问邮箱、发送/删除电子邮件、退出邮箱等)转换成相应的IMAP和SMTP命令,然后把这些命令发送给相应的邮件服务器。然而,webmail应用程序的功能有限,所以用户只能生成该应用程序定义的选项所对应的那些IMAP或者SMTP命令。但是,用户却有可能改变被发送给邮件服务器的那些IMAP和SMTP命令。

下面,就让我们来看一下这种技术的工作原理吧!

二、邮件服务器注射技术原理

与广为人知的诸如SQL注射、LDAP注射、SSI注射、XPath注射、CRLF注射等注射技术类似,邮件服务器注射技术也是通过一个对用户提供的数据没有严格检查的webmail应用程序将IMAP命令或者SMTP命令注射到邮件服务器。当通过webmail应用程序使用的后台邮件服务器无法直接经由Internet访问时,邮件服务器注射技术格外有用。

要向邮件服务器注入命令,前提条件是允许用户通过webmail应用程序访问其端口25(SMTP)和143(IMAP)。

邮件服务器注射来利用一个应用程序的攻击者来说,他们相当于直接访问了被防火墙隔离的原始电子邮件服务端口(即绕过了防火墙)。通过利用这种技术,攻击者可以进行各式各样的活动和攻击,至于到底能做哪些事情,这要取决于被注入命令的服务器的类型。之所以这样说,是因为Webmail应用会把来自用户的请求转换成各种IMAP和SMTP协议命令。下面介绍如何利用这两种协议。

在进行IMAP注射时,注入的命令最终是由IMAP服务器执行的,所以命令必须遵循这个协议的格式和规范。Webmail应用程序为了完成客户请求的操作,必须跟IMAP服务器进行通信,这正是它们容易遭受这种攻击的原因。在用户验证身份的时候,webmail应用程序将用户的凭证传送到IMAP服务器,因此,利用IMAP服务器的验证机制,无需在该应用程序中具有一个有效帐户就能够进行IMAP注射。注入IMAP命令之前,用户必须找出跟邮件服务器通信时所用的所有参数,并弄清楚这些参数跟应用程序的功能的关系,如:

◆认证/登录/退出
◆邮箱操作(显示、阅读、创建、删除、重命名)
◆消息操作(阅读、复制、移动、删除)

现在让我们看一个利用消息阅读功能来进行IMAP注射的例子。假定webmail应用程序使用参数“message_id”来存放用户想要阅读的消息的标识符。当一个包含消息标识符的请求发出时,该请求看起来像下面的样子:

http:///read_email.php?message_id=

假如网页“read_email.php”负责显示有关消息,它直接把请求发给IMAP服务器,而不对用户提供的值做任何检验。这时发给邮件服务器的命令将是下面的样子:

FETCH  BODY[HEADER]   

在这种情况下,我们就可以通过应用程序用来与邮件服务器通信的参数“message_id”来发动IMAP注射攻击。例如,可以利用下列命令来注入IMAP命令“CAPABILITY”:

http:///read_email.php?message_id=1 
BODY[HEADER]%0d%0aZ900 CAPABILITY%0d%0aZ901 FETCH 1   

这将导致服务器执行下列IMAP命令:

FETCH 1 BODY[HEADER]

Z900 CAPABILITY

Z901 FETCH 1 BODY[HEADER]

所以该服务器返回的页面显示的是在IMAP服务器中的“CAPABILITY”命令的结果:

* CAPABILITY IMAP4rev1 CHILDREN NAMESPACE

THREAD=ORDEREDSUBJECT THREAD=REFERENCES

SORT QUOTA ACL ACL2=UNION

Z900 OK CAPABILITY completed

三、SMTP注射

这里,我们要向SMTP服务器注射命令,所以注入的命令必须遵循SMTP协议。由于这些活动是使用SMTP协议的应用程序所允许的,所以我们基本上就是去模仿发送电子邮件。要利用SMTP注射,用户必须事先通过认证,所以用户必须有一个有效的webmail帐户。

通过SMTP发送电子邮件消息的格式如下:

◆发送方的e-mail地址
◆接收方的e-mail地址
◆主题
◆消息主体
◆附件

下面是一个通过存放消息主题的参数来进行SMTP注射的例子。

如前所述,这种技术的使用要求用户是经过认证的,并且可以针对发送电子邮件时的webmail参数进行SMTP命令注射。一般的,webmail应用程序会提供给用户一个表单,用户必须在表单中提供必要信息,这些信息将被发送给负责创建发送电子邮件所必需的原始SMTP命令的资源。

发送电子邮件的请求一般如下所示:

POST /compose.php">http:///compose.php HTTP/1.1

...

-----------------------------134475172700422922879687252

Content-Disposition: form-data; name="subject"

SMTP Injection Example

-----------------------------134475172700422922879687252

...

这将导致SMTP服务器执行下列命令:

MAIL FROM:

RCPT TO:

DATA

Subject: SMTP Injection Example

...

如果webmail应用程序没有对参数“subject”中的值进行必要的验证,那么攻击者可以在其中注入额外的SMTP命令:

POST /compose.php">http:///compose.php HTTP/1.1

...

-----------------------------134475172700422922879687252

Content-Disposition: form-data; name="subject"

SMTP Injection Example

.

MAIL FROM: notexist@external.com

RCPT TO: user@domain.com

DATA

Email data

.

-----------------------------134475172700422922879687252

...

上面注入的命令将生成一个将被发送给邮件服务器的SMTP命令序列,其中包含MAIL FROM、RCPT TO和DATA等命令,如下所示:

MAIL FROM:

RCPT TO:

DATA

Subject: SMTP Injection Example

.

MAIL FROM: notexist@external.com

RCPT TO: user@domain.com

DATA

Email data

.

...

四、邮件服务器注射的优势

对于邮件函数的注射之前人们就讨论过,但说得最多的还是PHP的mail()函数中的CRLF注射。然而,这些文章直到现在仅对某些部位进行注射,如email头部注射等。这种类型的注射允许一个人进行各种的操作(发送匿名电子邮件、垃圾邮件/转发等等)。实际上,使用邮件服务器注射技术也能达到这些目的,因为它们都是基于同种类型的弱点。与之相比,邮件服务器注射技术的过人之处是能向受影响的邮件服务器注射所有命令,而没有任何限制。就是说,这种利用技术不仅允许对电子邮件头部进行注入(“From :”、“Subject :”、“To :”等),而且还可以向跟webmail应用程序通信的邮件服务器(IMAP/SMTP)注入任意的命令。

邮件服务器注射远胜过对webmail应用程序提供的功能的“简单”滥用,例如发送大量电子邮件等。这种技术允许人们执行webmail应用程序提供的常规动作之外的额外的动作,如通过IMAP命令引起邮件服务器的缓冲区溢出等。对于渗透测试人员来说,注入任意的命令是他们梦寐以求的,因为这在某些情况下可以完全控制邮件服务器,以便对其各种弱点进行测试。


[1] [2] [3] [4] [5] 下一页

】【关闭窗口
  上一页:
  下一页:后面的文章暂时没有更新了,请多关注QQgb.com
 ·网站导航: 库库中文网 · 数据安全
数据安全:相关文章
数据安全点击榜
普通文章怎么样运用注射技术入侵邮件服务
普通文章七种办法教你怎么样避免数据灾难
普通文章趋势科技Secure Cloud云安全6大
普通文章服务器有效设定防止web入侵
普通文章趋势科技Secure Cloud云安全网络
普通文章IF-MAP协议开启可信网络连接
普通文章各方支招构建安全服务器环境 阻
普通文章硬件安全静态数据加密 阻截信息
普通文章完成无线网络安全地三大途径和六
普通文章虚拟化安全焦点:四问虚拟防火墙
PHOTOSHOP - 基础教程 抠图专题 蒙版专题 3DsMax 基础 设计实例 Maya设计实例
3D设计教程
advertisement
关于站点 - 广告服务 - 联系我们 - 版权隐私 - 免责声明 - 合作伙伴 - 程序支持 - 网站地图 - 返回顶部
网站文本地图
版权所有:库库中文 2005-2007 欢迎各种媒体转载我们的原创作品[转载请注明出处]
copyright ? 2005-2008 www.QQGB.com online services. all rights reserved. 蜀ICP备05015578
Optimized for 1024x768 to Firefox,Opera and MS-IE6. Site powered by EQL. 电脑硬件 电脑知识 教程学习
红盾
热爱电脑,热爱生活
拥有电脑,拥有生命
让我们享受拥有电脑的时光