命令执行漏洞
命令执行漏洞
目前已爆出的命令执行漏洞
Apache 2.4.49 和 Apache 2.4.50版本存在目录遍历和任意命令执行漏洞(CVE-2021-42013)
漏洞原理
web应用程序给用户提供指定的远程命令操作接口,在调用这些函数时,将用户的输入作为系统命令参数拼接到命令行中,如果对用户输入的参数过滤不严格,就到造成命令执行漏洞。
漏洞危害
1. 以当前网站的权限去执行系统命令。
2. 继承web服务程序权限,向服务器写文件,读取敏感数据等。
3. 反弹shell,进一步提权,进一步控制整个服务器。
命令执行漏洞函数
php中命令执行函数
system() #自带输出
passthru() #有回显
system()和passthru() 都是将用户输入的字符串当做命令去执行。
exec() #本身无回显,需要echo输出,
shell_exec() #本身无回显,需要echo输出
反引号 #本身无回显,需要echo输出
popen() #无回显,返回一个指针文件
漏洞利用
1. 利用 | && & || 来拼接其他命令。
| 是直接执行| 后面的命令,
|| 是前面的语句出错,才执行|| 后面的命令
& 是不论前面语句是否正确,都执行后面的命令。
&& 是前面的命令执行正确,才执行后面的命令。
2. Linux系统还支持分号,来隔开两个命令。
漏洞防御
1. 尽量不适用命令执行函数,并且在disable_funtions中禁用。
2. 使用命令执行函数时,对用户输入的参数进行过滤和检测。
3. 参数的值尽量使用引号包裹,并在拼接前对特殊字符进行转义。
4. 要避免任意代码执行漏洞的发生,攻击者可以直接利用代码执行漏洞,来使用代码执行系统命令。
分类:
漏洞分析
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)