52:代码审计-PHP项目类RCE及文件包含下载删除
2021/8/26 11:06:07
本文主要是介绍52:代码审计-PHP项目类RCE及文件包含下载删除,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
漏洞关键字
SQL注入:select insert update mysql_query mysqli等 文件上传:$_FILES,type="file",上传,move_uploaded_file()等 XSS跨站:print print_r echo sprintf die var_dump var_export等 文件包含:Include include_once require require_once等 代码执行:eval,preg_replace+/e,assert,call_user_func,call_user_func_array,create_function等 命令执行:system exec shell_exec `` passthru pcntl_exec popen proc_open 变量覆盖:extract() parse_str() importrequestvariables() $$等 反序列化:serialize() unserialize() _construct _destruct等 其他漏洞:unlink() file_get_contents() show_source() file fopen()等 通用关键字:$_GET $_POST $_REQUEST $_FILES $_SEVER等
功能点或者关键字分析可能存在漏洞
抓包或者搜索关键字找到代码出处对应文件
追踪过滤或者接受的数据函数,寻找出发此函数或者代码的地方进行触发测试
案例1:xhcms-无框架-跨站\文件包含-搜索或应用-include
通过应用及URL地址等分析可能存在xss及文件包含漏洞
抓包找到xss无过滤代码块及文件包含有后缀需绕过代码块
1.1 XSS:
1.2 文件包含:
通过搜索关键字include找到对应代码块,发现有后缀.php需绕过
尝试包含如下文件
成功
尝试本地跨目录包含,失败,原因是有后缀需绕过
绕过方法:
- 00截断:
- 条件:magic_quotes_gpc = OFF php版本<5.3.4
- 举例:filename=../../../www.txt%00
- 长度截断:
- 条件:windows系统,点号需要长于256;linux系统,点号需要长于4096
尝试进行长度截断,成功绕过。
附:任意文件包含漏洞(3)——实战xhcms
https://cloud.tencent.com/developer/article/1685717
https://blog.csdn.net/weixin_45663905/article/details/108148898
案例2:earmusic-无框架-文件下载-搜索或应用功能-download等
通过应用分析或搜索判断可能存在文件下载操作
抓包分析下载地址找到对应代码块,文件下载地址由$file控制
$file从数据库查询语句得知,追踪那里可更新或更改此类数据
尝试修改发现过滤,追踪过滤机制分析绕过,采用全路径地址绕过
附:代码审计-(Ear Music).任意文件下载漏洞
https://www.cnblogs.com/-qing-/p/10888335.html
案例3:zzzcms-无框架-文件删除RCE-搜索或应用-unlink,eval
3.1 任意文件删除漏洞:
文件删除搜索关键字unlink,对应函数del_file,查看调用此的地方
后台delfile函数调用,如何触发delfile函数,受参数控制,进行测试
payload如下
删除install.lock就会导致系统重新安装,危害非常大。
附:ZZZCMS V1.7.1后台任意文件删除漏洞
https://zhhhy.github.io/2019/06/28/zzzcms/
https://blog.csdn.net/weixin_44978149/article/details/118282795
3.2 代码执行漏洞:
代码执行搜索关键字eval,对应配置模板解析文件,查看调用此的地方
判断后台可修改模板文件,前台触发模板文件,构造payload进行测试
payload如下
附:再谈 zzzcms 代码执行,你也能审计出来的高危漏洞
https://cloud.tencent.com/developer/article/1576196
这篇关于52:代码审计-PHP项目类RCE及文件包含下载删除的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-19php8的协程和hyperf的协程有什么区别?-icode9专业技术文章分享
- 2024-12-19php8 的fiber是什么?-icode9专业技术文章分享
- 2024-12-05怎么在php8,1 里面开启 debug?-icode9专业技术文章分享
- 2024-12-05怎么在php8,1 里面开启 debug?-icode9专业技术文章分享
- 2024-11-29使用PHP 将ETH账户的资产汇集到一个账户
- 2024-11-23怎么实现安卓+php 热更新方案?-icode9专业技术文章分享
- 2024-11-22PHP 中怎么实现判断多个值是否为空、null 或者为 false?-icode9专业技术文章分享
- 2024-11-11开源 PHP 商城项目 CRMEB 二次开发和部署教程
- 2024-11-09怎么使用php在kaufland平台刊登商品?-icode9专业技术文章分享
- 2024-11-05PHP的抽象类和接口是什么,有什么区别-icode9专业技术文章分享