【51CTO.com 综合消息】随着各种各样的Web应用(电子商务、论坛、新闻、博客等)不断进入人们的生活,越来越多的动态元素被加入到Web建设中来。表单、登录、信息发布等动态内容允许访问者获得和提交动态的内容,如果这些Web应用存在不安全的隐患,那么整个数据库甚至是Web站点系统都会面临安全风险。据统计,目前75%的网络攻击行为都是通过Web来进行的。
对Web应用的安全性进行手工测试和审计是一项复杂且耗时的工作,不仅需要极大的耐心还需要专业的技术经验。对于一般的Web管理人员来说,基于安全的管理将占用大量工作时间。自动化的漏洞扫描工具能够大幅简化对于未知安全隐患的检测工作,有助于Web管理人员将精力转向如何处理安全风险上。
UnisWebScanner 专为当前复杂的Web环境而设计,作为自动化的Web应用安全检测工具,能够对SQL注入、XSS、网站挂马、敏感信息泄漏等风险进行全面审计,适用于通过internet、intranet、extranet进行网上交易或信息发布的大、中、小型应用,如金融、证券、政府、电子商务、电信运营商、基金、网游、科研院所等各类企事业单位。
结构说明
【UnisWebScanner主界面】
图 1 主界面 |
【扫描引擎】
用于对网站进行安全扫描,包含2个步骤:
爬虫 —— 自动分析网站,输出网站结构。
扫描 —— 从攻击者角度思考,智能化扫描。
【漏洞验证】
如果发现有注入点,可以通过漏洞验证模块猜测数据库类型、枚举数据库、表、读取系统文件等。
【辅助工具】
代理测试台提供代理的功能,帮助您截获、检查和修改HTTP客户端到Web服务器的通信,如分析Session ID、越过客户端javascript验证等。
3.5产品许可证
您需要注册后才可使用UnisWebScanner的全部功能。欲购买产品许可证,请联系产品提供商。 #p#
一、安装部署
1.安装需求
表1 |
2.安装过程
获得产品
从产品提供商获得产品及使用手册。
安装
运行安装程序,直到安装完成。
提供必要的注册信息
在“关于”->“用户注册”对话框中获取系统信息,并提供自己的名称和网站域名授权信息。
获得许可证
从产品提供商处获得许可证。
注册
在“关于”->“用户注册”输入“用户信息”和“注册信息”。
升级插件在“关于”,点击“升级”,更新漏洞库、规则库到最新版本。
3.卸载
可以在“添加/删除程序”中卸载程序,也可以在开始菜单中通过快捷方式进行卸载。 #p#
二、使用说明
注意事项:根据中华人民共和国相关法律规定,本产品只适用于已获得扫描授权的网站。任何违反法律规定的行为由使用者自行承担,与UnisWebScanner及开发者无关,特此声明。
1.向导
为了方便用户直接使用本产品的功能,UnisWebScanner提供了使用向导,只需您填写或选择一些必要的信息,就可以快速开始(按照系统默认配置,适用于大多数的应用环境)进行扫描。
2.网站扫描
网站扫描是本产品第一大功能,对网站的安全漏洞进行检测,如:SQL注入、跨站脚本、网页挂马、敏感文件泄漏、敏感目录泄漏及后台管理信息泄漏等。
图2 网站扫描 |
对目标网站进行扫描时,需要提供如下的必要信息:
1)输入扫描网站的起始URL
XXX
XXX:80 等
2)输入Cookie
有些网站需要输入用户名、密码后才能登入,在扫描前需要将登陆后的Cookie填入,并将登陆后的URL输入“起始URL”输入框中;其他地方可不必填写。
3)选择扫描策略
可以选择特定的扫描策略模块,也可以选择全部扫描策略模块(在“配置”->“策略配置”中选择全部策略模块中的例外模块)。
4) 点击“开始”进行扫描
扫描过程中右侧的状态窗口中会显示进度及数据统计,下方日志窗口中显示实时的日志信息和错误信息。
5)终止扫描
点击停止按钮,注意查看下方的日志信息,程序会终止工作线程。
在整个扫描过程中,您可以通过扫描状态栏看到当前正在检测的模块,以及检测结果的实时信息,如下图所示:
图3 扫描信息 |
您可以在图3中的漏洞统计信息中查看详细的漏洞列表。为了便于查看,软件将同一链接的漏洞进行了归类显示,这样可以很清楚的看到哪些链接存在安全隐患。如图4和图5所示。
图4 漏洞列表信息 |
图5 漏洞详细信息 |
您可以右键点击该漏洞,对该漏洞进行验证,详见漏洞验证相关章节。
图6 快捷验证漏洞 |
#p#
3.漏洞验证
3.1漏洞基本信息
漏洞基本信息的填写有两种方式:一是右键点击扫描结果中的注入漏洞列表,选择验证漏洞,此时将自动输入漏洞信息;二是手工填写注入漏洞列表,需要填写如下参数。
图7 漏洞基本信息 |
1)链接
具有注入漏洞的链接地址,如果是GET方式,则该链接必须带参数,即:XXX/XX.XXX?XX=XXX,如果是POST方式则可以带参数也可以不带。
2)Cookie
同网站扫描部分的Cookie,请参考网站扫描部分关于Cookie的说明。
3)方法
选择GET或者POST
4)参数
此处为POST的参数
5)位置
此处为具有注入漏洞的参数的位置号
6)类型
注入漏洞的类型:整数型、字符串型以及搜索行,扫描结果中的注入漏洞列表中会提供相应的信息,如果是手动输入,请手工确认漏洞信息。
7)关键字
关键字必须通过人工的方式来确认(可以通过本软件的辅助工具中的手工测试台),所谓关键字是指当参数后面所跟条件为恒成立时,网站反馈的网页内容中必然包含的字符串,并且是当参数后面所跟条件为恒不成立时,网站反馈的网页内容中必然不包含该字符串,则该字符串为关键字。【请注意阅读此“关键字”部分】
8)数据库类型
填入以上信息后,可以通过点击猜测数据库类型来进行猜测,根据数据库不同的类型可以猜测相应数据库的属性以及数据的内容。
注意:
MSSQL With Error数据库类型即后台数据库为MSSQL,并且WEB服务器支持错误信息的反馈。
对于Access数据库类型的猜测只支持带错误显示的Web服务器。
3.2数据库基本信息猜测
当猜测完数据库类型后,可以利用注入漏洞来猜测相应数据库的基本信息,如:数据库名称、版本、账户名称等信息。
图8 数据库基本信息 |
3.3数据库内容猜测
数据库内容的猜测有两种方式:一是根据数据库自身的字典进行猜测,Oracle、MSSQL、MSSQLWithError属于该类型;二是通过外部字典方式来进行猜解,Access属于该类型,因此对Access数据库的猜测依赖于外部字典的强大,本软件默认使用dict目录下的字典文件,用户可以编辑该文件以增强字典的功能。数据库的猜测顺序为:猜测表名、猜测某一表的列名、猜测某一表某些列的内容。为了提高猜测的性能以及准确度,您需要填写如下信息。
1)编码方式
猜测非中文字符一般不需要指定,采用默认的ASCII码方式即可,如果猜测结果出现乱码或空字符,则可能是由于其中包含中文字符,此时需要更改编码的方式,可以逐一尝试,直到猜测到正确字符为止。
2)猜测条件
当猜测表名、列名以及数据内容时,数据量过大,猜测可能需要花费很长的时间,这时可以通过设定限制条件来进行过滤,如:猜测MSSQLServer数据库的表名时,可以输入:name like '%user%' ,猜测Oracle数据库表名时,可以输入:table_name like '%user%'。
图9 数据库内容 |
#p#
4.辅助工具
4.1手工测试
通过手动的方式来定制发送到WEB服务器的参数获取网页内容,通过这种方式可以测试漏洞、获取关键字等。
图10 手动测试台 |
其中:
HTTP头,显示服务器反馈的信息头内容。
网页格式,显示浏览器中显示的内容。
网页源代码,即为该网页的原始代码。
5.设置
通常情况下,软件已经默认定制了通用的扫描方式和属性,适应大部分网站扫描。如果遇到一些特殊情况,可以通过设置来定制扫描方式和属性。
5.1 HTTP选项设置
图11 HTTP配置选项 |
UserAgent:扫描网站时在HTTP头设置UserAgent的字符串,如果某些网站限制特定UserAgent的访问,则需要修改默认值。 页面大小:当遇到过大的网页或者其他文件时,网页爬虫就不需要获取,如,爬虫爬到某一比较大的avi文件时,就不需要获取其详细内容。 网络超时:您可以灵活设置。
5.2爬虫设置
图12 爬虫设置 |
文件后缀过滤:爬虫遇到一些二进制文件,由于其中不可能会包含下一级的链接地址,因此不需要获取其具体内容。
表单内容填写:当爬虫爬到一些需要用户输入的表单内容时,爬虫需要自动填写的内容,软件默认值为:1
5.3检测设置
图13 检测设置 |
参数过滤:某些参数是WEB的一些通用参数,这些参数是某些语言的一些默认参数,因此不需要检测这些参数,以提高检测效率。
网页检测次数:对于同一网页脚本不同参数,检测结果一般相同,没有必要连续检测过多的次数。
5.4策略配置
图14 策略配置 |
在扫描策略选择时选择全部策略,可能不希望进行某几个模块的检测,可以在这里进行设定。#p#
三、常见问题
Q1: 当输入扫描地址并点击开始后,程序无反应。
A1: 产品没有注册,或没有输入注册码激活,请检查您的许可证。
Q2: 安装完成后,程序不能运行是怎么回事?
A2: UnisWebScanner是基于.NET框架构建进行开发的,运行这样的程序您需要首先安装 .NET框架,当前最新版本是3.5 SP1,可以在
http://msdn.microsoft.com/en-us/netframework/default.aspx处进行下载。
Q3: 开始扫描网站后,马上就结束了,为什么?
3: 指定的目标网站首页可能是flash等文件,请跳过该页,指定一个包含该网站主要导航链接的“首页”进行扫描。
Q4: 网站扫描了快10个小时了,还没完,是不是出错了?A4: 可能是指定的网站较大页面数量较多,也可能是其他的原因,请及时联系我们的技术服务团队。
Q5: 谢谢您们的产品,但我希望能确定网站是否存在漏洞并获得解决方案,能帮助我吗?
A5: 是的。UnisWebScanner团队多年来专注于Web安全研究,您可以随时申请我们专业的服务支持。
四、 附录
附录1:HTTP状态码
摘自HTTP 协议(版本1.1)RFC 2616,详细信息参见
http://www.ietf.org/rfc/rfc2616.txt
100: Continue
101: Switching Protocols
200: OK
201: Created
202: Accepted
203: Non-Authoritative Information
204: No Content
205: Reset Content
206: Partial Content
300: Multiple Choices
301: Moved Permanently
302: Found
303: See Other
304: Not Modified
305: Use Proxy
307: Temporary Redirect
400: Bad Request
401: Unauthorized
402: Payment Required
403: Forbidden
404: Not Found
405: Method Not Allowed
406: Not Acceptable
407: Proxy Authentication Required
408: Request Time-out
409: Conflict
410: Gone
411: Length Required
412: Precondition Failed
413: Request Entity Too Large
414: Request-URI Too Large
415: Unsupported Media Type
416: Requested range not satisfiable
417: Expectation Failed
500: Internal Server Error
501: Not Implemented
502: Bad Gateway
503: Service Unavailable
504: Gateway Time-out
505: HTTP Version not supported extension-code