目录

审计辅助与漏洞验证工具

代码编辑器:

Notepad++:

UltraEdit:

Zend Studio:

Seay 源代码审计系统:

Fortify SCA:

RIPS:

漏洞验证辅助:

Burp Suite:

浏览器扩展:

Firebug:

Live HTTP Headers:

Modify:

编码转换及加解密工具:

正则调试工具:

SQL执行监控工具:


审计辅助与漏洞验证工具

代码编辑器:

如果你用编辑器来做开发,并且代码量比较大,建议你使用 Zend Studio。如果用来做代码审计或者少量代码的开发,建议使用 Nodepad++ 这类轻量级文本编辑器。

Notepad++:

Notepad++ 是一套非常有特色的开源纯文字编辑器(许可证: GPL),运行于 Windows系统。

UltraEdit:

UltraEdit (官网 www.ultraedit.com) 是一款功能强大的文本编辑器,支持十六进制查看以及编辑。通过配置使用的脚本运行程序路径,比如 php.exe 的路径,就可以在使用 UltraEdit 编辑 PHP 代码的时候直接执行代码。

另外一个比较好的功能是文件对比,UltraEdit 被公认为程序员必备的编辑器。

Zend Studio:

Zend Studio 与 PHP 出自同一家公司,也可以说 Zend Studio 是 PHP 官方专门开发出来用来编写 PHP 代码的代码编辑器。Zend Studio 是目前用户量最大的 PHP 开发工具,也是屡获大奖的专业 PHP 集成开发环境,具备功能强大的专业编辑工具和调试工具,支持 PHP 语法高亮显示,支持语法自动填充功能,支持书签功能,支持语法自动缩排和代码复制功能,内置一个强大的 PHP 代码调试工具,支持本地和远程两种调试模式,支持多种高级调试功能,可以完美运行在目前主流的 Windows、Linux 以及 Mac 操作系统上。官网是 http:Wwww.zend.com/en/products/studio。

Seay 源代码审计系统:

基于 C# 语言开发的一款针对 PHP 代码安全性审计的系统,主要运行于Windows 系统上。这款软件能够发现 SQL 注入、代码执行、命令执行、文件包含、文件上传、绕过转义防护、拒绝服务 、XSS 跨站、信息泄露、任意 URL 跳转等漏洞 ,基本上涵盖常见 PHP 漏洞。另外,在功能上,它支持一键审计、代码调试、函数定位、插件扩展、自定义规则配置、代码高亮、编码调试转换、数据库执行监控等数十项强大功能。

Fortify SCA:

Fortify SCA 是由惠普研发的一款商业软件产品,针对源代码进行专业的白盒安全审计,当然,它是收费的,而且这种商业软件一般都价格不非。它有 Windows、Linux、UNIX 以及 Mae 版本,通过内置的五大主要分析引擎(数据流、控制流、语义、结构以及配置) 对应用软件的源代码进行静态分析。

分析的过程中与它特有的软件安全漏洞规则集进行全面的匹配、搜索,在最终的漏洞结果中,包括详细的漏洞信息,以及漏洞相关的安全知识说明和修复意见。

关于这五大分析引擎的介绍如表 2-1 所示:

RIPS:

RIPS 是一款基于 PHP 开发的针对 PHP 代码安全审计的软件。另外,它也是一款开源软件,由国外安全研究员 Johannes Dahse 开发,程序只有 450KB ,目前能下载到的最新版是 0.54,笔者发现这款程序在 2013 年 2 月已经暂停更新。在写这段文字之前笔者特意读过它的源码,它最大的亮点在于调用了 PHP 内置解析器接口 token_get_all,

并且使用 Parser 做了语法分析,实现了跨文件的变量及函数追踪,扫描结果中非常直观地展示了漏洞形成及变量传递过程,误报率非常低。RIPS 能够发现 SQL 注入、XSS跨站、文件包含、代码执行、文件读取等多种漏洞,支持多种样式的代码高亮。比较有意思的是,它还支持自动生成漏洞利用。

RIPS 的使用非常简单,只需在主界面填入我们要扫描的路径,其余配置可根据自己的需要设置。完成设置后点击 scan 按钮即可开始自动审计。扫描结束后显示漏洞数量、漏洞比例等信息 过和演和译作时 只需点击提示漏洞处的“-”即可显示漏洞源代码和变量过程,如下图所示

漏洞验证辅助:

不管是借助代码审计工具还是读 PHP 文件发现的漏洞,都需要借助一些工具来帮助我们快速测试漏洞,或者在某些情况下,比如部分代码不可读时,我们可以在不继续往下读代码的情况下测试漏洞。做基于模糊测试的漏洞验证。主要的辅助工具分为数据包请求工具类、暴力枚举类 、编码转换及加解密类。当然,还有一些正则调试和 SQL 执行监控等软件。下面只列举一些常用的,根据不同的漏洞和环境需要搭配不同的工具来测试

Burp Suite:

~

浏览器扩展:

Firefox 开源软件的安全相关的扩展常用的像 HackBar、FireBug 、Live HTTP Headers、Modify 以及Tamper Data,等等。

同时,Chrome 浏览器的扩展也非常多,不过方便用来做安全测试的比 Firefox 少,常用的有 Http Headers、EditThisCookie 、ModHeader 等。

其次就是一些扩展更少的浏览器,这里就不详细列举,不过建议常见内核的浏览器都应该安装一款,笔者电脑上就一

直装着 4 款浏览器。

Firebug:

Firebug 是一款开发者工具,功能与火狐自带的开发者工具差不多,支持直接对网页 HTML、CSS 等元素进行编辑,其中的“网络”功能可以直接嗅探 Request 和 Response 数据包。通常在利用一些支付漏洞或者 SQL 注入漏洞的时候,我们只需要把鼠标指针定位到要修改的网页区域,右键点击 “使用 Firebug 查看元素” 即可对网页进行漏洞

Live HTTP Headers:

Live HITP Headers 主要的功能是抓取浏览器 Request 和 Response 数据包,也支持对 Request 数据进行修改后再次请求。不好的一点在于它只能抓取到 HTTP 的数据,对 HTTPS 无效,不过用来分析简单页面数据它已经足够。

Modify:

Modify 是一款火狐扩展工具,顾名思义,这是一款用来修改的扩展,Modify 仅支持添加和修改 Request 中 HTTP Header 的字段,而且它是做全局修改,即开启 Modify 之后,它会把浏览器对任何网站的所有请求中对应字段进行修改。

使用非常简单,在图中 Modify 的下拉框中选择要执行的模式,有Modify、Add 以及Filter,然后在后面的两个输入框输入参数名以及参数值,点击 Save 再点击左上角的 Start 按钮即可启动 Modify。

编码转换及加解密工具:

代码审计必然要接触到编码相关的知识,历史上很多高危的漏洞是由编码问题导致的,比如在 XSS 漏洞中可以利用浏览器对不同编码的支持来绕过过滤触发漏洞,另外我们也经常需要用到不同的编码转码来进行模糊测试漏洞。另外是加解密以及 Hash 算法,在代码审计中,我们经常遇到程序对特定字符进行加密或者 Hash 后用作 Cookie 和 Session ,或者是用户密码的保存通常也会加密,所以我们必须要了解常用的加解密方式。

推荐几款编码转换和加解密的工具:

1. Seay 代码审计系统自带的编码功能

2.Burp Suite 上有一个 Decoder 功能

3. 超级加解密转换工具

正则调试工具:

1. Seay 代码审计系统中自带的正则调试功能

2. 灵者正则调试

SQL执行监控工具:

SQL 执行监控可以非常高效地帮助我们发现一些 SQL 注入和 XSS 等问题,帮助我们非常方便地观察到数据在 Web 程序与数据库中的交互过程,在做模糊测试时,只需利用模糊测试工具疏取页面的 URL 及表单 ,提交特定的参数如带单引号 (“ ) 等,通过分析 SQL 执行日志则可以非常准确地判断出 SQL 注入漏洞是否存在,同样的注入<>”等符合也可以用来测试 XSS 漏洞。

针对 MySQL 的执行监控,在自己的代码审计系统上加入了这么一个插件,主要原理是开启 MySQL 的 general_log 来记录 MySQL的历史执行语句,它有两种记录方式,默认是通过记录到文件方式,另外一种是通过直接记录到MySQL 库的 general_log 表中,为了更方便地查询,我选择的是记录到MySQL 数据库的方式。

另外这个功能的开启方式也有两种,一种是直接用 MySQL 的SQL 语句开启,SQL 语句如下 :

不过这些步骤在笔者的工具中都自动完成了,同时它还支持快速过滤实时预览。只要点击下断,操作完之后点击更新即可看到这段时间内在 MySQL 执行过的所有 SQL语句,主界面如图 2-36 所示。

另外一种开启方法是在 MySQL 配置文件中修改,在 [mysqld] 配置中加入如下代码:

重启 MySQL 后可以看到所有的 SQL 查询语句都会记录在设置的这个文件中。

SQL Server 执行监控也很简单,在 SQL Server 上自带有一个性能监控的工具 SQL Server Profiler,在开始菜单里可以找到它,使用 SQL Server Profiler 可以将 SQL 执行过程保存到文件和数据库表,同时它还支持实时查看和搜索

下面我们来看看怎么使用它,打开 SQL Server Profiler 后,在左上角的菜单栏里选择“文件一新建跟踪",在常规栏输入跟踪名(随意) 后, 点击 "事件选择” 标签 ,我们只需要 SQL 执行过程,所以要过滤掉一些干扰的东西,比如登录、退出等,在事件选择里只保留 TSQL 下面的 SQL:BatchCompleted 事件,然后点击“运行",如下图所示。

运行后监控到的 SQL 语句:

从图中监控结果可以非常清楚第看到之前执行的 SQL 语句以及开始执行时间、结束时间。

代码审计:企业级web代码安全架构读书笔记(二)相关推荐

  1. 代码审计:企业级web代码安全架构读书笔记(一)

    目录 代码审计环境搭建 wamp/wnmp 环境搭建: lamp/linmp 环境搭建: PHP 核心配置详解: register_globals (全局变量注册开关) allow_url_inclu ...

  2. JAVA WEB整合开发王者归来 -- 读书笔记 by CZF 完整版

    JAVA WEB整合开发王者归来 -- 读书笔记  目录 第1章 概述. 1 第2章 搭建web开发环境. 1 第3章 Servlet技术. 1 第4章 深入JSP技术. 7 第5章 会话跟踪. 12 ...

  3. 《SQL Server企业级平台管理实践》读书笔记——几个系统库的备份与恢复

    原文:<SQL Server企业级平台管理实践>读书笔记--几个系统库的备份与恢复 master数据库 master作为数据库的主要数据库,记录着SQL Server系统的所有系统级信息, ...

  4. 代码大全(读书笔记)

    代码大全(读书笔记) 2021.06.27 开始阅读此书,这篇文章记录了一些读此书或者这款时间工作生活的一些心路,希望自己能持续从此受益. 2021.08.05 此次阅读的关注点在第 3/5/6/7/ ...

  5. 《重构-改善既有代码设计》读书笔记-重构篇

    2019独角兽企业重金招聘Python工程师标准>>> 重构定义 名词 对软件内部结构的一种调整,目的是在不改变软件可观察行为的前提下,提高其可理解性,降低其修改成本.--<重 ...

  6. 《代码阅读》读书笔记(一)

    <代码阅读>读书笔记(一) <代码阅读>(<Code Reading The Open Source Perspective>)Diomidis Spinellis ...

  7. 《Web安全测试》读书笔记

    <Web安全测试>读书笔记 第1章  绪论                  什么是安全测试:安全测试就是要提供证据表明,在面对敌意和恶意输入的时候,应用仍然能够充分地满足需求.     ...

  8. 《How Tomcat Works》读书笔记(二)

    <How Tomcat Works>读书笔记(二) 这是<How Tomcat Works>第一二章的读书笔记.第一张主要写了一个静态资源处理的web服务器,第二章加了对ser ...

  9. 《李元芳履职记》读书笔记二 IT技术管理的沟通与团队建设

    <李元芳履职记>读书笔记二 接一 https://blog.csdn.net/qq_45937199/article/details/103305223 IT技术人员从技术岗走向管理岗,所 ...

  10. 3D游戏设计读书笔记二

    3D游戏设计读书笔记二 一.简答题 • 解释 游戏对象(GameObjects) 和 资源(Assets)的区别与联系.   GameObjects是一个具体的实例,Assets是包括诸多游戏素材的资 ...

最新文章

  1. Table tr td th表格使用案例
  2. Java中由substring方法引发的内存泄漏
  3. python 寻找数组的中心索引_Leetcode724查找数组Python的中心索引,LeetCode724,寻找,python...
  4. 自学python需要什么_自学Python编程有什么要求
  5. 799元首发!小米手表Color:14天超长续航、专业运动健康管理
  6. Restful 风格
  7. Vue入门基础(看狂神的视频,不是很推荐……)
  8. UVALIVE 3713 Astronauts(2-SAT)
  9. ALIGN:自动化模拟布局的系统
  10. 教你N种方法萤石云添加设备(转)
  11. Python_Turtle绘制心形线(采用函数描点法绘制)(turtle实现)【2021-10-15】
  12. 解析移动互联网四大App云加固平台市场和质量对比
  13. 卡在装备配置计算机,win10开机卡logo的小伙伴有福了,赶紧看过来!
  14. 什么东西能够改善睡眠,拯救失眠的助眠好物推荐
  15. 最新全国高校考研资料分享
  16. 动易数据库conn.asp的问题
  17. ServerRoot must be a valid directory
  18. cst是什么时间(Cst是什么检查)
  19. 12864显示(串行控制)
  20. 五十、Django中间件

热门文章

  1. 如何短期通过PMP考试?
  2. eclipse导入wsdl文件_eclipse生成wsdl文件
  3. 基于VUE的前端架构设计
  4. SAS9.4安装过程中的sid文件更新
  5. 小程序--模板的使用 说明--详细版的
  6. Pytorch优化器全总结(二)Adadelta、RMSprop、Adam、Adamax、AdamW、NAdam、SparseAdam(重置版)
  7. circNet:人类环状RNA数据库
  8. win7系统升级到ie11浏览器(常见错误,升级经验)
  9. 常见HTTP状态码大全
  10. DCMTK各模块说明