基于PHPCMS的SQL注入(Havij)

实验目的

  通过本实验理解SQL注入基本原理和过程,掌握菜刀和Havij等注入工具的使用方法,了解SQL注入的危害。通过本实验,掌握SQL注入点识别方法、测试方法、自动化工具使用方法以及进行防御的基本方法。

【实验原理】

  PHPCMS框架网站的相关页面存在SQL注入漏洞,本实验利用Havij软件进行自动化SQL注入,最终获取管理员的账号密码,登录管理员后台执行危险操作。

实验步骤

一、靶机操作

启动phpstudy

 

 

如果,显示不是两个绿色标志,则等待一会,按下重启按钮,再次尝试。

二、远程渗透测试主机操作

1、进入测试机

利用渗透测试主机,访问靶机上的目标网站。 http://IP:8083 (注意根据查看到的靶机IP地址,修改此处的IP,端口不变,以下截图中,均应将端口修改为8083),然后点击其中的一篇文章,如果地址栏出现http://***/xx.php?id=XX,则表明目标网站,采用PHP语言开发。

 

 

2、探测目标网站

探测目标网站是否存在SQL注入漏洞 分别在地址末尾添加单撇号、and 1=1 和 and 1=2 进行注入点探测。 如果单撇号出错、给出数据库信息,and 1=1正确执行,and 1=2显示空页面,则表明存在注入攻击点。

 

 

 

 

3、利用工具注入

在桌面,进入文件夹Tools—渗透工具包---Havij-1.15,运行Havij.exe。

 

 在Target后面的输入栏中,输入看到的目标网站的可注入网址。

 

 

注意: (1)Target栏目中,输入内容,必须带上“http://”,并且,一定具有**.php?id=特征。

(2)Database选择项,根据前面出错信息,选择mysql blind(盲注)。其他按图中所示进行选择即可。

(3)点击,Analyze,即可输出各种信息。

第一步:获取信息。

点击info,查看基本信息。

 

 

第二步:获取数据库,表,列的信息。

依次点击TablesGetDBs,得到靶机上的所有数据库信息(如果仅显示一个数据库,等待1分钟左右,再次点击即可),勾选cms数据库,然后点击Get Tables,得到cms数据库中的所有表的信息。

 

 

 

 

第三步:获取字段值。

选择username、password列,点击Get Data得到当前数据库的用户名和密码加密后的值。

 

 通过www.cmd5.com查询 得到对应的密码明文。

 

 

第四步:登陆后台。

在网站主页,点击后台管理,进入,输入用户名和密码,进入网站后台。

 

 

可以看到,通过SQL注入,得到了目标网站的控制权限。

思考与总结

  通过本次实验,大家可以体会到SQL注入给WEB带来的危害是非常大的,应该及时对服务器进行加固配置,应用软件及时升级为最新版本,减小网站被侵入的风险。

posted @ 2020-10-30 19:05  码小农的幸福生活  阅读(1143)  评论(0编辑  收藏  举报