上次我们谈到了WVS的口令保护(《Web应用安全系列:安装和配置WVS(二)》),其实关于WVS的配置还有许多内容,前两篇仅能起到一个抛砖引玉的作用。如果你有任何问题可以与笔者交流。我们从本节开始将讨论WVS的漏洞扫描,也就是要进入实战阶段了。
添加一个漏洞项目
漏洞项目是Vulnerabilities扫描期间所需要的额外参数。漏洞项目保存在相关的Vulnerability之中,可以通过如下的步骤创建:
1.在Vulnerability中你需要创建一个新漏洞参数的位置上右击,选择“Add Vulnerability item”。
2.在Item Properties(项目属性)中,定义属于此参数的项目名称(Name)和文件名(值)。
3.单击漏洞编辑器窗口上部工具栏中的保存按钮。这样就会保存新的漏洞项目,它会被用于将来的测试变量。
示例:创建一个可以搜索特定文件的测试
在本节中我们要展示一个创建新漏洞检查的基本过程。在本例中也就是要搜索一个叫做“passwords.txt”的文件。
第一步:创建一个漏洞
创建一个新的漏洞。我们称它为“Look for Passwords.txt file”。
1.从Acunetix WVS中启动漏洞编辑器(Vulnerability Editor)
2.因为我们要在站点目录中搜索一个文件,我们将使用目录检查模块。在“Directory Checks”结点上右击,选择“Add vulnerability”。
3.如上图,在新的漏洞对话中,设定下面的详细资料:
·Name(名称):“Look for a Passwords.txt. file”
·Description(描述):此测试将扫描目标站点并查找一个称为passwords.txt的文件。
·VulnXML:可以保留默认的文件名
·VulnXML support:基于默认的VulnXML
单击“Add”按钮创建新的漏洞。此漏洞会列示在下面的“Directory Checks”中。
第二步:添加一个漏洞项目
我们已经创建了测试,现在需要定义测试的参数。这是通过创建一个漏洞项目完成的。
在此例中,我们需要创建一个漏洞参数,它包含着要搜索的文件名(即passwords.txt)。
1.在“Look for Passwords.txt Vulnerability”上右击,选择“Add vulnerability item”。
2.在项目属性部分,设定下面的内容:
·Name:Password.txt
·Value:/Passwords.txt
WVS漏洞扫描器会在所有找到的目录中查找一个称为Passwords.txt的文件。例如,假定crawler在扫描目标站点后找到了两个目录:“/secured” 和 “/”。根据${path}变量的值和相应的漏洞参数,它会查找:“/passwords.txt” 和“/secured/passwords.txt”。
3.单击保存按钮保存漏洞参数。
第三步:配置测试属性
现在我们需要查找Passwords.txt漏洞。
1.单击“Look for the Passwords.txt Vulnerability”。
2.在参数部分,保留Affects 和 BindAlertToFile 的默认值,即分别是“set_by_module” and “1”。
3.在VulnXML部分,设定测试描述中下列字段的以下内容:
·Name: Look for Passwords.txt
·Affects: 文件
·Severity: High
·Alert: Success (i.e. alert is generated if file is found)
·Description: Search for passwords.txt file
·Impact: Contains sensitive information
·Recommendation: Delete the file
4.作为选择,在“References”选项卡中,设定Web上的漏洞参数:
·Database: Link Title
·URL: Full URL to the reference
5.在“Applicable”选项卡中,保留默认值,因为要独立于Web服务器和操作系统或所使用的技术检查文件。
6.在“variables”选项卡中设置测试的变量。目录检查模块要使用三个称为File、Test、Path的变量。
·File变量是通过扫描程序为其所发现的每一个目录自动设置的。
·Test变量是从以前所创建的漏洞参数中重新检索得到的。在我们的例子中, “Test”变量会包含“/Passwords.txt”,这是在增加一个新的漏洞参数(在我们的例子中,漏洞参数称为“The Pword file to be searched”)时设置的值。
·Path变量值是通过组合$file$test的值而设置的。
不过,因为我们已经创建了测试变量所涉及的漏洞项目,在此就没有必要改变了。
7.在Connection选项卡中,设置HTTP请求和此测试的成功/失败标准。在此例中既然没有必要做出任何特定的HTTP请求,可以保留“Connection”选项卡的默认值。
第四步:保存测试并重新启动WVS
8.单击保存按钮保存漏洞检查,关闭漏洞编辑器以及WVS。
9.再次启动WVS,在“Configuration”中的“Scanning Profiles”上单击,检查新的漏洞是否已经添加到扫描配置文件中。
10.为了在下次扫描中使新的测试可用,选中新测试左侧的复选框。
11.如果测试确认了文件,它会在下次扫描期间显示在警告结点中。
至此漏洞扫描完成。