利用IIS日志检测和分析常见WEB攻击

来源:互联网 发布:快乐家族知乎 编辑:程序博客网 时间:2024/04/28 09:53

利用IIS日志检测和分析常见WEB攻击

                                                            作者:警E卫

一、常见攻击及IIS日志记录
1、页面访问攻击
        IIS日志也在%systemroot%/sys tem32/LogFiles/W3SVC1目录下,默认是每天一个日志文件。如下示例:
#Software: Microsoft Internet Information Services 5.0
#Version: 1.0 http://www.japee.com.cn/jew/bbs.aspx
#Date: 20080305 03:091
#Fields: date time cip csusername sip sport csmethod csuristem csuriquery scstatus cs(UserAgent)
20080305 03:091 192.168.0.13 192.168.0.3 80 GET /iisstart.asp 200 Mozilla/4.0+(compatible;+MSIE+5.0;+Windows+98;+DigExt)
20080305 03:094 192.168.0.13 192.168.0.3 80 GET /pagerror.gif 200 Mozilla/4.0+(compatible;+MSIE+5.0;+Windows+98;+DigExt)
通过分析第六行,可以看出200835日,IP地址为192.168.0.13的用户通过访问IP地址为192.168.0.3机器的80端口,查看了一个页面iisstart.asp,这位用户的浏览器为compatible;+MSIE+5.0;+Windows+98+DigExtiisstart.asp页面一般是管理员才会用到,如果访问了该页面,很有可能是入侵,需要提高警惕。

2SQL注入式攻击http://www.japee.com.cn/jew/bbs.aspx
        在IE浏览器中输入类似http://192.168.0.3/test.asp?id=49;and user>0,这是一个典型的SQL注入式攻击。这句语句很简单,但却包含了SQLServer特有注入方法的精髓,我自己也是在一次无意的测试中发现这种效率极高的猜解方法。让我看来看看它的含义:首先,前面的语句是正常的,重点在and user>0,我们知道,userSQLServer的一个内置变量,它的值是当前连接的用户名,类型为nvarchar。拿一个 nvarchar的值跟int的数0比较,系统会先试图将nvarchar的值转成int型,当然,转的过程中肯定会出错,SQLServer的出错提示是:将nvarchar ”abc” 转换数据类型为 int 的列时发生语法错误,呵呵,abc正是变量user的值,这样,不废吹灰之力就拿到了数据库的用户名。
         这种攻击就是利用SQL报错机制,获得想要的信息,或者是利用SQLSQL语句中的一些恒等式,欺骗SQL数据库,从而获得认证通过。这是这一切IIS日志都会忠诚的记录下来。上面的示例中,IIS日志中会记录
2008-03-05 11:07:11 10.17.168.1 - 10.17.168.1 80 GET http://192.168.0.3/test.asp?id=49 ; and user>0 500
        一般来说,这种攻击一次试探是难以达到目标的,它会进行多次试探,通过日志分析,就可以将这种可疑信息过滤出来,并且预警。

3unicode漏洞攻击http://www.japee.com.cn/jew/bbs.aspx
         在IE浏览器中输入192.168.0.1/scripts/..%c1% 1c../winnt/system32/cmd.exe?/c+dir,若IIS5.0未打补丁包则会出现目录列表。这时,IIS的日志会记录
2008-03-05 09:07:11 10.17.168.1 - 10.17.168.1 80 GET /scripts/..?+1c../winnt/system32/cmd.exe /c+dir 200
        出现这个日志表明有人想攻击IIS服务器,如果状态记录为200,情况严重,系统未打补丁需马上升级程序。如果状态为500,恭喜,你已打了补丁包,入侵是失败的。但请跟踪登录IP10.17.168.1),低级的入侵者不会隐藏自已的IP,在一次攻击不成后,可能还会再想办法攻击。

二、常见利用IIS日志分析入侵的方法

1、日志安全性保护法
        一个老练的入侵者,在入侵成功后一定会把日志中的痕迹去掉,让你无法掌握其入侵事实。所以保护好日志变得非常重要,通常我们的日常默认路径为%systemroot%/system32/LogFiles,如果不进行相关保护,则很容易找到,并被入侵者改写。常用的日志保护法是通过日志重定向放到自定义的目录。日志重定向要通过修改注册表来完成,找到注册表HKEY_LOCAL_MACHINE/SYSTEM/ CurrentControlSet/ Services/Eventlog下面的ApplicationSecuritySystem几个子键,分别对应“应用程序日志”、“安全日志”、“系统日志”。如何修改呢?下面我们具体来看看Application子键:File项就是“应用程序日志”文件存放的位置,把此键值改为要存放日志文件的文件夹,我们再把%systemroot%/system32/config/appevent.evt文件拷贝到此文件夹,再重启机器就可以了。

2、敏感词元分析法http://www.japee.com.cn/jew/bbs.aspx
        建立敏感词元表,利用各种工具在日志中搜索敏感词元,一发现存在敏感词元,即刻报警。常用敏感词元列表如下



3、统计分析法