PHP模型开发篇&MVC层&RCE执行&文件对比法&1day分析&0day验证

Ethan医生3个月前代码审计92

image.jpg

-MVC流程:

1、Controller截获用户发出的请求;

2、Controller调用Model完成状态的读写操作;

3、Controller把数据传递给View;

4、View渲染最终结果并呈献给用户。

-MVC各层职能:

1、控制器Controller层–负责响应用户请求、准备数据,及决定如何展示数据。

2、模块Model层–管理业务逻辑和数据库逻辑。提供连接和操作数据库的抽象层。

3、视图View层–负责前端模版渲染数据,通过HTML方式呈现给用户。

-MVC对审计主要影响:

1、文件代码定位问题

2、代码过滤分析问题

3、前端安全发现问题

 

#PHP常见漏洞关键字:

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 assert preg_replace call_user_func call_user_func_array等

命令执行:

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,$_SERVER等

 

MVC开发审计入口常见方法:

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

-功能法:框架MVC模型源码一般会采用功能点分析抓包追踪挖掘思路

-对比法:可以通过前后修复版本文件及代码不同特征进行针对挖掘思路

-特征法:数据库监控挖SQL注入,文件监控挖上传删除写入等,后续补充

-工具法:后续讲到

-调试法:动态调试

 

CNVD-代码执行1day-lmxcms1.40版本

1、搜索法-RCE

https://www.cnvd.org.cn/flaw/show/CNVD-2019-05679

/admin.php?m=Acquisi&a=showCjData&id=1&lid=1&cid=1

2、功能法-RCE

https://www.cnvd.org.cn/flaw/show/CNVD-2019-05678

TemplateAction.class.php

<{php}> phpinfo();<{/php}>

3、对比法拿0day-1.41版本

UltraCompare对比

 

CNVD-命令执行1day-baijiacms4.1.4版本

https://www.cnvd.org.cn/flaw/show/CNVD-2021-12800

搜索法:system->common.inc.php->file_save->setting.php

条件:

1、$extention=='txt'

2、weixin_verify_file有值

3、$settings['image_compress_openscale']=1

 

开启image_compress_openscale=1

/index.php?mod=site&act=manager&do=netattach

上传weixin_verify_file

/index.php?mod=site&act=weixin&do=setting

触发weixin_verify_file

weixin_verify_file filename=&whoami&.txt     ----在system里面&就是分割的意思

标签: PHP

相关文章

PHP原生开发篇&SQL注入&数据库监控&正则搜索&文件定位&静态分析

PHP原生开发篇&SQL注入&数据库监控&正则搜索&文件定位&静态分析

挖掘技巧:-语句监控-数据库SQL监控排查可利用语句定向分析-功能追踪-功能点文件SQL执行代码函数调用链追踪-正则搜索-(update|select|insert|delete|).*?where....

PHP框架开发篇&实战ThinkPHP项目&打击微交易&源码获取&扩大战果

背景交代:旨在提高打击违法犯罪能力,请勿用于黑X用途,否则后果自负!模拟实战中如何打击某微盘系统,源码获取再到代审及后续实战检测。 搭建复现:1、目录指向绑定域名2、修改配置导入SQL文件3...

PHP反序列化&魔术方法&触发条件&POP链构造&变量属性修改&黑白盒角度

PHP反序列化&魔术方法&触发条件&POP链构造&变量属性修改&黑白盒角度

1、什么是反序列化操作? - 类型转换- PHP & JavaEE & .NET & Python(见图)序列化:对象转换为数组或字符串等格式反序列化:将数组或字符串等格式转换...

PHP框架开发篇&Yii反序列化&POP利用链&某达OA&某商城&CVE分析

参考资料:CVE-2020-15148漏洞分析https://www.extrader.top/posts/c79847eehttps://www.anquanke.com/post/id/25442...

PHP框架开发篇&ThinkPHP&版本缺陷&不安全写法&路由访问&利用链

#框架审计总结方向:1、版本不安全写法怎么检测-本地复现版本写法对比-参考官方开发手册写法2、版本自身的漏洞怎么检测-平常多关注此类框架漏洞-配合黑盒工具检测找入口https://github.com...

PHP原生开发篇&文件安全&上传监控&功能定位&关键搜索&1day挖掘

PHP原生开发篇&文件安全&上传监控&功能定位&关键搜索&1day挖掘

快速分析脆弱:1、看文件路径2、看代码里面的变量(可控)3、看变量前后的过滤 文件安全挖掘点:1、脚本文件名2、应用功能点3、操作关键字文件上传,文件下载(读取),文件包含,文件删除等&nb...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。