Web安全工具—SQLMAP常用命令和参数
简介:此篇文章主要记录学习注入神器sqlmap的过程,文章会对常见参数进行详解(附图),适合入门学习。
一:SQLMAP介绍:
简介:sqlmap是一个由python语言编写的开源自动化渗透测试工具,主要被用来检测sql注入漏洞,是一款功能强大的sql漏洞检测利用工具。 支持检测的数据库:access,mysql,oracle,postgresql,sqlserver(mssql),db2等 支持的注入类型:布尔盲注,时间盲注,显错注入,堆叠注入,联合查询注入等,可以通过查看sqlmap的poc特征文件判断:
二:SQLMAP常见参数:
说明:此处使用kali下的sqlmap工具,靶场使用pikachu中的sql注入漏洞 1,查看参数帮助:sqlmap -h 2,对目标url进行sql注入漏洞探测 sqlmap -u "http://192.168.0.105/pikachu-master/vul/sqli/sqli_str.php?name=1&submit=%E6%9F%A5%E8%AF%A2" 探测结果:
3,查看当前web应用调用的数据库和户和用户:--current-user --current-db 探测结果:当前数据库为pikachu,当前用户为root 4,查看当前数据库用户是否为管理员用户,如果是整个数据库管理系统的管理员用户,则可以跨数据库查询 --is-dba 探测结果:ture(表示为数据库管理员) 5,查看当前数据库管理系统有多少数据库--dbs 6,因为这个环境下我们查出当前涉及漏洞的数据库是pikachu,所以我们查看pikachu下存在的表-D pikachu --tables 探测出pikachu数据库存在如下表: 7,根据步骤7探测出的数据表,我们推测users可能为用户网站账户密码信息表,此时我们对表进行探测,查看其有多少列-D pikachu -T users columns 8,此时我们可以对数据列username和password进行探测-D pikachu -T users -C username,password --dump (–dump是查看表或列中的数据) 9,也可以通过数据表直接去探测其内容-D pikachu -T users --dump 10,将密码的md5通过解密得到账户为admin,密码为123456的账户信息,尝试登陆,登陆成功 11,除了上述从数据库—数据表—数据列—数据的探测过程,如果注入点提交类型是POST,这个时候可以将请求数据包通过BurpSuite或Wireshark工具抓取添加到文件中,通过-r 参数指定即可 因为HTTP请求包中包含了cookie,xff,useragent等请求头参数,所以就不用去单独指定,这种方法推荐使用 12,指定探测等级,sqlmap的不同探测等级探测的注入点和payload也是不相同的,--level 共分为5个等级: 等级1(默认):get和post的数据都会测试 等级2:在之前的基础上会增加探测cookie 等级3:在之前的基础上会增加探测请求头内容(referer,useragent等) 总之:在不清楚注入点的时候,使用等级越高越全面。 13,指定风险等级--risk ,共有4个风险等级,风险等级越高,效果可能越准确,但是其风险也越高 14,除了步骤12中指定探测等级外导致探测注入点外,还可以通过参数-p指定需要探测的注入点,例如 -p "id,user-agent" 总结:SQLMAP作为注入的神器,其可使用的参数还有很多,作为初学者,可以先掌握如上的基础参数,然后在实际使用中再完善。
参考学习内容:
SQL注入—MYSQL基础语句 使用sqlmap检测sql注入漏洞
`
|