千家信息网

opcode在webshell检测中怎么用

发表于:2025-01-24 作者:千家信息网编辑
千家信息网最后更新 2025年01月24日,这篇文章给大家分享的是有关opcode在webshell检测中怎么用的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。传统的webshell静态检测,通过匹配特征码,特征值,危
千家信息网最后更新 2025年01月24日opcode在webshell检测中怎么用

这篇文章给大家分享的是有关opcode在webshell检测中怎么用的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

传统的webshell静态检测,通过匹配特征码,特征值,危险函数函数来查找WebShell的方法,只能查找已知的WebShell,并且误报率漏报率会比较高。而PHP这种灵活的语言可以有非常多的绕过检测的方式,经过研究测试,opcode可以作为静态分析的辅助手段,快速精确定位PHP脚本中可控函数及参数的调用,从而提高检测的准确性,也可以进一步利用在人工智能的检测方法中,可以用opcode做特征工程。

0x01 什么是opcode

当PHP脚本被Zend Engine解析的时候,Zend Engine会对脚本进行词法、语法分析,然后编译成opcode来执行,类似JVM中的字节码(byte codes),只不过opcode不会像class文件那种存在磁盘,而是在内存中直到PHP的生命周期结束。

我们可以通过PHP扩展vld来查看PHP脚本的opcode,vld项目地址:http://pecl.php.net/package/vld

0x02 读懂opcode

下面我们用vld生成一段opcode看看。PHP脚本如下:

我们用vld生成opcode:

php -dvld.active=1  -dvld.execute=0 test.php

如上为VLD输出的PHP代码生成的中间代码的信息,说明如下:

  • Branch analysis from position 这条信息多在分析数组时使用;

  • Return found 是否返回,这个基本上有都有;

  • filename 分析的文件名;

  • function name 函数名,针对每个函数VLD都会生成一段如上的独立的信息,这里显示当前函数的名称;

  • number of ops 生成的操作数;

  • compiled vars 编译期间的变量,这些变量是在PHP5后添加的,它是一个缓存优化。这样的变量在PHP源码中以IS_CV标记;

这段opcode的意思是echo helloworld 然后return 1。

0x03 opcode在webshell检测中的运用

当检测经过混淆加密后的php webshell的时候,最终还是调用敏感函数,比如eval、system等等。我们可以将其转化为opcode,再检测opcode是否进行了敏感函数调用。举个例子:

 eval($_POST[x]);?>

上面的php webshell经过解码后就是一句话木马eval($_POST[x]),我们将它转化为opcode:


我们看到,木马文件最终转化成opcode的时候,调用了eval语句"INCLUDE_OR_EVAL",而这明显是一个危险的操作,很有可能是一个webshell。

感谢各位的阅读!关于"opcode在webshell检测中怎么用"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

检测 函数 脚本 生成 分析 信息 变量 文件 时候 特征 危险 代码 内容 如上 方法 是在 更多 木马 篇文章 静态 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 服务器获取访问mac地址 购物网站数据库课程设计 武汉数据库公司招聘 浅谈网络安全与信息保密论文 河南中搜网络技术有限公司 桂林电子科技大学网络安全怎么样 毕设中的数据库设计部分怎么写 app后端数据库 php下载到服务器 计算机网络技术专业的榜样 安卓软件开发靠谱吗 国内政务网络安全 深圳宝米奥网络技术有限公司 代理第三方服务器 中兴服务器ip地址 万州区提供软件开发流程代理商 电脑邮箱服务器设置教程 mt卡片怎么下载到云服务器 郑州工控软件开发哪家可靠 软件开发测试爱情语录 多账号登录外网服务器工具 淄川进销存管理软件开发 sql语句创建数据库语法的 工业网络技术控制国内外研究现状 数据库驱动jar怎么用 放心的贸易软件开发定制 吉林有名的网络技术咨询口碑推荐 r710服务器电源 修改sql数据库密码语句 丰台服务器回收报价单
0