俗话说的好,SqlMap用得好,监狱进得早~
------------------------------------------------------------------------
刚开始学习这款工具,简单记录一下使用心得。
首先什么是SqlMap呢??
sqlmap是目前功能最为强大、使用最为广泛的注入类工具。同时,它是开源软件,被集成于KaliLinux,官方网站为www.sqlmap.org。
废话不多说,我们直接通过三个实验来实战吧。
---------------------------------------------------------------------------
实验一:注入ACCESS数据库
0、先自行搭建一个Access数据库网站,此处就不演示了~~
1、使用kali运行sqlmap
2、sqlmap -u 判断网站的注入点
如果在此处发现注入点,则显示如下。其中第一句话表示发现注入点,关键词id;第二处表示数据库类型为access,只能猜表名。
3、通过--tables参数 猜表名
sqlmap会使用数据库中的表名去进行比对
猜出如下表名,测试网站存放账号密码的表名为manage_user,数据库中没有,所以没猜出来。
在数据表common-tables.txt中添加manage_user即可。
添加完毕后,需要清除缓存再重新扫描,清除方法见常见问题1,扫描结果如下:
猜表名结束~~
4、使用-columns -T 参数 猜指定表名的表项
5、猜出表项之后就可以爆出敏感字段了
//此处询问是否保存结果到临时文件(位置在output文件夹中);是否使用sqlmap的破解工具进行破解,不需要。
成功获取用户名、密码:
实验一完毕~~
---------------------------------------------------------------------------
实验二:注入MySql数据库
1、依然是sqlmap -u参数 测试网页是否存在注入点
sqlmap询问是否使用默认检测级别,直接回车;级别越高,检测越详细,但风险也越高。
判断出该页面存在注入点:
2、--dbs参数 查询数据库名称
3、--current-db参数 查询当前正在使用的数据库(blog还是govcn?)
判断出为govcn,如下:
4、查询一下其他有用的信息
5、--tables 查询指定数据库中包含的表
6、查询指定表的表项
7、最后成功爆破出敏感信息
---------------------------------------------------------------------------
总结:ACCESS数据库全靠猜,不需要猜数据库名称;Mysql则需要从数据库开始一步一步查询。
常见问题:
1、重新扫描时,sqlmap会直接读取缓存结果,而不重新扫描
---------------------------------------------------------------------------
实验三:Cookie注入
1、在有些网站中,传统sql注入方式会被过滤,如下:
2、尝试cookie注入
判断出存在cookie注入漏洞:
判断数据库类型为ACCESS类型:
3、猜表名
4、猜字段名
5、爆破敏感成功信息
好啦,以上就是sqlmap初步使用时的总结,你们看懂了吗?
Peace!