🌟 ❤️
作者:yueji0j1anke
首发于公号:剑客古月的安全屋
字数:801
阅读时间: 10min
声明:请勿利用文章内的相关技术从事非法测试,由于传播、利用此文所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,文章作者不为此承担任何责任。合法渗透,本文章内容纯属虚构,如遇巧合,纯属意外
目录
-
前言
-
工具
-
审计过程
-
总结
0x01 前言
消失了一段时间,我又回来噜~
前段时间去参加服创的西部赛区总决赛,虽然大有混的嫌疑,而且答辩的时候也被评委百般刁难。
但总算是进了,上图!
话不多说,我们进入今天的审计之旅
0x02 工具配备
我这里本地环境准备的是sexy,phpstorm以及phpstudy
checklist如下
sql注入-> select mysqli mysqluery insert 文件上传-> $_FILES type="file" upload xss -> print echo sprintf var_dump 文件包含 -> require include 等四个函数 代码执行 -> eval assert call_user_func preg_replace 命令执行 -> system exec shell_exec popen proc_open 变量覆盖 —> parse_str() extract() $$ 反序列化 -> serialize() construct destruct ssrf -> file_get_contents 文件删除 -> unlink 变量寻找 -> $_GET $_POST $_FILES $_REQUEST
0x03 审计过程
php系统首先需要看看路由情况,这里指明任何路由情况,那就是默认根据文件夹类次序进行路由
老规矩,先审计一下登陆接口进行练手
如果存在登录凭据,则直接进入后台,如果登录失败则会自动给$msg参数赋值进行判断登录失败情况
ok,那我接下来就开始关键词搜索了!
1. 任意文件删除
通过搜索unlink关键字
构造路由 xx.php?number=1&file=../1.txt
成功跨路径删除
2. sql注入
找了几处存在sql语句,感觉像是有预编译的感觉,sqlmap跑跑看
梭哈出来了
按照相同方法找了其他几个类似接口
3.任意文件上传
这个我感觉是脆弱验证中最好找的
直接$_FILES梭哈
可以看到验证几乎为0,
同理找到其他几个接口
最后的回显
4.命令执行
首先找到存在exec函数
找其调用,发现多处调用
看看$conf_cmd变量什么说法,
根据前面的if语句进行赋值,
发现$conference_number可控
直接构造
xx.php?roomid=`echo+123%3Etest.txt`
在文件下查看
同理找出其他调用其的文件,此处不再展示
0x04 总结
最近总算是抽了空审了一套处于0day与1day之间的源码,后面在分享代码审计的过程中也会给大家分享更多的src挖掘技巧!
原文始发于微信公众号(剑客古月的安全屋):代码审计-某人工智能语音系统多处文件上传+命令执行
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论