Paros工具使用手册

  1. Paros介绍

Paros是一种利用纯java语言开发的安全漏洞扫描工具,它主要是为了满足那些需要对自己的web应用程序进行安全检测的应用者而设计的。通过Paros的本地代理,所有在客户端与服务器端之间的http和https数据信息,包括cookie和表单信息都将被拦截或者是修改。paros proxy,这是一个对Web 应用程序的漏洞进行评估的代理程序,即一个基于Java的web 代理程序,可以评估Web应用程序的漏洞。它支持动态地编辑/查看 HTTP/HTTPS,从而改变cookies 和表单字段等项目。它包括一个Web 通信记录程序,Web 圈套程序(spider),hash 计算器,还有一个可以测试常见的Web 应用程序攻击(如SQL注入式攻击和跨站脚本攻击)的扫描器。该工具检查漏洞形式包括:SQL 注入、跨站点脚本攻击、目录遍历、CRLF -- Carriage-Return Line-Feed 回车换行等。


更多学习资料

https://edu.csdn.net/course/detail/25768
 https://edu.csdn.net/course/detail/22948

本手册主要是帮助用户熟悉Paros的基本功能和简单应用。

  1. 安装与配置
    1. 安装

在安装Paros工具之前需要安装Java文件,也就是JDK,版本必须在1.4以上。Paros是需要JDK支持的,JDK的下载地址如下:

http://www.oracle.com/technetwork/java/javase/downloads/index.html

接下来,下载Paros,地址为:

http://sourceforge.net/projects/paros/

Paros分别有Windows和Linux版本,当前我们应用在Windows下,需要下载Windows版本。

Paros拥有两个连接端口,分别为8080和8443,8080主要是针对Http建立连接,而8443是针对Https的协议建立连接的端口。

安装之后的Paros如图所示:

 

Paros工具使用手册_第1张图片

开启web浏览器,例如IE浏览器,需要配置连接代理,代理名称为localhost,代理端口为:8080,而端口8443是由Paros本身所使用,不是web浏览器所用,所以不用设置此代理端口。

注意:如果后台正在运行防火墙,而且只能接受设置好的互联网访问入口,此时需要修改Paros代理名称和端口号,如下所示修改者两个标识。

Paros工具使用手册_第2张图片


更多学习资料

https://edu.csdn.net/course/detail/25768
 https://edu.csdn.net/course/detail/22948​​​​​​​

 

配置

首先启动Paros程序,如果在启动时界面上弹出错误提示,说明端口号8080和8443可能被占用,此时我们只需要修改Paros的本地端口号,然后再修改IE浏览器上的代理设置,使之相一致就可以了。如下图所示:

Paros的设置:

Paros工具使用手册_第3张图片

IE的代理设置:

Paros工具使用手册_第4张图片 

首先来看Paros的界面以及功能分布

Paros工具使用手册_第5张图片

 

Spider抓取

Spider是Paros中一个非常重要的功能,它是用来抓取网站信息,收集URL地址信息,通过Spider这种方式来来逐层分解抓取站点的URL。如图所示:

Paros工具使用手册_第6张图片

当前,它的功能包括如下:

1)通过提供的URL地址来抓取HTTP或者HTTPS信息

2)支持抓取Cookie信息

3)支持设置代理链

4)自动添加URL地址,并以树结构分层进行扫描

Spider存在的一些缺陷,如下:

1)对于具有非法验证的SSL协议的站点不能被扫描

2)不支持多线程

3)对于在HTML中存在异常URL地址的页面不能被识别

4)Javascript生成的URL地址不能被识别

注意:对于不能被 识别的URL地址,Paros也可以扫描,需要通过手动添加即可。


更多学习资料

https://edu.csdn.net/course/detail/25768
 https://edu.csdn.net/course/detail/22948​​​​​​​

 

 

Scanner扫描

针对“site”栏中的URLS 进行扫描,逐一检查对URLS 分别进行安全性检查,验证是否存在安全漏洞。如果想扫描"site"栏中所有的URLS,单击anaylse-scanall可以启动全部扫描。如果只想扫描“site”栏中某一URL,选中该URL,右击鼠标,选取scan 命令。如下图所示:

Paros工具使用手册_第7张图片

关于扫描设置,可以对单个页面进行扫描,也可以对整个站点进行扫描。

Scanner可以针对一下几种情况进行扫描:

1)SQL注入

2)XSS跨站点脚本攻击

3)目录遍历

4)CRLF -- Carriage-Return Line-Feed 回车换行等。

注意:Paros扫描是针对每个网站URL地址进行分层扫描,精确到每个一个独立的URL地址,都需要进行漏洞检测。

Paros工具使用手册_第8张图片


更多学习资料

https://edu.csdn.net/course/detail/25768
 https://edu.csdn.net/course/detail/22948​​​​​​​

1)搜集的信息有如下分类:

过期的文件、私有IP的暴露、URL地址中可以改写的Session ID、过期文件的扩展检查。

2)客户端浏览器有如下分类:

表单自动完成密码的保存、浏览过程中保存的安全性文件的缓存信息。

3)服务器端安全有如下分类:

正在浏览的目录信息、IIS服务的默认文件等各种服务器的默认文件。

4)SQL注入有如下分类

基本的sql语句构造、目录上传、服务器站点注入、跨站脚本注入等。

    1. Filter过滤器

过滤器的用途:

1)检测并警告你在HTTP消息中一些预定义发生的模式,因此你不需要去捕获每个HTTP消息,而只需要寻求你所需要的模式。

2)记录一些你所感兴趣的信息,例如Cookie等。

在数据传输中,过滤器会对每一个HTTP消息进行拦截检测,如果使用所有过滤将会大大降低Paros的扫描速度,所以通常我们只需要对我们需要的信息进行拦截过滤。

当前,有如下过滤器:

1)LogCookie

记录所有浏览器端到服务器端接收的Cookies信息,并显示在面板中。

2)LogGetQuery

记录所有HTTP(HTTPS)来自浏览器端获取的参数,并且日志的名称将以“get.xls”的形式保存在Paros目录下面。

3)LogPostQuery

记录所有HTTP(HTTPS)来自浏览器端传送的参数,并且日志的名称将以“post.xls”的形式保存在Paros目录下面。

4)CookieDetectFilter

提醒你在返回HTTP消息中尝试去设置并修改Cookie信息。

5)IfModifiedSinceFilter

在HTTP请求中删除“If−Modified−Since”和“If−None−Match”这头信息选项,它将检索“HTTP 200 OK”,而不是“HTTP 304 not modified”。

    1. Traping Http Requests and Responses

Paros能手动捕获和修改HTTP(HTTPS)的请求和响应信息,所有的HTTP和HTTPS数据通过Paros都能被捕获,并且可以按照我们需要的方式进行修改。

只要选中复选框“Trap Request”和“Trap Response”,就表示捕获所有的请求和响应信息,然后点击“Continue”就可以继续操作。具体操作如图所示:

首先,启动Paros工具,并启动页面;

其次,勾选Trap页面的Trap Request和TrapResponse选项;

 

通过一个简单的Http web站点来演示Paros的基本功能。

1、启动Paros工具,进入Option设置Local Proxy,分别设置代理名称为:Localhost,代理端口为:8081;接着设置IE浏览器的网络连接代理,与Paros代理信息一致。

  1. 漏洞类型

漏洞是在硬件、软件、协议的具体实现或系统安全策略上存在的缺陷,从而可以使攻击者能够在未授权的情况下访问或破坏系统。是受限制的计算机、组件、应用程序或其他联机资源的无意中留下的不受保护的入口点。然而,常见的web安全漏洞有以下几种。

    1. SQL注入

所谓SQL 注入,就是通过把SQL 命令插入到Web 表单递交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL 命令. 比如先前的很多影视网站泄露VIP 会员密码大多就是通过WEB 表单递交查询字符暴出的,这类表单特别容易受到SQL 注入式攻击.

例如管理员的账号密码都是admin,那么再比如后台的数据库查询语句是

user=request("user")

passwd=request("passwd")

sql='select admin from adminbate where user='&'''&user&'''&' and

passwd='&'''&passwd&'''

那么我使用'or 'a'='a 来做用户名密码的话,那么查询就变成了

select admin from adminbate where user= ''or 'a'='a' and passwd= ''or 'a'='a'

如何防止SQL注入,归纳一下,主要有以下几点:

1)永远不要信任用户的输入。对用户的输入进行校验,可以通过正则表达式,或限制长度;对单引号和双"-"进行转换等。   

2)永远不要使用动态拼装sql,可以使用参数化的sql或者直接使用存储过程进行数据查询存取。   

3)永远不要使用管理员权限的数据库连接,为每个应用使用单独的权限有限的数据库连接。   

4)不要把机密信息直接存放,加密或者hash掉密码和敏感的信息。   

5)应用的异常信息应该给出尽可能少的提示,最好使用自定义的错误信息对原始错误信息进行包装。

6)sql注入的检测方法一般采取辅助软件或网站平台来检测。

    1. XSS攻击

XSS又叫CSS (Cross Site Script) ,跨站点脚本攻击。它指的是恶意攻击者向Web 页面里插入恶意html 代码,当用户浏览该页之时,嵌入其中Web 里面的html 代码会被执行,从而达到恶意攻击用户的特殊目的。

    1. 目录遍历

目录遍历攻击是Http所存在的一个安全漏洞,它使得攻击者能够访问受限制的目录,并在Web服务器的根目录以外执行命令。

    1. CRLF回车换行

CRLF是说黑客能够将CRLF 命令注入到系统中。它不是系统或服务器软件的漏洞,而是网站应用开发时,有些开发者没有意识到此类攻击存在的可能而造成的。


更多学习资料

https://edu.csdn.net/course/detail/25768
 https://edu.csdn.net/course/detail/22948

你可能感兴趣的:(Paros工具使用手册,安全测试,Paros,SQL注入,跨站点攻击)