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






二、下载
软件网站现在已经无法访问:http://www.cnseay.com/2951/
github上的还可以访问,地址:GitHub - f1tz/cnseay: Seay源代码审计系统
如果安装了git,则使用命令
git clone https://github.com/f1tz/cnseay.git
压缩包里有“代码审计资料整理.rar”,有23份技术文档。
三、使用Seay进行代码审计
启动软件

新建项目-自动审计-开始(以Pikachu为例)

取出其中一条:

$query="update member set sex='{$getdata['sex']}',phonenum='{$getdata['phonenum']}',address='{$getdata['add']}',email='{$getdata['email']}' where username='{$_SESSION['csrf']['username']}'";
生成报告

使用很方便。
针对单引号被过滤处理的如何注入:
$sql = "SELECT username, password FROM user WHERE username='" .$user ."' && password='" .$pass ."'";
要想闭合sql语句加上or 1=1#来使判断条件为真,使用\转义
用\转义后面的单引号
在用户名框输入\,密码框输入or 1=1 #,这样提交后,sql语句是这样的:
...where username='\'&& password=' or 1=1 #'
这时提交的username就是\'&& password= ,密码里的#把后面的多余的单引号给注释掉了,sql注入就成功了
————————————————