• / 17
  • 下载费用:5 金币  

20-PHP邮件注入攻击技术.ppt

关 键 词:
20 PHP 邮件 注入 攻击 技术
资源描述:
PHP邮件注入攻击技术,组员:,姜华2015140187,胡楠2015140193,韩科2015140189,李小卓2015140190,耿子元2015140185,简介,邮件注入,攻击原理,示范准备,实战演示,解决方案,CONTENTS,简介,如今,互联网的使用急剧上升,但绝大多数互联网用户没有安全知识背景。大多数的人都会使用互联网通过邮件Email的方式和他人进行通信。,“,”,不幸的是,大多数web开发人员对安全编码Code-Security没有足够的认识,其中的一些程序猿使用现成的库或框架,这些库受到许多已知的漏洞。这些漏洞是已经公布,厂商并已经对其进行了修补,并且相应的攻击源代码poc都在互联网上可下载的,但大多数开发人员都懒得升级到最新版本。,邮件注入,电子邮件注入是一个安全漏洞,这种漏洞广泛存在于在互联网电子邮件收发应用中。这是电子邮件注射和HTTP头注射类似。和SQL注入攻击类似,这种漏洞是一类常见的的漏洞,发生在当一个编程语言是嵌入到另一个,例如MYSQL嵌入到PHP中。,当一个可以提交数据到一个Web应用程序表单被添加到一个Web页面,恶意用户可能会利用MIME格式添加额外的信息到要发送的消息中(POST/GET),比如一个新的收件人列表或一个完全不同的消息体。因为MIME格式使用回车分隔在数据包中信息(HTTP数据包中的每一行之间都有一个换行符,在POST和HTTP HEADER之间有两个换行符),通过添加回车提交表单数据(使用FB的一些插件可以很容易的做到),可以允许一个简单的留言板是用来发送成千上万的消息。同样,一个垃圾邮件发送者可以使用这种战术的恶意发送大量的匿名消息。,电子邮件注入是针对PHP内置邮件功能的一种攻击类型。它允许恶意攻击者注入任何邮件头字段,BCC、CC、主题等,它允许黑客通过注入手段从受害者的邮件服务器发送垃圾邮件。由于这个原因,这种攻击称为电子邮件注入,或者邮件形式滥发。这个漏洞是不限于PHP。它可能会影响任何从用户UI接收消息并发送电子邮件消息的应用程序。这种攻击的主要原因是不适当的用户输入验证或应用程序根本没有验证和过滤机制。,攻击原理,为了解释邮件注入的工作原理,我们必须先了解PHP Email函数的工作原理。下面是从PHP Manual中找到API解释,你可以注意到,这需要三个必填参数(”目的地、主题和消息”)和其他一些可选参数和函数返回一个布尔值。,示范准备,代码:,页面演示:,为了使用PHP作为邮件发送代理,我们需要对PHP.INI进行简单的配置:,出于演示目的,我们将使用前面的带漏洞的代码。此外,我们将提交下列值作为发送邮件的参数:,表单发送的HTTP数据包:,从攻击者的角度来看,有许多额外的字段,可以被注入在邮件标题。更多信息见RFC 822。例如,CC(抄送)或者BCC(密送)允许攻击者插入更多的消息。但要注意的是,我们在添加一个新的参数之前,我们必须增加一个换行符分隔每个字段。,1) Cc/Bcc注入在发送者字段(sender)后注入Cc和Bcc参数From:sender@domain.com%0ACc:recipient@domain.com%0ABcc:recipient1@domain.com所以现在,消息将被发送到recipient和recipient1账户。2) 参数注射From:sender@domain.com%0ATo:attacker@domain.com现在消息将被发送到原来的收件人和攻击者帐户。注意,这里的攻击者的账户是我们通过注入额外传入的。3) 邮件主题注入From:sender@domain.com%0ASubject:This’s%20Fake%20Subject攻击者注入的假的主题subject将被添加到原来的主题中并且在某些情况下将取代原本的主题subject。这取决于邮件服务行为。即代码编写的容错性,当参数中出现两个subject的时候代码是选择丢弃还是后者覆盖。4) 改变消息的主体body要注意SMTP的Mail格式,消息主题和头部Header之间有两个换行符(和HTTP是一样的)。From:sender@domain.com%0A%0AMy%20New%20%0Fake%20Message.假消息将被添加到原始消息中。,实战演示,1,2,正常发送,Cc/Bcc注入,在From字段添加Inject Payload,发送邮件后,增加了抄送的功能 ;,3,邮件主题注入,我们在from的参数加添加subject字段:,接收邮件后:,4,改变消息的主体:,发送邮件后,我们发现消息的消息体已经被修改了,解决方案,“,”,1. 永远不要信任用户的输入字段。所有用户输入应该被认为是不可信的和潜在的恶意。应用程序不受信任的输入过程可能会变得容易受到诸如缓冲区溢出攻击、SQL注入,OS指令注入、拒绝服务和电子邮件注入。2. 使用正则表达式来过滤用用户提交的数据。例如,我们可以在输入字符串中搜索(r 或 n)。3. 使用外部组件和库,提供防范这个问题像 ZEND mail、PEAR mail和swift mailer。4. ModSecurity可以阻止服务器级别的电子邮件注入。利用ModSecurity,我们可以检测通过POST或GET提交的CC, BCC或目的地址,并且拒绝任何含这些字母请求。,
展开阅读全文
1
  金牌文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
0条评论

还可以输入200字符

暂无评论,赶快抢占沙发吧。

关于本文
本文标题:20-PHP邮件注入攻击技术.ppt
链接地址:http://www.gold-doc.com/p-257077.html
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服客服 - 联系我们
copyright@ 2014-2018 金牌文库网站版权所有
经营许可证编号:浙ICP备15046084号-3
收起
展开