Seay源码审计系统
实验指导
系统信息
操作系统:win10 64位
CPU:2核,该软件资源使用较高,可以设置更高
内存:4G,该软件资源使用较高,可以增至16G
软件前置安装
2.1 Seay源码审计系统安装包
注:安装seay源码审计系统所需的所有安装包或者压缩吧都可以在Github中找到
https://github.com/f1tz/cnseay
图1.1
访问到Github后只需要点击右侧绿色Code下载压缩包即可,或者访问网盘下载也可以
通过网盘分享的文件:cnseay-master.zip
链接: https://pan.baidu.com/s/1jwSQl99qlrrQR5fY0sQRXw?pwd=111a 提取码: 111a
seay源码审计系统运行依赖:需安装.NET Framework 2.0及以上版本
2.2 查看主机上是否符合依赖
方法一:注册表查询
1.按下 Win + R,输入 regedit,打开注册表编辑器。
2.导航至路径 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP。
3.查找 v2.0.50727 子项,若存在且 Install 值为 1,则表示已安装
图1.2
方法二:命令提示符
1.以管理员身份运行命令提示符,输入:
reg query "HKLM\Software\Microsoft\NET Framework Setup\NDP" /s /v version
2.在输出结果中搜索 2.0.50727,如果存在则表示以安装
图1.3
如果系统中未安装NET Framework 2.0及以上环境需提前安装
Windows 10/11 默认未安装 .NET Framework 2.0,需通过“启用或关闭 Windows 功能”手动勾选 .NET Framework 3.5(包括 .NET 2.0 和 3.0)
打开设置>系统>可选功能>更多windows功能
勾选.NET Framework 3.5(包括 .NET 2.0 和 3.0),点击确定
图1.4
图1.5
点击第一个下载文件
等待自动安装完成即可
再次查询时已经安装好所需依赖
图1.6
2.3实验所需DVWA靶场搭建
工具:PHPstudy,DVWA-master
PHPstudy下载地址:https://public.xp.cn/upgrades/phpStudy_64.zip
DVWA-master下载地址:GitHub - digininja/DVWA: Damn Vulnerable Web Application (DVWA)
打开PHPstudy后创建网站DVWA,并建立数据库dvwa,用户dvwa,密码p@ssw0rd,如果想要使用其他数据库或者用户密码,稍后建站成功后到dvwa根目录config目录下修改即可
图1.7
创建成功之后,打开网站根目录,将源码替换为dvwa源码即可
图1.8
打开根目录>config,修改文件拓展名
图1.9
修改完成之后即可打开网站,默认用户名和密码为admin/password
图1.10
进入网站后,第一次访问会要求创建数据库数据,点击按钮即可
图1.11
之后重新登录即可完成靶场搭建
图1.12
3 Seay源码审计系统安装
在之前下载的压缩包中找到的Seay源码审计系统.exe,并解压到指定位置
图1.13
双击运行安装
图1.14
点击下一步
图1.15
选择安装位置
图1.16
点击完成即可
图1.17
图1.17即为seay源码审计系统的窗口,此时能打开,说明安装成功,如出现异常,则向上寻找安装
图1.18
所需的环境依赖,进行完善依赖
Seay 是一款专注于源代码安全审计的国产工具,主要针对PHP、ASP、JSP等Web开发语言的代码进行漏洞检测。它以自动化扫描为基础,结合人工辅助分析,帮助挖掘潜在的安全漏洞。
优势与不足
优点:
轻量易用,适合新手快速入门代码审计。
对中文代码的解析能力强(适合国内项目)。
缺点:
规则库更新较慢,需手动调整误报/漏报。
不支持Java、Go等现代语言的深度学习分析。
4 Seay源码审计系统的使用
打开程序,点击菜单栏中新建项目选项,选择靶场源码
图1.19
图1.20
看到侧栏中已经加载出源码目录
图1.21
双击打开其中一个PHP文件,可以看到它包含的变量和函数以及全部源代码,可以用来手动审计
图1.22
双击其中一个变量时,代码下面会显示出所有调用了该变量的语句,我们可以挨个检查,是否存在问题。
点击菜单中的自动审计,这是该软件的核心功能,它可以根据规则自动审计代码
图1.23
点击开始,开始自动扫描审计,之后可以双击其中一条,便能进入源代码,进行深入分析
图1.24
同时点击生成报告,会导出所有结果
图1.25
图1.26
双击打开导出的HTML文件,可以看到所有结果
图1.27
这里找一条描述进行测试其准确性
图1.28
根据描述所说,该源码存在任意命令执行漏洞,打开源码审计
图1.29
观察代码可以发现,它在收到POST请求后会直接将参数IP直接拼接到cmd命令函数中,在调用shell_exec()方法时也为进行任何过滤
我们打开该网页进行测试
图1.30
输入127.0.0.1之后,发现有回显
图1.31
我们尝试输入其他指令
127.0.0.1 | whoami
图1.32
发现它确实可以成功返回指令执行结果
输入127.0.0.1 | ipconfig
图1.33
同样返回来执行结果,说明seay源码审计系统扫描审计出来的漏洞是有一定准确性的
5注意事项
1.误报处理:自动审计结果可能存在误报(如过滤函数未被识别),需结合人工分析确认
2.规则扩展:可在“规则配置”中添加自定义正则表达式,增强特定漏洞的检测能力
图1.34