zoukankan      html  css  js  c++  java
  • urlscan使用详解

    urlscan使用详解

    (一)、软件的下载与安装

    URLScan可以在微软的网站上下载,地址如下:
    http://www.microsoft.com/downloads/details.aspx?FamilyID=23d18937-dd7e-4613-9928-7f94ef1c902a&DisplayLang=en

    和一般软件一样安装,但是,此软件不能选择安装路径,安装完成以后,我们可以在System32/InetSvr/URLScan目录下找到以下文件:

    urlscan.dll:动态连接库文件;
    urlscan.inf:安装信息文件;
    urlscan.txt:软件说明文件;
    urlscan.ini:软件配置文件,这个文件很只要,因为对URLScan的所有配置,均有这个文件来完成。

    (二)、软件的配置

    软件的配置由urlscan.ini文件来完成,在配置此文件以前,我们需要了解一些基本知识。

    1、urlscan配置文件的构造形式

    urlscan配置文件必须遵从以下规则:

    (1)此文件名必须为urlscan.ini;

    (2)配置文件必须和urlscan.dll在同一目录;

    (3)配置文件必须是标准ini文件结构,也就是由节,串和值组成;

    (4)配置文件修改以后,必须重新启动IIS,使配置生效;

    (5)配置文件由以下各节组成:

    [Option]节,主要设置节;
    [AllowVerbs]节,配置认定为合法URL规则设定,此设定与Option节有关;
    [DenyVerbs]节,配置认定为非法URL规则设定,此设定与Option节有关;
    [DenyHeaders]节,配置认定为非法的header在设立设置;
    [AllowExtensions]节,配置认定为合法的文件扩展名在这里设置,此设定与Option节有关;
    [DenyExtensions]节,配置认定为非法的文件扩展名在这里设置,此设定与Option节有关;

    2、具体配置

    (1)Option节的配置,因为Option节的设置直接影响到以后的配置,因此,这一节的设置特别重要。此节主要进行以下属性的设置:

    UseAllowVerbs:使用允许模式检查URL请求,如果设置为1,所有没有在[AllowVerbs]节设置的请求都被拒绝;如果设置为0,所有没有在[DenyVerbs]设置的URL请求都认为合法;默认为1;

    UseAllowExtensions: 使用允许模式检测文件扩展名;如果设置为 1,所有没在[AllowExtensions]节设置的文件扩展名均认为是非法请求;如果设置为0,所有没在[DenyExtensions]节设置的 扩展名均被认为是合法请求;默认为0;

    EnableLogging:是否允许使用Log文件,如果为1,将在urlscan.dll的相同目录设置名为urlscan.log的文件记录所有过滤;

    AllowLateScanning:允许其他URL过滤在URLScan过滤之前进行,系统默认为不允许0;

    AlternateServerName:使用服务名代替;如果此节存在而且[RemoveServerHeader]节设置为0,IIS将在这里设置的服务器名代替默认的“Server”;

    NormalizeUrlBeforeScan:在检测URL之前规格化URL;如果为1,URLScan将在IIS编码URL之前URL进行检测;需要提醒的是,只有管理员对URL解析非常熟悉的情况下才可以将其设置为0;默认为1;

    VerifyNormalization:如果设置为1,UrlScan将校验URL规则,默认为1;此节设定与NormalizeUrlBeforeScan有关;

    AllowHighBitCharacters:如果设置为1,将允许URL中存在所有字节,如果为0,含有非ASCII字符的URL将拒绝;默认为1;

    AllowDotInPath:如果设置为1,将拒绝所有含有多个“.”的URL请求,由于URL检测在IIS解析URL之前,所以,对这一检测的准确性不能保证,默认为0;

    RemoveServerHeader:如果设置为1,将把所有应答的服务头清除,默认为0;

    (2)[AllowVerbs]节配置

    如果UseAllowVerbs设置为1,此节设置的所有请求将被允许,一般设置以下请求:

    GET、HEAD、POST

    (3)[DenyVerbs]节配置

    如果UseAllowVerbs设置为0,此节设置的所有请求将拒绝,一般设置以下请求:

    PROPFIND、PROPPATCH、MKCOL、DELETE、PUT、COPY、MOVE、LOCK、UNLOCK

    (4)[AllowExtensions]节设置

    在这一节设置的所有扩展名文件将被允许请求,一般设置以下请求:

    .asp、.htm、.html、.txt、.jpg、.jpeg、.gif,如果需要提供文件下载服务,需要增加.rar、.zip

    (5)[DenyExtensions]节设置

    在这一节设置的所有扩展名文件请求将被拒绝,根据已经发现的漏洞,我们可以在这一节增加内容,一般为以下设置:
    .asa、可执行文件、批处理文件、日志文件、罕见扩展如:shtml、.printer等。 
    具体设置,应当视具体应用情况而定,否则会造成应用服务无法运行。譬如禁掉shtml,某些仿新浪的文章系统就无法运行了。另安上ASP.NET 2.0,然后数据库扩展名改成MDB,就不用怕被下载了。[感谢sunny boy的建议和支持]
  • 相关阅读:
    Java方向如何准备技术面试答案(汇总版)
    HTTP与HTTPS的区别
    MyBatisPlus环境下使用MyBatis的配置类
    idea 插件的使用 进阶篇(个人收集使用中的)
    Leveldb实现原理
    浅析 Bigtable 和 LevelDB 的实现
    IKAnalyzer进行中文分词和去停用词
    Elasticsearch之中文分词器插件es-ik的自定义词库
    使用Java High Level REST Client操作elasticsearch
    任正非:坚持逐渐辞退低绩效员工
  • 原文地址:https://www.cnblogs.com/oer2001/p/2772661.html
Copyright © 2011-2022 走看看