PHP代码执行漏洞总结
PHP代码执行漏洞总结
ref : http://blog.csdn.net/kuangmang/article/details/27170309
ref : http://blog.csdn.net/fuckcat_2333/article/details/52125951
1 代码执行函数
php中可以执行代码的函数有: eval()、assert()、``、system()、exec()、shell_exec()、passthru()、 pcntl_exec()
这些函数中的参数(部分)可控时,则可能命令注入漏洞。通常会使用escapeshellarg对参数进行处理,但在低版本的PHP库函数中该函数存在漏洞(原因:Windows上未对反斜杠进行过滤),需要注意。
2 文件包含代码注入
当文件包含函数(include、include_once、require、require_once)中包含输入变量时,可能导致代码注射。
条件:allow_url_include=On,PHP Version>=5.2.0
demo code:
<?php
include($_GET['a']);
?>
访问http://127.0.0.1/demo.php?a=data:text/plain,%3C?php%20phpinfo%28%29;?%3E时,即执行phpinfo()。
3 正则表达代码注入
preg_replace()函数:
当pattern中存在/e模式修饰符,匹配上时,即允许执行replacement中的代码。
3.1 第一个(pattern)参数注入
条件:magic_quotes_gpc=Off,pattern参数中注入/e选项;
demo code:
<?php
echo $regexp = $_GET['reg'];
$var = '<php>phpinfo()</php>';
preg_replace("/<php>(.*?)$regexp", '\\1', $var);
?>
访问http://127.0.0.1/preg_replace1.php?reg=%3C/php%3E/e
即会执行phpinfo()
3.2 第二个人(replacement)参数注入
条件:pattern参数中带/e
<?php
preg_replace("/testxxx/e",$_GET['h'],"jutst test testxxx!");
?>
提交 http://127.0.0.1/demo2.php?h=phpinfo()时, 即 执行phpinfo()。
3.3 第三个参数注射
4 动态代码执行
4.1 动态变量代码执行
<?php
$dyn_func = $_GET['dyn_func'];
$argument = $_GET['argument'];
$dyn_func($argument);
?>
当http://127.0.0.1/dyn_func.php?dyn_func=system&argument=ipconfig时,执行ipconfig命令
4.2 动态函数代码执行
关键函数:create_function
demo code:
<?php
$foobar = $_GET['foobar'];
$dyn_func = create_function('$foobar', "echo $foobar;");
$dyn_func('');
?>
当提交http://127.0.0.1/create_function.php?foobar=system%28dir%29时,执行dir命令
5 其他
array_map()函数
ob_start()函数???
函数处理函数:http://www.php.net/manual/zh/book.funchand.php
PHP代码执行漏洞总结相关推荐
- thinkphp5+远程代码执行_ThinkPHP5 5.0.23 远程代码执行漏洞
漏洞描述 ThinkPHP是一款运用极广的PHP开发框架.其5.0.23以前的版本中,获取method的方法中没有正确处理方法名,导致攻击者可以调用Request类任意方法并构造利用链,从而导致远程 ...
- ElasticSearch Groovy脚本远程代码执行漏洞
什么是ElasticSearch? 它是一种分布式的.实时性的.由JAVA开发的搜索和分析引擎. 2014年,曾经被曝出过一个远程代码执行漏洞(CVE-2014-3120),漏洞出现在脚本查询模块,由 ...
- Linux包管理器apt/apt-get发现远程代码执行漏洞
研究人员Max Justicz日前发现了知名Linux包管理器apt/apt-get中的远程代码执行漏洞,该漏洞允许外部进行中间人攻击并获取root权限以执行任何代码.该漏洞已在最新版本apt修复,如 ...
- wordpress php执行短代码_【漏洞通告】PHP远程代码执行漏洞(CVE-2019-11043)
1.综述2019年9月14日至18举办的 Real World CTF中,国外安全研究员 Andrew Danau 在解决一道CTF题目时发现,向目标服务器 URL 发送 %0a 符号时,服务返回异常 ...
- php定时执行代码漏洞_【漏洞风险提示】Drupal任意PHP代码执行漏洞通告
漏洞描述 Drupal是使用PHP语言编写的开源内容管理框架(CMF),它由内容管理系统(CMS)和PHP开发框架(Framework)共同构成. 2020年11月25日,Drupal发布了Drupa ...
- ImageMagick远程代码执行漏洞CVE-2016-8707 绿盟科技发布安全威胁通告
在 ImageMagicks 的转换实用程序中, TIFF 图像压缩处理存在一个写边界的问题.攻击者利用一个精心编制的 TIFF 文件,可以导致的界限写,特别是可以利用的情况下进入远程执行代码.任何用 ...
- ecshop 解密index.php,ECShop 2.x 3.0代码执行漏洞分析
0x00 前言 ECShop是一款B2C独立网店系统,适合企业及个人快速构建个性化网上商店.2.x版本跟3.0版本存在代码执行漏洞. 0x01 漏洞原理 ECShop 没有对 $GLOBAL['_SE ...
- Source引擎的远程代码执行漏洞,可能影响千万游戏玩家
本文讲的是Source引擎的远程代码执行漏洞,可能影响千万游戏玩家, 目前多款主流游戏,如CS.绝地要塞等都在使用Source引擎,Source引擎由Valve软件公司开发,这个引擎提供关于渲染.声效 ...
- 隐藏17年的Office远程代码执行漏洞(CVE-2017-11882)
Preface 这几天关于Office的一个远程代码执行漏洞很流行,昨天也有朋友发了相关信息,于是想复现一下看看,复现过程也比较简单,主要是简单记录下. 利用脚本Github传送地址 ,后面的参考链接 ...
- 绿盟科技网络安全威胁周报2017.17 请关注Squirrelmail 远程代码执行漏洞CVE-2017-7692...
绿盟科技发布了本周安全通告,周报编号NSFOCUS-17-17,绿盟科技漏洞库本周新增84条,其中高危40条.本次周报建议大家关注 Squirrelmail 远程代码执行漏洞 .SquirrelMai ...
最新文章
- linux mysql 操作命令_linux的mysql操作命令
- 【CTS】几个serialno失败项
- 从脸部识别到火星机器人,正在改变世界的计算机视觉
- pythorch学习笔记
- OSI七层模型的作用
- 梦幻粉色空间手机背景素材,爱梦想的设计师
- 优秀子序列(【CCF】NOI Online能力测试3 提高组)
- swarm部署mysql_「实战篇」开源项目docker化运维部署-借助dockerSwarm搭建集群部署(九)...
- OpenCV-计算轮廓面积cv::contourArea
- Exce如何行内随机排序确定出场顺序
- 56款超赞的国外html表单模板
- JavaScript——数组——slice方法
- 逻辑运算符:与,或,非,异或
- VisualSVN Server安装失败解决
- 前端渲染和后端渲染,要说的都在这里?
- Python爬取了猫眼47858万条评论,告诉你《飞驰人生》值不值得看?!
- 用7000字长文带你分析深圳二手房市场现况!
- 使用git时本地代码被覆盖怎么办
- 解构微信(三):揭秘微信的敏捷开发与流程管理
- 软件测试 | 测试开发 | 30 分钟轻松搞定正则表达式基础