###新手如何进行代码审计-zzcms实战教学
目标:zzcms
基础:php代码基础 web漏洞基础
工具:web环境 seay审计工具
本次的目标是zzcms 8.1 首先我们下载源码:链接:https://pan.baidu.com/s/1GuiXDTMl8HbOQ1yT_ek_vg
提取码:jox4
由于相关规定 以及涉及的风险 这里使用的是比较老的代码 仅供学习使用
拿到了代码 我们现在需要进行安装 很简单里面有安装说明
关于审计思路
这里列举常用的三种
1.全文通读
从头开始读代码
缺点:速度慢 优点:提升代码阅读能力 能够深入理解业务设计
2.关键函数追踪
直接搜索关键函数 例如include unlink …等等函数 快速追踪
缺点:不够全面 优点:速度快
3.漏洞常发功能点分析
实战经验比较足的 可以快速找一些漏洞比较常发的功能点
缺点:一些接口会被忽略 优点:速度快
本次实验的目标 由于是散装代码 我们使用第二种 把代码加入到seay审计工具中 先对敏感函数进行扫描 可以看到安全风险这里就一一列出来了
一眼看到一个比较明显的 接收到的内容就直接输出到了html中
这里直接给imgid参数传值输入payload:">
sql注入
漏洞点:/user/del.php
看到这个语句中有两个拼接 追踪一下变量
追踪$id发现checkid方法中存在过滤
$tablename没什么过滤 可以进行注入
构造payload 测试 执行成功
任意文件删除
漏洞点:/user/adv.php
$oldimg可控 追踪一下变量
没有进行过滤 直接拼接进去
构造请求包