工具篇之开发环境-----仅供参考
0x01.PhpStorm
PhpStorm 是 JetBrains 公司开发的一款商业的 PHP 集成开发工具,旨在提高用户效率,可深刻理解用户的编码,提供智能代码补全,快速导航以及即时错误检查,是一个非常不错的开发环境。
主要特点:
1. 跨平台。
2. 对PHP支持refactor功能。
3. 自动生成phpdoc的注释,非常方便进行大型编程。
4. 内置支持Zencode。
5. 生成类的继承关系图,如果有一个类,多次继承之后,可以通过这个功能查看他所有的父级关系。
6. 支持代码重构,方便修改代码。
7. 拥有本地历史记录功能(local history功能)。
下载链接:
https://www.jetbrains.com/zh-cn/phpstorm/promo/?utm_source=baidu&utm_medium=cpc&utm_campaign=cn-bai-pro-phpstorm-ph-pc&utm_content=phpstorm-php-software&utm_term=php%e8%bd%af%e4%bb%b6
0x02.PhpStudy
phpStudy是一个PHP调试环境的程序集成包。该程序包集成最新的Apache+PHP+MySQL+phpMyAdmin+ZendOptimizer,一次性安装,无须配置即可使用,是非常方便、好用的PHP调试环境。该程序不仅包括PHP调试环境,还包括了开发工具、开发手册等。
主要特点:
集成最新的Apache+PHP+MySQL+phpMyAdmin+ZendOptimizer,一次性安装,无须配置即可使用,是非常方便、好用的PHP调试环境.该程序不仅包括PHP调试环境,还包括了开发工具、开发手册等。
下载链接:
https://www.xp.cn/download.html
工具篇之审计工具(个人推荐,排名不分先后)
0x01.RIPS
Rips 是使用PHP语言开发的一个审计工具,所以只要有可以运行PHP的环境就可以轻松实现PHP的代码审计,它现在的最新免费开源版本是0.55版本。
主要特点:
1. 能够检测XSS、SQL注入、文件泄露、本地/远程文件包含、远程命令执行以及更多种类型的漏洞。
2. 有5种级别选项用于显示以及辅助调试扫描结果。
3. 详细列出每个漏洞的描述、举例、PoC、补丁和安全函数。
4. 7种不同的语法高亮显示模式。
5. 使用自顶向下或者自底向上的方式追溯显示扫描结果。
6. 一个支持PHP的本地服务器和浏览器即可满足使用需求。
下载链接:
https://sourceforge.net/projects/rips-scanner/files/
0X02.VCG
VCG是一个基于字典的自动化源代码扫描工具,可以由用户自定义需要扫描的数据。它可以对源代码中所有可能存在风险的函数和文本做一个快速的定位。
主要特点:
1. 除了执行一些更复杂的检查外,它还为每种语言提供了一个配置文件,基本上允许您添加任何要搜索的错误函数(或其他文本)。
下载连接:
https://sourceforge.net/projects/visualcodegrepp/?source=directory
0x03.Seay源代码审计系统
这是一款基于C#语言开发的一款针对PHP代码安全性审计的系统,主要运行于Windows系统上。这款软件能够发现SQL注入、代码执行、命令执行、文件包含、文件上传、绕过转义防护、拒绝服务、XSS跨站、信息泄露、任意URL跳转等漏洞。
主要特点:
1. 一键自动化白盒审计
2. 代码调试
3. 正则编码
下载连接:
https://download.csdn.net/download/aiwennba/10130771
审计思路篇(小白方法,大佬勿喷)
说到思路大家想到的就是找可控变量,功能函数等等。
但是呢,对于初学者来说这种思路很费时间。下面说一下个人的思路。
首先看源码的目录结构,对源码进行初步的了解,再去本地搭建此套源码,针对部分漏洞先进行一次简单的灰盒测试。查找前台,后台的一些关键性功能部分,比如:
0x01.SQL注入
前台:新闻,xx介绍,搜索框,登录,后台:登录,查询用户(新闻....),数据库管理等。
0x02.跨站脚本漏洞(XSS)
前台:搜索框(很多环境下一般是反射性XSS),留言板,招聘等类似功能处, 个人资料等。
0x03.文件上传
前台:个人资料处上传头像,招聘等类似功能处上传文件,后台:发布新闻附件上传,网站logo上传,新建模板,插入第三方js脚本等。
再到源码查找以上测试部分功能处的正则,waf的特点,再去考虑漏洞的产生和利用。
0x04.逻辑漏洞和未授权访问
前台:个人资料修改,购买商品,网站部分插件(上传...);后台:附件删除等。
充分利用burp suite,wireshark等工具进行流量分析,仔细观察,并记录每次传参的变量,再到源码查找此变量,并判断传入参数是对普通用户的身份验证。