@360安全应急响应中心 科普:代码执行漏洞
一、漏洞描述
代码执行漏洞(Code Execution):系统提供代码执行类函数主要方便处理各类数据。而当不合理的使用这类函数,同时调用的变量未考虑安全因素,就会执行恶意的PHP代码,被攻击利用。
二、形成原因
PHP程序里面包含如下能够执行代码的函数:eval()、assert()、preg_repace()、create_function()等,且没有对用户输入的参数作过滤。
三、危害性
可能导致攻击者在服务器端任意执行代码,进而控制整个web服务器。
四、攻击案例
1、eval() 函数
本函式可将参数中的变量值执行,通常用在处理数据库的数据上,但也常常被攻击者利用。比如常见的一句话后门程序:
2、assert() 函数
assert是验证assert后面的括号里的表达式是否为真的函数。
assert.php?c=phpinfo()
3、preg_repace() 函数
当第一个参数的正则表达式有e修正符的时候,第二个参数的字符串当做PHP代码执行。如:Preg_replace.php?h=phpinfo()
<? echo preg_replace("/test/e",$h,"jutst test"); ?>
那么该页面就会执行 phpinfo() 函数。
4、create_function() 函数
PHP不正确过滤传递给'create_function()'的输入,远程攻击者可以利用漏洞以特权应用程序权限执行任意代码。
function.php?code=phpinfo();
另外,该函数存在漏洞,可不需要建立一个lambda形式函数来直接执行PHP代码,这在不能调用函数但能建立函数的情况下非常有用。如下代码所示:
function.php?code=;}phpinfo();/*
phpinfo会在没有调用函数的情况下执行。
五、防御方法
1、始终对变量初始化。
2、使用此类函数时,严格检查输入的参数值。
3、避免使用此类函数。
关注公众号:拾黑(shiheibook)了解更多
[广告]赞助链接:
四季很好,只要有你,文娱排行榜:https://www.yaopaiming.com/
让资讯触达的更精准有趣:https://www.0xu.cn/
关注网络尖刀微信公众号
随时掌握互联网精彩
随时掌握互联网精彩
赞助链接
排名
热点
搜索指数
- 1 奋力打开改革发展新天地 7936140
- 2 中国黄金原董事长家搜出大量黄金 7994581
- 3 保时捷断臂求生 7891852
- 4 “冷资源”里的“热经济” 7700036
- 5 赖床其实是在保护心脏 7685246
- 6 刘强东提前发年终奖 7559961
- 7 向佐红毯小牌大耍 7452723
- 8 喝水后有4种表现提示肾有问题 7349934
- 9 十来岁男孩尾随女孩进电梯脱裤子 7212272
- 10 恒大地产1.2亿元债权将1元起拍 7178350