WEB漏洞-RCE代码及命令执行漏洞全解
在 Web 应用中有时候程序员为了考虑灵活性、简洁性,会在代码调用代码或命令执行函数去处理。比如当应用在调用一些能将字符串转化成代码的函数时,没有考虑用户是否能控制这个字符串,将造成代码执行漏洞。同样调用系统命令处理,将造成命令执行漏洞
代码执行 RCE 漏洞
- eval() : 把字符串作为PHP代码执行
函数
eval()
语言结构是非常危险的, 因为它允许执行任意 PHP 代码。 它这样用是很危险的。 如果您仔细的确认过,除了使用此结构以外 别无方法, 请多加注意,不要允许传入任何由用户 提供的、未经完整验证过的数据
<?php @eval($_REQUEST['x']);?>
命令执行 RCE 漏洞
- system() : 执行外部程序,并且显示输出
实际上改函数将字符串以系统命令的方式执行,如果传入用户提供的过滤不严格的字符串,会产生严重的漏洞
<?php @system($_REQUEST['x']);?>
墨者靶场黑盒功能点命令执行-应用功能
经过测试和阅读,发现该input输入框具有前端验证并且可以执行系统命令,利用这点和提示,绕过前端验证并且使用管道符号拼接命令就可以命令注入
使用burp抓包后,绕过前端验证,用管道符号拼接命令执行,这里需要注意,由于webshell不是持久化shell所以vi,vim之类的交互命令都无法使用只能用cat等非交互命令查看
墨者靶场白盒代码及命令执行-代码分析
根据给出的提示,进行解密,获得的解密结果如下
分析后,只要传入a参数就可以利用eval函数执行系统命令
最后一次更新于2022-01-29 11:35
0 条评论