工具

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://www.safedog.cn/install_desc_website.html

说明文档 http://www.safedog.cn/download/software/safedogwz_Windows_Help.pdf

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

urlScan 配置阻止sql注入的更多相关文章

  1. egg 阻止 sql 注入,相关文章

    egg 阻止 sql 注入,相关文章 网址 注意!!我们极其不建议开发者拼接 sql 语句,这样很容易引起 sql 注入!!如果必须要自己拼接 sql 语句,请使用 mysql.escape 方法. ...

  2. 如何阻止sql注入(pdo篇)

    Use prepared statements and parameterized queries. These are SQL statements that are sent to and par ...

  3. 结合jquery的前后端加密解密 适用于WebApi的SQL注入过滤器 Web.config中customErrors异常信息配置 ife2018 零基础学院 day 4 ife2018 零基础学院 day 3 ife 零基础学院 day 2 ife 零基础学院 day 1 - 我为什么想学前端

    在一个正常的项目中,登录注册的密码是密文传输到后台服务端的,也就是说,首先前端js对密码做处理,随后再传递到服务端,服务端解密再加密传出到数据库里面.Dotnet已经提供了RSA算法的加解密类库,我们 ...

  4. 实例讲解 SQL 注入攻击

    这是一篇讲解SQL注入的实例文章,一步一步跟着作者脚步探索如何注入成功,展现了一次完整的渗透流程,值得一读.翻译水平有限,见谅! 一位客户让我们针对只有他们企业员工和顾客能使用的企业内网进行渗透测试. ...

  5. 【转载】SQL注入

             "SQL注入"是一种利用未过滤/未审核用户输入的攻击方法("缓存溢出"和这个不同),意思就是让应用运行本不应该运行的SQL代码.如果应用毫无防 ...

  6. SQL注入之代码层防御

    [目录] 0x0 前言 0x1 领域驱动的安全 1.1 领域驱动的设计 1.2 领域驱动的安全示例 0x2 使用参数化查询 2.1 参数化查询 2.2 Java中的参数化语句 2.3 .NET(C#) ...

  7. sql注入攻防 以php+mysql为例

    随着Web应用的高速发展和技术的不断成熟,对Web开发相关职位的需求量也越来越大,越来越多的人加入了Web开发的行列.但是由于程序员的水平参差不齐或是安全意识太低,很多程序员在编写代码时仅考虑了功能上 ...

  8. Java防止SQL注入2(通过filter过滤器功能进行拦截)

    首先说明一点,这个过滤器拦截其实是不靠谱的,比如说我的一篇文章是介绍sql注入的,或者评论的内容是有关sql的,那会过滤掉:且如果每个页面都经过这个过滤器,那么效率也是非常低的. 如果是要SQL注入拦 ...

  9. 【荐】PDO防 SQL注入攻击 原理分析 以及 使用PDO的注意事项

    我们都知道,只要合理正确使用PDO,可以基本上防止SQL注入的产生,本文主要回答以下几个问题: 为什么要使用PDO而不是mysql_connect? 为何PDO能防注入? 使用PDO防注入的时候应该特 ...

随机推荐

  1. 向vivi中加入命令

    在vivi的lib/command.c中添加自己的命令 核心数据结构user_command. typedef struct user_command { const char *name;      ...

  2. Dockerfile创建MySQL容器

    本文目的是创建一个MySQL的image,并且在新创建出来的容器里自动启动mysql服务接受外部连接 步骤: 1. 首先创建一个目录并在目录下创建一个Dockerfile,文件内容如下 FROM ce ...

  3. 2006年清华:N的阶乘

    题目描述: 输入一个正整数N,输出N的阶乘. 输入: 正整数N(0<=N<=1000) 输出: 输入可能包括多组数据,对于每一组输入数据,输出N的阶乘 样例输入: 4 5 15 样例输出: ...

  4. JAVA 1.5 并发之 ReentrantLock

    在文章里我不打算具体讲Lock的实现,对此有兴趣的请点击这篇博文 http://www.blogjava.net/BucketLi/archive/2010/09/30/333471.html 我是一 ...

  5. Windows X64平台搭建Java开发环境

       JDK下载路径:www.oracle.com/technetwork/java/javase/downloads/index.html 下载JDK(Java Develop Kit) (1)针对 ...

  6. IPSec方案部署(多业务场景)

    技术点详解—IPSec方案部署 通过前面几期的介绍可以发现IPSec所涉及的参数很多,在具体方案部署过程中有许多灵活选择的地方,本期专栏就专门对IPSec在几种典型环境中的方案部署进行介绍. 一.   ...

  7. Mac系统的launchd、守护进程daemon(2013笔记整理)

    1. launchd Mac系统下通用的进程管理器,是Mac系统下非常重要的一个进程,一般来说该进程不允许直接以命令行的形式调用.只能通过其控制管理界面,launchctl来进行控制. launchd ...

  8. Packet for query is too large

    数据库:mysql5.6 framework: play framework 1.2.4 近日处理批量数据的insert,update,涉及的保存更新sql大概有18w.我的操作如下: 1)每次取10 ...

  9. (转)JAVA中的权限修饰符

    注:本博文是转载的,原文地址:http://blog.csdn.net/xk632172748/article/details/51755438 Java中修饰符总结: 访问控制修饰符 访问控制修饰符 ...

  10. ARC097E Sorted and Sorted

    传送门 题目 There are 2N balls, N white and N black, arranged in a row. The integers from 1 through N are ...