PHP代码审计笔记--代码执行漏洞
漏洞形成原因:客户端提交的参数,未经任何过滤,传入可以执行代码的函数,造成代码执行漏洞。
常见代码注射函数:
如: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框架任意代码执行漏洞利用
关于我:一个网络安全爱好者,致力于分享原创高质量干货,欢迎关注我的个人微信公众号:Bypass--,浏览更多精彩文章。

参考文章:
代码执行漏洞 http://www.jianshu.com/p/3f0cf18adbe7
PHP漏洞全解(详细介绍) http://www.jb51.net/article/31898.htm
PHP代码执行漏洞总结 http://blog.csdn.net/kuangmang/article/details/27170309
PHP代码审计笔记--代码执行漏洞的更多相关文章
- PHP代码审计笔记--命令执行漏洞
		
命令执行漏洞,用户通过浏览器在远程服务器上执行任意系统命令,严格意义上,与代码执行漏洞还是有一定的区别. 0x01漏洞实例 例1: <?php $target=$_REQUEST['ip']; ...
 - 2020/1/28 PHP代码审计之代码执行漏洞
		
0x00代码执行原理 应用程序在调用一些能够将字符串转换为代码的函数(如PHP中的eval)时,没有考虑用户是否控制这个字符串,将造成代码执行漏洞. 该漏洞主要存在于eval().assert().p ...
 - 【代码审计】YUNUCMS_v1.0.6 后台代码执行漏洞分析
		
0x00 环境准备 QYKCMS官网:http://www.yunucms.com 网站源码版本:YUNUCMSv1.0.6 程序源码下载:http://www.yunucms.com/Downl ...
 - 【代码审计】大米CMS_V5.5.3 任意文件删除及代码执行漏洞分析
		
0x00 环境准备 大米CMS官网:http://www.damicms.com 网站源码版本:大米CMS_V5.5.3试用版(更新时间:2017-04-15) 程序源码下载:http://www ...
 - 【代码审计】OTCMS_PHP_V2.83_代码执行漏洞分析
		
0x00 环境准备 OTCMS官网:http://otcms.com 网站源码版本:网钛CMS PHP版 V2.83 [更新于2017.12.31] 程序源码下载:http://d.otcms.c ...
 - 【代码审计】YzmCMS_PHP_v3.6 代码执行漏洞分析
		
0x00 环境准备 YzmCMS官网:http://www.yzmcms.com/ 程序源码下载:http://pan.baidu.com/s/1pKA4u99 测试网站首页: 0x01 代码分析 ...
 - 【代码审计】大米CMS_V5.5.3 代码执行漏洞分析
		
0x00 环境准备 大米CMS官网:http://www.damicms.com 网站源码版本:大米CMS_V5.5.3试用版(更新时间:2017-04-15) 程序源码下载:http://www ...
 - 【代码审计】XYHCMS V3.5代码执行漏洞分析
		
0x00 环境准备 XYHCMS官网:http://www.xyhcms.com/ 网站源码版本:XYHCMS V3.5(2017-12-04 更新) 程序源码下载:http://www.xyhc ...
 - 【代码审计】QYKCMS_v4.3.2 后台down.php页面代码执行漏洞分析
		
0x00 环境准备 QYKCMS官网:http://www.qykcms.com/ 网站源码版本:QYKCMS_v4.3.2(企业站主题) 程序源码下载:http://bbs.qingyunke. ...
 
随机推荐
- 【转】性能测试,影响 TPS 的一些因素
			
首先我们要先了解下TPS的具体含义: TPS(Transaction Per Second):每秒事务数,指服务器在单位时间内(秒)可以处理的事务数量,一般以request/second为单位. 下面 ...
 - Sword pcre库函数学习二
			
9.pcre_free_substring_list 原型: #include <pcre.h> void pcre_free_substring_list(const char **st ...
 - Mac和Linux下pip更换源
			
cd ~mkdir .pip vim .pip/pip.conf 在pip.conf中写入 [global]timeout = 6000index-url = https://pypi.tuna.ts ...
 - [转载]在澳洲做IT人士的收入差别
			
澳洲跟中国一样高税收,但最大的好处是,福利返还很多:1.如果家里有孩子,每2周会有各种税收福利,就是所谓的family tax benefits (a/b):2.每财年结束还有退税:3.看病不用钱,因 ...
 - (转)谈谈RTP传输中的负载类型和时间戳
			
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://ticktick.blog.51cto.com/823160/350142 最近被 ...
 - CI框架 -- 自动加载资源
			
CodeIgniter 的"自动加载"特性可以允许系统每次运行时自动初始化类库.辅助函数和模型. 如果你需要在整个应用程序中全局使用某些资源,为方便起见可以考虑自动加载它们. 支持 ...
 - ASP.NET后台输出js脚本代码
			
利用asp.net输出js我们大多数都会直接使用Respone.Write()然后根js格式的代码,再在页面调用时我们直接这样是完全可以实现的,下面我来给大家介绍另一种方法 我是我最初的想法以下是代码 ...
 - linux下怎么用tree命令以树形结构显示文件目录结构?
			
tree命令以树状图列出文件目录结构.不过某些Linux上(Centos 6.4)没有tree命令,本文将介绍安装方法. 常用参数: ? 1 2 3 4 5 6 tree -d 只显示目录. tr ...
 - winform中文本框,软键盘跟随
			
private void textBox1_Click(object sender, EventArgs e) { //Control.MousePosition Point p = System.W ...
 - Yii2 session的使用方法(2)
			
yii2打开session use yii\web\Session; $session = Yii::$app->session; // check if a session is alread ...