设为首页收藏本站language→→ 语言切换

鸿鹄论坛

 找回密码
 论坛注册

QQ登录

先注册再绑定QQ

查看: 3643|回复: 26
收起左侧

用脚本类IDS抵御针对WEB的攻击

[复制链接]
发表于 2009-11-29 13:15:26 | 显示全部楼层 |阅读模式
<div><font size="2">  </font></div><div><font size="2">  </font></div><div><font size="2">  IDS是英文“Intrusion Detection Systems”的缩写,中文意思是“入侵检测系统”。传统的IDS是一个监听设备,这个设备通过网络链路挂接在服务器和客户端所有流量都必须流经的链路上,IDS就是通过特有IDS规则匹配黑客恶意攻击入侵行为的流量,进行即时的监测和报警。</font></div><p><font size="2">  在历年来开源的Web程序中,被披露最多最严重的安全漏洞一直是SQL注射,为了减少SQL注射漏洞对各大网站造成的安全威胁,Web安全研究组织80SEC在2008年编写了国内第一个脚本类IDS - MysqlIds,使用MysqlIds可以更好的、更有效率的帮助网站管理员和程序员抵御和检测SQL注射漏洞。</font></p><p><font size="2">  现在流行的技术大部分是旁路监听,一般不会因为IDS的性能影响网站正常的访问流量,而Mysqlids也是按照类似的思路同样不会影响程序的性能。Mysqlids存在于应用程序和数据库操作之间的一个环节,完全以数据库的语法来分析执行的SQL语句,而不是采用传统的关键字检测的方法,对于一些非正常的SQL语句能进行阻止并且记录相关的信息,这样就可以很快地定位程序中存在注射漏洞的地方,为漏洞的及时修复提供必要的信息。</font></p><p><font size="2">  <strong>MysqlIds原理</strong></font></p><p><font size="2">  MysqlIds是由PHP编写的,通过一个封装的安全函数,监测程序中运行的SQL查询语句,针对黑客经常使用的union查询、select子查询、不常用的SQL注释符、文件操作和benchmark等危险函数行为进行报警,这个IDS是无缝封装在程序里的数据库操作流程里的,也就是黑客通过程序漏洞进行恶意的SQL注射都能被非常详细的监测到,程序员或者网站站长甚至能使用IDS发现自己网站程序中未被察觉的0DAY漏洞。下面我就分析MysqlIds的部分代码,使大家可以从原理上更容易的理解MysqlIds,我们看看MysqlIds如何监测黑客SQL注入经常使用的恶意的联合查询。部分代码如下:</font></p><p><font size="2">  if (strpos($clean, 'union') !== false &amp;&amp; preg_match('~(^|[^a-z])union($|[^[a-z])~s', $clean) != 0){</font></p><p><font size="2">  $fail = true;</font></p><p><font size="2">  $error="union detect";</font></p><p><font size="2">  }</font></p><p><font size="2">  MysqlIds使用了PHP中strpos函数来判断程序执行的SQL语句是否存在恶意的SQL注射,这个函数可以高效率的查找指定字符串返回一个布尔值,当程序执行SQL语句中使用联合查询,规则条件就开始生效,启用preg_match函数调用IDS规则来匹配恶意的联合查询语句,这个IDS规则是精心构造的正则表达式,类似于大家使用的传统IDS规则,由于MysqlIds是在程序的数据库操作层来检测,所有能抓取到有效且实实在在的安全问题,且更有效更具有针对性。MysqlIds还针对程序运行的SQL语句出现的异常情况进行了监控,如SQL语句中出现异常的注释符,一般黑客进行SQL注射攻击,很多情况下需要注释符完成SQL注射攻击的SQL语句,同时黑客还有可能使用一些比较危险的MYSQL函数和功能,如sleep、benchmark、load_file和into outfile功能等,这些黑客在程序中使用SQL注射的恶意动作都能被MysqlIds监测到。</font></p><p><font size="2"> <strong> MysqlIds与传统Web安全防御措施的区别</strong></font></p><p><font size="2">  传统的Web安全防御措施都非常滞后,在Web程序里未知的漏洞被攻击的情况下,管理员往往要排查很多东西才能找到问题的关键点,有的时候可能是使用的程序中存在一个未知的SQL注射漏洞被黑客利用,却无法确定黑客是如何攻击,而导致整个网站一而再,再而三的沦陷。合理地部署Mysqlids后,就可以帮助管理员第一时间准确的定位网站的Web程序漏洞,关键在于MysqlIds核心的日志功能,它能准确的将每次精确匹配报警后的信息存入日志,代码如下:</font></p><p><font size="2">  if (!empty($fail))</font></p><p><font size="2">  {</font></p><p><font size="2">  fputs(fopen($log_file,'a+'),"||$db_string||$error\r\n");</font></p><p><font size="2">  die("Hacking Detect</font></p><p><font size="2">  http://www.80sec.com");</font></p><p><font size="2">  }</font></p><p><font size="2">  e
发表于 2009-11-30 14:15:51 | 显示全部楼层

小布什调集了全球美军所有的战斧式巡航导弹向华盛顿发射来狂顶

小布什调集了全球美军所有的战斧式巡航导弹向华盛顿发射来狂顶
沙发 2009-11-30 14:15:51 回复 收起回复
回复 支持 反对

使用道具 举报

发表于 2009-11-30 14:17:31 | 显示全部楼层

霍元甲其实根本就没有死因为他还想要努力帮你顶

霍元甲其实根本就没有死因为他还想要努力帮你顶
板凳 2009-11-30 14:17:31 回复 收起回复
回复 支持 反对

使用道具 举报

匿名  发表于 2009-11-30 14:25:49

再加上千斤顶

再加上千斤顶
地板 2009-11-30 14:25:49 回复 收起回复
回复 支持 反对

使用道具

发表于 2009-11-30 14:55:38 | 显示全部楼层

安踏:我顶帖,我喜欢

安踏:我顶帖,我喜欢
5# 2009-11-30 14:55:38 回复 收起回复
回复 支持 反对

使用道具 举报

发表于 2009-11-30 15:10:22 | 显示全部楼层

今天看了下自己统计

今天看了下自己统计
6# 2009-11-30 15:10:22 回复 收起回复
回复 支持 反对

使用道具 举报

发表于 2009-11-30 15:44:16 | 显示全部楼层

霍元甲其实根本就没有死因为他还想要努力帮你顶

霍元甲其实根本就没有死因为他还想要努力帮你顶
7# 2009-11-30 15:44:16 回复 收起回复
回复 支持 反对

使用道具 举报

发表于 2009-12-1 10:14:29 | 显示全部楼层

很不错啊

很不错啊
8# 2009-12-1 10:14:29 回复 收起回复
回复 支持 反对

使用道具 举报

发表于 2009-12-2 10:59:34 | 显示全部楼层

楼主出门来财,儿孙满堂!

楼主出门来财,儿孙满堂!
9# 2009-12-2 10:59:34 回复 收起回复
回复 支持 反对

使用道具 举报

发表于 2009-12-2 11:36:28 | 显示全部楼层

晕。。。。怎么没早看到呢。。。。。。。。。

晕。。。。怎么没早看到呢。。。。。。。。。
10# 2009-12-2 11:36:28 回复 收起回复
回复 支持 反对

使用道具 举报

发表于 2009-12-2 13:34:48 | 显示全部楼层

定个 看看

定个 看看
11# 2009-12-2 13:34:48 回复 收起回复
回复 支持 反对

使用道具 举报

匿名  发表于 2009-12-3 20:22:05

呵呵,找个机会...

呵呵,找个机会...
12# 2009-12-3 20:22:05 回复 收起回复
回复 支持 反对

使用道具

发表于 2009-12-4 08:55:30 | 显示全部楼层

楼猪的文章简直是惊天地。。。泣鬼神。。。

楼猪的文章简直是惊天地。。。泣鬼神。。。
13# 2009-12-4 08:55:30 回复 收起回复
回复 支持 反对

使用道具 举报

发表于 2009-12-7 08:31:16 | 显示全部楼层

看看怎么样

看看怎么样
14# 2009-12-7 08:31:16 回复 收起回复
回复 支持 反对

使用道具 举报

发表于 2009-12-8 09:08:24 | 显示全部楼层

我来看看 这个能用吧!

我来看看 这个能用吧!
15# 2009-12-8 09:08:24 回复 收起回复
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 论坛注册

本版积分规则

QQ|Archiver|手机版|小黑屋|sitemap|鸿鹄论坛 ( 京ICP备14027439号 )  

GMT+8, 2025-1-23 10:30 , Processed in 0.084159 second(s), 9 queries , Redis On.  

  Powered by Discuz!

  © 2001-2025 HH010.COM

快速回复 返回顶部 返回列表