安全性测试系列之三-安全测试工具(PAROS PROXY)
2008-02-17 15:01:37 / 个人分类:安全测试
前两章分别介绍了安全性
测试内容和如何进行安全性测试。
如果通过手工进行安全性测试效率是非常低的,首先你必须要找到安全性测试的切入点,然后逐一对这些切入点进行检查。但寻找切入点是非常耗时而且对测试人员的安全、编码的知识面要求也非常高,再者即使是找到了 安全测试切入点,逐一对这些关键点进行测试也是需要大量的时间的。
为了提高安全测试的效率,我们需要借助一些安全性 测试工具。
1.先介绍一个关于安全性测试工具的网站 http://sectools.org/web-scanners.html 和 http://networking.ctocio.com.cn/tips/463/7703463.shtml
2.各个安全测试工具的比较大家去看相关文章,在这我们采用的是开源的安全探测工具-- Paros proxy
3.以下是关于paros proxy(v3.2.13)介绍
(1)安装
如果通过手工进行安全性测试效率是非常低的,首先你必须要找到安全性测试的切入点,然后逐一对这些切入点进行检查。但寻找切入点是非常耗时而且对测试人员的安全、编码的知识面要求也非常高,再者即使是找到了 安全测试切入点,逐一对这些关键点进行测试也是需要大量的时间的。
为了提高安全测试的效率,我们需要借助一些安全性 测试工具。
1.先介绍一个关于安全性测试工具的网站 http://sectools.org/web-scanners.html 和 http://networking.ctocio.com.cn/tips/463/7703463.shtml
2.各个安全测试工具的比较大家去看相关文章,在这我们采用的是开源的安全探测工具-- Paros proxy
3.以下是关于paros proxy(v3.2.13)介绍
(1)安装
- 安装JRE
- <!--[if !supportLists]--> <!--[endif]-->首先确保已安装JRE [Java Run Time Enviroment (JRE) 1.4 (or above) ]
- 注意:一定要先安装JRE,然后再安装paros proxy,如果先安装paros proxyr后安装JRE,paros proxy将无法启动。
- <!--[if !supportLists]-->如果没有JRE,可以通过以下地址下载并安装:http://java.sun.com/j2se
- 注意:如果找不到JRE,也可以下载相同版本的JDK,JDK会带有JRE。
- 配置JRE环境变量:
- <!--[if !supportLists]--> <!--[endif]-->首先,右击我的电脑-属性-高级-环境变量进入环境变量设置对话框。
- <!--[if !supportLists]-->设置PATH环境变量,在PATH环境变量中输入JRE的安装路径。
- 如JRE的安装目录为:c:/JRE. 在PATH环境变量中加入c:/JRE
- <!--[if !supportLists]--><!--[endif]-->新建CLASSPATH环境变量,在CLASSPATH环境变量中输入LIB路径。
- 安装和配置paros proxy应用程序
- 下载地址:http://sourceforge.net/projects/paros/
- 安装:
- 如果下载的是WINDOWS版本,安装比较简单。
- 如果下载的是UNIX或其它平台的版本,则需要手动将程序解压到一个新的目录,并单击.JAR文件运行程序。
- 配置:
- paros需要两个端口:8080和8443,其中8080是代理连接端口,8443是SSL端口,所以必须保证这两个端口并未其它程序所占用。(查看端口命令:打开DOS命令窗口,输入 netstat查看目前使用的端口)
- 如果在安装完成,启动应用程序时,出现初始化错误,极大的可能就是因为这个端口被其它程序所占用。
- 如果在安装完成,启动应用程序时,出现初始化错误,极大的可能就是因为这个端口被其它程序所占用。
- 配置浏览器属性:打开浏览器(如IE),打开工具-选项-连接-LAN设置-选中proxy server,proxyname为:localhost,port为:8080
- 如果你的计算机运行于防火墙之下,只能通过公司的代理服务器访问网络,你还需要修改PAROS的代理设置,具体的方法是:打开paros-工具-Options-connection,修改"ProxyName" and "ProxyPort"两项为代理服务器的名称和端口.
- 如果你希望其它的平台可以通过你本地机上的PAROS PROXY来访问WEB SERVER,你需要将本地机上的PAROS PROXY的IP设置为(比如:192.168.0.1)而不是127.0.0.1,因为127.0.0.1只允许本地机使用该应用程序.具体操作方法为:打开paros-工具-options-local proxy,将address
- paros需要两个端口:8080和8443,其中8080是代理连接端口,8443是SSL端口,所以必须保证这两个端口并未其它程序所占用。(查看端口命令:打开DOS命令窗口,输入 netstat查看目前使用的端口)
- 第一步:打开paros proxy,然后在浏览器中打开被测试程序。
- 第二步--SPIDER:抓取URL。
- 执行第一步后,系统会自动抓取被测试站点位于URL层次树中第一层的URL(比如一个网站,其首页的URL一般为层次树第一层),并将这些URL显示在左侧的“site”栏中,然后在site栏中选中某一个URL,右击鼠标选取spider命令或单击analyse菜单-spider命令,系统将抓取该URL层次树中下一层次的URL。
- 注意:由于paros并不能一些特定的URL路径,比如一些URL链接需要在合法登录后才能被识别出来,因此在进行URL抓取时,一定先要登录网站。
- 抓取功能不能处理以下情况:
- 具有非法验证的SSL站点的URL是不能被抓取的。
- 不支持多线程(也就是说:)
- 在HTML页中的某些URLS也是不能被识别的。
- 由javascrīpt生成的URLS也是不能被识别的。
- 虽然上述这些urls不能被自动抓取,所以我们可以将其手动增加到左侧的“site”栏中,具体的操作方法是:
- 首先我们要对被测试站点URL的层次树有很好的了解,这样我们才能知道哪个URL抓取了,哪还没有被抓取。
- 对于未被抓取的URLS,通过打开paros-工具-manual request editor,输入未被抓取的URLS,然后单击SEND按钮,完成手动加入URLS动作,添加成功后的URLS将显示在左侧的“site”栏中。(注:此处存在一个问题,当我输入一个URL后单击发送按钮后,系统总是报错“IO erros is sending request”,查看了一下RESPONSE,结果是我发送的URLS WEB 服务器不能识别,不知道是否对输入的URLS有什么特殊的要求,待定。)
- 第三步--SCANNER:针对“site”栏中的URLS进行扫描,逐一检查对URLS分别进行安全性检查,验证是否存在安全漏洞。
- 如果想扫描"site"栏中所有的URLS,单击anaylse-scan all可以启动全部扫描。
- 如果只想扫描“site”栏中某一URL,选中该URL,右击鼠标,选取scan命令。
- SCANNER可以对以下几种情况进行检查:
- SQL注入
- 跨站点脚本攻击
- 目录遍历
- CRLF -- Carriage-Return Line-Feed 回车换行等。
- 第四步--查看和验证扫描结果:
- 扫描完成后,单击Report-Last Scan report,可查看当前的扫描报告。
- 根据扫描报告,对扫描结果进行验证,比如扫描结果中有一是URL传递的参数中存在SQL注入漏洞,我们将该URL及参数输入到地址栏中,验证结果。
- 第五步--保存抓取、扫描内容。
- 保存时应注意:保存的路径不支持特殊字符,比如汉字等,否则会打不开保存后的文件。
- 保存时应注意:保存的路径不支持特殊字符,比如汉字等,否则会打不开保存后的文件。