您的位置:首页 > 大数据 > 人工智能

Rails安全检测工具之Brakeman介绍

2016-05-16 22:03 543 查看
去年(2015年)是一个悲惨的一年,因为撞库事件导致公司每个人都在忙碌,当然这也不一定是件坏事,这个事情明显提高了每个人的安全意识,吃一见长十智,在开发的时候不挖坑总比填安全方面的坑强多了,最近业务迭代少了些,可能也是经济危机导致的吧,现在在主抓安全方便的事宜,这不,最近学习了很多安全方面的知识,后续笔者会一个一个的介绍一下,笔者顺便做个笔记,加深一下印象。

本篇文章主要介绍一下Rails最常用的安全检测工具Brakeman的特点以及其使用方法。


介绍

Brakeman是一个从代码层面检测Rails代码的安全漏洞。

有以下特点:

1.不需要配置,只需要安装执行检测命令。

2.随时监测,不需要启动rails server。

3.覆盖面广,比如可以覆盖不在使用的views。

4.Brakeman是基于ruby实现的,更适合于rails的安全监测。

5.每个点独立测试。

6.测试快速,路由有上千个的Rails项目跑下来大概只需要5分钟。

缺点:

1.误报的很多,这也是安全检测工具通有的缺点,宁可错杀三千不能放过一个,比如只要sql注入,只要sql语句是以字符串拼接的方式生成,就会被报告成sql注入,但实际上拼接的字符串是常量而非用户输入的字符串。

2.只能从代码级别找出漏洞,业务级别,比如用户信息泄露等,无法找到,需要我们自己找。


安装

gem install brakeman -s http://rubygems.org[/code] 


使用

brakeman rails_project_path > check_report_file_path


检测报告介绍

brakeman检测之后会一个检测报告,主要检测以下几种安全问题:

Command Injection(命令注入执行)
Cross Site Scripting (跨站脚本执行)
Cross-Site Request Forgery (跨站请求伪造)
Dangerous Send (高危返回)
Denial of Service (服务拒绝)
Dynamic Render Path (动态渲染路径)
File Access (访问非法文件)
Redirect (危险重定向)
Remote Code Execution (远程代码执行)
SQL Injection (sql注入)
SSL Verification Bypass (SSL无效验证)
Timing Attack (计时攻击)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: