代码审计前的准备

目前我正在自学代码审计,这个也是在同学的推荐下学的,而且在招聘信息上看到要求其中一条就是会代码审计,因此我现在在学习这个。给大家推荐本书,尹毅编著的《代码审计 企业级Web代码安全架构》,在我学习的过程中发现这本书对漏洞的特征,挖掘思路、过程以及防范措施介绍的很详细,所以我推荐这本书,希望对学渗透的人有所帮助。

1. 代码审计环境搭建

1.1 wamp环境搭建
wamp组合是使用最多的测试环境,常用的集成环境包括phpstudy、WampServer、XAMPP、APPServer。现在我介绍下phpstudy的安装。
Windows下载链接:http://www.phpstudy.net/phpstudy/phpStudy-x64zip

安装后,双击图标启动phpstudy服务,默认是Apache+PHP

启动后在浏览器访问http://localhost/即可看到phpstudy探针

windows x64点击界面中的”其他选项”按钮,在菜单中找到”PHP版本切换”,可以更改配置和切换Web服务组合;Windows x32可以直接点击界面中的”切换版本”,确定后更改配置和切换Web服务组合。

PS:1.需要什么版本,选中应用即可;
2.在启动Web服务时偶尔会遇到服务启动失败的情况;
3.如果Apache的配置文件http.conf出错,用命令行启动Apache,输入httpd.exe -w -n “Apache2” -k start,会提示你哪里有错误。

1.2 lamp环境搭建
在不同的操作系统下,漏洞的测试结果可能不同。现在在Linux系统下搭建phpstudy。
通过官网http://lamp.phpstudy.net/下载到Linux系统中并进行安装。
安装过程执行如下命令:
wget -c http://lamp.phpstudy.net/phpstudy.bin?
chmod +x phpstudy.bin #权限设置
./phpstudy.bin

按提示安装自己需要的环境组合:

在浏览器访问http://localhost/即可看到phpstudy探针

2. 审计辅助与漏工具洞验证

2.1 代码编辑器
不管是做开发还是代码审计,代码编辑器必不可少,我比较喜欢用Notepad++,可以在Notepad++官网下载。官网:notepad-plus-plus.org
主界面如下:

2.2代码审计工具
代码审计工具是一类辅助我们做白盒测试的程序,好的审计软件可以极大地降低审计成本,可以帮助审计师快速发现问题所在。目前常用的代码安全审计软件有Fortify SCA、RIPS、FindBugs、Codescan等,下面我介绍的是”Seay源代码审计系统”。
Seay源代码审计系统运行于Windows系统,这款软件能发现SQL注入、代码执行、命令执行、文件包含、文件上传、xss跨站、信息泄露、CSRF伪造站点等漏洞,基本上覆盖常见的PHP漏洞。
下载网址:http://dl.pconline.com.cn/download/950552.html
安装好后的主界面如下:

3.漏洞验证辅助

不管是借助代码审计工具还是读PHP文件发现的漏洞,我们都需要验证漏洞是否真实可用。根据不同的漏洞和环境需要搭配不同的工具来测试。

3.1 BurpSuite
BurpSuite这个工具在我之前的博客写的很详细,它需要的环境,它有什么功能,我就不介绍了。
Burpsuite启动后界面如下:

3.2浏览器扩展
说到浏览器扩展,就先说一下浏览器,通常优先选择的是Firefox,再就是Chrome浏览器。因为Firefox浏览器的扩展是目前浏览器最多的,有不少扩展是做安全测试用的,常用的像HackBar、FireBug、Live HTTP Headers、Modify等等。

HackBar是安全测试最常用的一款Firefox扩展,主要是方便安全人员对漏洞进行安全测试。点击Load URL 即可从Firefox地址栏获取当前URL,点击Execute即可发送设置好的请求数据。

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

Live HTTP Headers主要功能是抓取浏览器Request和Response数据包,也支持对Request数据进行修改后再次请求。不好的一点是它只能抓取到HTTP的数据,对HTTPS无。主界面如图:


首先勾选Capture复选框,然后开始在浏览器中请求页面即可,选中抓到的数据包,点击Replay按钮可对数据进行编辑和重新发送。

Modify是一款用来修改的扩展,Modify仅支持添加和修改Request中HTTP Headers的字段,开启Modify,它会把浏览器对任何网站的所有请求中对应的字段进行修改。

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

猜你喜欢

转载自blog.csdn.net/qq_36197704/article/details/81623698