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 回车换行等。
在安装Paros工具之前需要安装Java文件,也就是JDK,版本必须在1.4以上。Paros是需要JDK支持的,JDK的下载地址 接下来,下载Paros,Paros分别有Windows和Linux版本,当前我们应用在Windows下,需要下载Windows版本。 Paros拥有两个连接端口,分别为8080和8443,8080主要是针对Http建立连接,而8443是针对Https的协议建立连接的端口。
开启web浏览器,例如IE浏览器,需要配置连接代理,代理名称为localhost,代理端口为:8080,而端口8443是由Paros本身所使用,不是web浏览器所用,所以不用设置此代理端口。 注意:如果后台正在运行防火墙,而且只能接受设置好的互联网访问入口,此时需要修改Paros代理名称和端口号,如下所示修改者两个标识。
首先启动Paros程序,如果在启动时界面上弹出错误提示,说明端口号8080和8443可能被占用,此时我们只需要修改Paros的本地端口号,然后再修改IE浏览器上的代理设置,使之相一致就可以了。
Spider抓取 Spider是Paros中一个非常重要的功能,它是用来抓取网站信息,收集URL地址信息,通过Spider这种方式来来逐层分解抓取站点的URLParos工具使用理解文档
当前,它的功能包括如下:
1. 通过提供的URL地址来抓取HTTP或者HTTPS信息
2. 支持抓取Cookie信息
3. 支持设置代理链
4. 自动添加URL地址,并以树结构分层进行扫描
Spider存在的一些缺陷,如下:
1. 对于具有非法验证的SSL协议的站点不能被扫描
2. 不支持多线程
3. 对于在HTML中存在异常URL地址的页面不能被识别
4. Javascript生成的URL地址不能被识别 注意:对于不能被 识别的URL地址,Paros也可 以扫描,需要通过手动添加即可。
针对“site”栏中的URLS 进行扫描,逐一检查对URLS 分别进行安全性检查,验证是否存在安全漏洞。如果想扫描"site"栏中所有的URLS,单击anaylse-scanall可以启动全部扫描。如果只想扫描“site”栏中某一URL,选中该URL,右击鼠标,选取scan 命令
关于扫描设置,可以对单个页面进行扫描,也可以对整个站点进行扫描。 Scanner可以针对一下几种情况进行扫描:
1. SQL注入
2. XSS跨站点脚本攻击
3. 目录遍历
4. CRLF – Carriage-Return Line-Feed 回车换行。
(注意:Paros扫描是针对每个网站URL地址进行分层扫描,精确到每个一个独立的URL地址,都需要进行漏洞检测。)
行漏洞检测。 关于扫描策略的设置如下:
1. 搜集的信息有如下分类: 过期的文件、私有IP的暴露、URL地址中可以改写的Session ID、过期文件的扩展检查。
2. 客户端浏览器有如下分类: 表单自动完成密码的保存、浏览过程中保存的安全性文件的缓存信息。
3. 服务器端安全有如下分类: 正在浏览的目录信息、IIS服务的默认文件等各种服务器的默认文件。
4. SQL注入有如下分类 基本的sql语句构造、目录上传、服务器站点注入、跨站脚本注入等。
过滤器的用途:
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”。
Paros能手动捕获和修改HTTP(HTTPS)的请求和响应信息,所有的HTTP和HTTPS数据通过Paros都能被捕获,并且可以按照我们需要的方式进行修改。
只要选中复选框“Trap Request”和“Trap Response”,就表示捕获所有的请求和响应信息,然后点击“Continue”就可以继续操作。具体操作如图所示:
1. 启动Paros工具,并启动页面;
2. 勾选Trap页面的Trap Request和TrapResponse选项;
3. 在http页面输入请求数据
注意:如果在阻截过程中需要停止劫获,需要点击Drop按钮
扫描完成后,单击Report-Last Scan report,可查看当前的扫描报告。根据扫描报告,对扫描结果进行验证,比如扫描结果中有一项是URL 传递的参数中存在SQL注入漏洞,我们将该URL及参数输入到地址栏中,验证结果。扫描结束给扫描用时,并提示获取测试报告在Report菜单下面,报告中主要给报告生成时间、漏洞的等级以及漏洞的具体描述信息。
通过一个简单的Http web站点来演示Paros的基本功能。
所谓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注入,归纳一下,主要有以下几点:
XSS又叫CSS (Cross Site Script) ,跨站点脚本攻击。它指的是恶意攻击者向Web 页面里插入恶意html 代码,当用户浏览该页之时,嵌入其中Web 里面的html 代码会被执行,从而达到恶意攻击用户的特殊目的。
目录遍历攻击是Http所存在的一个安全漏洞,它使得攻击者能够访问受限制的目录,并在Web服务器的根目录以外执行命令。
CRLF是说黑客能够将CRLF 命令注入到系统中。它不是系统或服务器软件的漏洞,而是网站应用开发时,有些开发者没有意识到此类攻击存在的可能而造成的。
在学习和使用Paros工具时,也发现了Paros存在一些缺陷,具体如下: