命令执行漏洞

  • 命令执行漏洞原理
    应用程序由于业务需要,需要调用系统命令(shell命令、CMD命令),但在将用户输入拼接进命令字符串时,未进行严格的过滤和转义,导致攻击者能够注入并执行任意系统命令。
    PHP:system()、exec()、passthru()、shell_exec、反引号`
    python:os.system()、os.popen()、subprocess.call()
    image
    Java:Runtime.getRuntime().exec()
    image
    Node.js:child_process.exec(),child_process.spawn()
    image
  • 命令执行漏洞危害
    1、服务器完全沦陷
    2、敏感信息泄露
    读取系统文件:
    读取应用源码和配置文件:
    列举目录结构:ls -la /,dir C:
    3、写入webshell,进一步控制
    直接写如一个web后门文件:
    image
    4、内网横向渗透
    以当前服务器为跳板,扫描和攻击内网中的其他主机:nmap -sP 192.168.1.0/24(-sP 主机发现)。
    攻击内网数据库、缓存等未暴露在公网的服务器
    5、破坏系统完整性
    删除文件或清空服务器:rm -rf / ,del C:*.* /f /s /p
    停止关键服务: service apache2 top,systemctl stop nginx
    6、发起外部网络攻击或挖矿
    利用服务器资源进行DDos攻击:./tfn -f hostlist -c 10 -i "target_ip"
    下载并运行挖矿木马,消耗服务器资源。
  • 命令执行漏洞修复和防御
    1、避免命令拼接
    2、最小权限原则:
    3、对所有用户输入进行严格的白名单验证,
    4、转义shell元字符
    5、使用参数化接口
    6、部署web应用防火墙
    image
posted @ 2025-09-05 17:52  予遂计划  阅读(45)  评论(0)    收藏  举报