文章分类 | 推荐文章 | 最新文章 | 热点文章 | 最新软件 | 精品软件 | 下载排行 | 推荐下载 | 免费看大片 | WPS | 杀毒软件
清风网络
首 页 软件下载 网络学院 数码学院
QQ 电脑入门 游戏 操作系统 图形处理 办公软件 媒体动画 精文荟萃 工具软件 网络编程 程序开发 网络技术 认证考试 网站建设 文章专栏
当前位置:清风网络学院网络技术网络安全SQL注入和CSS攻击的检测
精品推荐
特别推荐
·无线入侵的技术细节
·SQL注入和CSS攻击的检测
·详解:五种Windows常用密码设置
·浅析黑客攻击时的常用方法和攻击步骤
·不怕攻击 家庭上网必学八招安全绝招
·入门者如何获取肉鸡
·Linux安全配置步骤简述
·Wi-Fi网络安全探讨及组网策略
·网页病毒的概念
·保障您网站安全的十点技巧
热点TOP10
·PING命令的小秘密
·不怕攻击 家庭上网必学八招安全绝招
·内网数据库服务器入侵实战
·六个简单方法防止上网被钓鱼
·网络安全指南--中小企业网络安全指南
·大网站是保障网络安全的技巧
·预防网络病毒的几个忠告
·认识“瞬时攻击“的危险性
·网站安全:单引号导致的网站崩溃 L-blog入侵实录
·FoxMail和OICQ泄密

SQL注入和CSS攻击的检测

日期:2008年6月6日 作者: 查看:[大字体 中字体 小字体]


作者:K. K. Mookhey , Nilesh Burghate,
翻译:FPX[B.C.T]
1. 介绍

最后两年中,安全专家应该对网络应用层的攻击更加重视。因为无论你有多强壮的防火墙规则设置或者非常勤于补漏的修补机制,如果你的网络应用程序开发者没有
遵循安全代码进行开发,攻击者将通过80端口进入你的系统。广泛被使用的两个主要攻击技术是SQL注入[ref 1] 和CSS[ref 2]
攻击。SQL注入是指:通过互联网的输入区域,插入SQL meta-characters(特殊字符
代表一些数据)和指令,操纵执行后端的SQL查询的技术。这些攻击主要针对其他组织的WEB服务器。CSS攻击通过在URL里插入script标签,然后
诱导信任它们的用户点击它们,确保恶意Javascript代码在受害人的机器上运行。这些攻击利用了用户和服务器之间的信任关系,事实上服务器没有对输
入、输出进行检测,从而未
拒绝javascript代码。
这篇文章讨论SQL注入和CSS攻击漏洞的检测技术。网上已经有很多关
于这两种基于WEB攻击的讨论,比如如何实施攻击,他们的影响,怎样更好的编制和设计程序防止这些攻击。 然而, 对如何检测这些攻击并没有足够的讨论。
我们采用流行的开源的IDS Snort[ref 3],组建根据检测这些攻击的规则的正则表达式。
附带,Snort默认规则设定包含检测CSS的方法,但是这些容易被避开检测。比如大多通过hex进制编码,如%3C%73%63%72%69%70%
74%3E代替避开检测。
依赖level of
paranoia组织的能力,我们已经编写了多种检测相同攻击的规则。如果你希望检测各种可能的SQL注入攻击,那么你需要简单的留意任何现行的SQL
meta-characters,如单引号,分号和双重破折号。同样的一个极端检测CSS攻击的方法,只要简单地提防HTML标记的角括号。但这样会检测
出很多错误。为了避免这些,这些规则需要修改使它检测更精确些, 当仍然不能避免错误。
在Snort规则中使用pcre(Perl Compatible
Regular Expressions)关键字,每个规则可以带或不带其他规则动作。这些规则也可以被公用软件如grep(文档搜索工具)使用,来审阅网络服务器日志。
但是,需要警惕的是,用户的输入只有当以GET提交请求时,WEB服务器才会记录日记,如果是以POST提交的请求在日记中是不会记录的。
2.
SQL注入的正则表示式

你为SQL注入攻击选择正则表示式的时候,重点要记住攻击者可以通过提交表单进行SQL注入,也可以通过Cookie区域。你的输入检测逻辑应该考虑用户
组织的各类型输入(比如表单或Cookie信息)。并且如果你发现许多警告来自一个规则,请留意单引号或者是分号,也许些字符是你的Web应用程序创造的
合法的在CookieS中的输入。因此,
您需要根据你的特殊的WEB应用程序评估每个规则。
依照前面提到,一个琐细的检测SQL射入攻击的正则表达式要留意SQL特殊的meta-characters
譬如单引号(')双重扩则号(--),为了查出这些字符和他们hex等值数, 以下正则表达式适用:
2.1 检测SQL
meta-characters的正则表达式
/(\%27)(\')(\-\-)(\%23)(#)/ix
解释:

们首先检查单引号等值的hex,单引号本身或者双重扩折号。这些是MS SQL Server或Oracle的字符, 表示后边的为评论, 随后的都将被忽略。
另外,如果你使用MySQL,你需要留意 '#'和它等值的hex的出现。注意我们不需要检查双重破折号等值的hex, 因为这不是HTML
meta-character, 浏览器不会进行编码。 并且, 如果攻击者设法手工修改双重破折号为它的hex值%2D(使用代理像Achilles[ref 5]),
SQL注入将失败。
加入上述正则表达式的新的Snort规则如下:
alert tcp $EXTERNAL_NET any -> $HTTP_SERVERS $HTTP_PORTS
(msg:"SQL Injection - Paranoid";
flow:to_server,established;uricontent:".pl";pcre:"/(\%27)(\')(\-\-)(%23)(#)/i";
classtype:Web-application-attack; sid:9099; rev:5;)
在本篇讨论中,
uricontent关键字的值为".pl ", 因为在我们的测试环境里, CGI 程序是用Perl写的。uricontent关键字的值取决于您的特殊应用,
这个值也许是".php ", 或" .asp ", 或" .jsp ", 等。 从这点考虑, 我们不显示对应的Snort 规则,
但是我们会给出创造这些规则的正则表达式。 通过这些正则表达式你可以很简单的创造很多的Snort规则.在前面的正则表达式里,
我们检测双重破折号是因为:即便没有单引号的存在那里也可能是SQL射入点[ref 6]。 例如, SQL查询条目只包含数值,如下:
select
value1, value2, num_value3 from database
where
num_value3=some_user_supplied_number
这种情况,攻击者可以执行额外的SQL查询, 示范提交如下输入:
3; insert values into some_other_table

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




上一篇:ASP内建对象Application 和 Session

下一篇:JSP显示内容缓存技巧

相关文章:
·《龙珠大冒险》攻击技巧研究(GBA) - 龙珠Z攻略秘籍 - 龙珠Z
·C++中的文件输入/输出(4):检测输入/输出的状态标志
·不怕攻击 家庭上网必学八招安全绝招
·多种DDoS攻击技术方法
·QQ骚扰攻击常见手法:QQ“炸弹”炸你没商量
·深入剖析恶意攻击性网页-注册表全攻略
·如何检测精液是否正常
·[战士]关于战士装备的属性:力量和攻击
·天龙八部无赖攻击
·虚拟化让系统更容易受黑客攻击
相关软件:
·手机炸弹-短信息攻击懒人版
·思科安全入侵检测系统专家指南
·效率源大容量硬盘检测修复程式 V3.0 软盘版
·重返狼穴3:悍马攻击(Humvee Assault)
·绝地攻击机
·黄冈市高三第一次质量检测语文试题
·力学检测题
·2003年南京市高三第三次质量检测卷(03)
·2003年南京市高三第三次质量检测卷(02)
·效率源硬盘坏道检测V1.5B

特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。
[打印本页] [关闭窗口] 转载请注明来源:http://www.viphot.com
| 帮助(?) | 版权声明 | 友情连接 | 关于我们 | 信息发布
Copyright 2007 www.viphot.com All Rights Reserved. 鄂ICP备05000083号Powered by:viphot