首页 > 代码库 > urlScan 配置阻止sql注入

urlScan 配置阻止sql注入

工具

urlscan_v31_x64

urlscan_v31_x86

URLScan是一个IIS下的ISAPI 筛选器,它能够限制服务器将要处理的HTTP请求的类型。通过阻止特定的 HTTP 请求,URLScan 筛选器可以阻止可能有害的请求到达服务器并造成危害,urlScan 3.1支持IIS6、IIS7。

URLScan配置文件在 C:\Windows\System32\inetsrv\urlscan

下面是配置文件的说明

UseAllowVerbs=1
; 允许的请求的HTTP类型;
; 如果设置为 1,则[AllowVerbs]生效;
; 如果设置为 0,则[AllowVerbs]生效。

UseAllowExtensions=0
; 允许请求的后缀类型;
; 如果设置为 0,则[DenyExtensions]生效;
; 如果设置为 1,则[AllowExtensions]生效。

NormalizeUrlBeforeScan=1
; 扫描标准化URL之前。

VerifyNormalization=1
; 查证标准化URL。

AllowHighBitCharacters=1
; 如果设置为 1,将允许URL中存在所有字节;
; 如果设置为 0,含有非ASCII字符的URL将拒绝(如UTF8或者MBCS)。

AllowDotInPath=0
; 如果设置为0,则URLScan 拒绝所有包含多个句点 (.) 的请求。

RemoveServerHeader=0
;设置为1可隐藏服务器信息。

EnableLogging=1
; 开启日志记录

PerProcessLogging=0
; 如果设置为0,为每个进程创建日志文件。

AllowLateScanning=0
; 如果设置为 0,则 URLScan 作为高优先级筛选器运行。

PerDayLogging=1
; 如果设置为 1,则URLScan每天创建一个新的日志文件。

UseFastPathReject=0
; 如果设置为 1,则 URLScan 忽略 RejectResponseUrl 设置并立即向浏览器返回 404 错误信息。
; 如果设置为 0,则 URLScan 使用 RejectResponseUrl 设置来返回请求。

LogLongUrls=0
; 这个属性是UrlScan 3.0及以后的弃用。UrlScan禁止3.0及以后总是包括完整的日志文件的URL。


UnescapeQueryString=1
;如果设置为1,UrlScan将执行两个传递查询字符串扫描后与原始查询字符串和一次unescaping
;如果设置为0,UrlScan禁止只会看看原始客户端发送的查询字符串

RejectResponseUrl=
; 设置用于返回的Url路径

AlternateServerName=
; 如果将 RemoveServerHeader设为0,此可自定义服务器关信息。
; 如果将 RemoveServerHeader设为1,则此选项将被忽略。

 

[AlwaysAllowedUrls]
;
; 这里列出的url将永远是显式地允许UrlScan禁止并将绕过所有UrlScan禁止检查。列出的url必须用“/”字符。例如:
;
;   /SampleURL.htm
;

 

[DenyUrlSequences]
;
; 如果任何字符序列列在这里出现在任何的URL请求,该请求将被拒绝。
;

..  ; 不允许目录遍历
./  ; 不允许拖点目录名称
\   ; 不允许反斜杠的URL
:   ; 不允许交替流的访问
%   ; 不允许正常化后溢出
&   ; 不允许多个CGI进程在单个请求中运行

 

在参数中过滤sql注入的一些关键字

[DenyQueryStringSequences]
;
;如果任何字符序列这里列出在查询字符串中出现任何请求,该请求将被拒绝。
;

下面是一些常用的关键字就不一一列举了


<   ; 常用的脚本注入攻击
>   ;
--  ;
delete ;
select ;

注意:设置好这些以后需要重启一下iis,urlscan才能生效

 

参考 http://blog.csdn.net/huwei2003/article/details/6259757