打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
代码审计-RCE命令执行漏洞审计

代码审计必备知识点:

1代码审计开始前准备:

环境搭建使用,工具插件安装使用,掌握各种漏洞原理及利用,代码开发类知识点。

2、代码审计前信息收集:

审计目标的程序名,版本,当前环境(系统,中间件,脚本语言等信息),各种插件等。

3、代码审计挖掘漏洞根本:

可控变量及特定函数,不存在过滤或过滤不严谨可以绕过导致的安全漏洞。

4、代码审计展开计划:

审计项目漏洞原理->审计思路->完整源码->应用框架->验证并利用漏洞。

代码审计两种方法

功能点或关键字分析可能存在漏洞

-抓包或搜索关键字找到代码出处及对应文件

-追踪过滤或接收的数据函数,寻找触发此函数或代码的地方进行触发测试。

-常规或部分MVC模型源码可以采用关键字的搜索挖掘思路。

-框架 MVC 墨香源码一般会采用功能点分析抓包追踪挖掘思路。

1.搜索关键字找敏感函数

2.根据目标功能点判断可能存在的漏洞

常见漏洞关键字:

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等

代码执行:

evalassert preg_replace  call_user_func  call_user_func_array等

命令执行:

systemexec shell_exec  ` ` passthru pcntl_exec popen proc_open等

变量覆盖:

extract()parse_str() import_request_variables() $$ 等

反序列化:

serialize()unserialize()  __construct   __destruct等

文件读取:

fopen file_get_contents fread fgets fgetss file  fpassthru parse_ini_file readfile等

文件删除:

unlink()remove()等

文件下载:

download() download_file()

通用关键字:

$_GET,$_POST,$_REQUEST,$_FILES,$_SERVER等

案例:审计-百家CMS2.3-RCE命令执行

1.下载源码,搭建完成

2.使用phpstorm打开源码,搜索命令执行关键字system,找到拥有变量的代码位置

3.发现system函数中有三个变量,定位第一个变量发现是用来做数据类型转换的,排除

4.定位第二个变量$file_full_path,发现是在file_save()函数中将file_full_path参数拼接到system()函数中造成了命令执行,所以要查看是谁调用了file_save()函数

5.定位file_save()函数来到setting.php文件中,发现file_full_path参数是由$file[name]参数控制,而$file['name']是从$_FILES中传入

6.$_FILES是一个php文件上传函数,所以我们访问setting.php文件找到文件上传功能

7.上传任意txt文件,抓包将文件名修改为:&命令&.txt  点击发包成功执行命令

网络安全技术交流群:wx加我好友,备注“进群”。学习网络安全也可联系

QQ群:708769345

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【网络安全学习】什么是RCE漏洞?其危害是什么?
记某cms审计过程(新手入门篇)
【最新漏洞预警】CVE-2021-44077 Zoho ManageEngine ServiceDe...
php代码审计总结(上)
代码审计总结_代码审计报告
PHP代码审计基础-中级篇
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服