基于PHPCMS的SQL注入(Havij)

简介: 基于PHPCMS的SQL注入(Havij)

实验目的

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

实验环境

测试渗透机:win2k8SvrTester

工具:中国菜刀、Havij

目标服务器(靶机):phpcms网站


实验原理

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

实验步骤

第一步靶机操作

(1)进入靶机,查看IP地址; 开始—运行,输入cmd回车,出现命令行窗口,输入:ipconfig 显示,靶机配置信息,记下以太网适配器下,IPv4地址(后面访问网页会用到)。 此处假设为192.168.0.18.

(2)启动phpstudy

第二步渗透主机操作

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


(2)试探目标网站 分别在地址末尾添加单撇号、and 1=1 和 and 1=2 进行注入点探测。


如果单撇号出错、给出数据库信息,and 1=1正确执行,and 1=2显示空页面,则表明存在注入攻击点。


(3)利用Havij进行自动化工具注入 在桌面,进入文件夹Tools—渗透工具包—Havij-1.15,运行Havij.exe(文件路径C:\Users\test\Desktop\Tools\havij-1.15)。


在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带来的危害是非常大的,应该及时对服务器进行加固配置,应用软件及时升级为最新版本,减小网站被侵入的风险。

相关文章
|
24天前
|
SQL Web App开发 安全
【less-1】基于SQLI的SQL字符型报错注入
【less-1】基于SQLI的SQL字符型报错注入
19 2
|
1月前
|
SQL 关系型数据库 MySQL
怎么通过第三方库实现标准库`database/sql`的驱动注入?
在Go语言中,数据库驱动通过注入`database/sql`标准库实现,允许统一接口操作不同数据库。本文聚焦于`github.com/go-sql-driver/mysql`如何实现MySQL驱动。`database/sql`提供通用接口和驱动注册机制,全局变量管理驱动注册,`Register`函数负责添加驱动,而MySQL驱动在`init`函数中注册自身。通过这个机制,开发者能以一致的方式处理多种数据库。
|
24天前
【干货】sql-labs、请求方式、注入类型、拼接方式
【干货】sql-labs、请求方式、注入类型、拼接方式
14 0
|
10天前
|
SQL 安全 关系型数据库
使用SQLMap进行SQL注入测试
使用SQLMap进行SQL注入测试
|
14天前
|
SQL 安全 Java
java的SQL注入与XSS攻击
java的SQL注入与XSS攻击
29 2
|
16天前
|
SQL 安全 前端开发
SQL注入基础
SQL注入基础
17 2
|
23天前
|
SQL 监控 安全
代码审计-PHP原生开发篇&SQL注入&数据库监控&正则搜索&文件定位&静态分析
代码审计-PHP原生开发篇&SQL注入&数据库监控&正则搜索&文件定位&静态分析
|
1天前
|
SQL 监控 安全
数据库安全:SQL注入防御实践
【7月更文挑战第11天】SQL注入攻击作为一种常见的网络攻击手段,对数据库的安全性和业务稳定构成了严重威胁。为了有效防御SQL注入攻击,开发者和数据库管理员应采取一系列实践措施,包括输入验证与过滤、使用参数化查询、限制数据库用户权限、使用Web应用程序防火墙、定期更新和打补丁、实施实时监控和审计以及使用HTTPS协议等。通过这些措施的实施,可以显著提升数据库的安全性,降低遭受SQL注入攻击的风险。同时,开发者和数据库管理员应持续关注新的安全威胁和防御技术,不断提升自身的安全防护能力。
|
24天前
|
SQL Web App开发 前端开发
【less-11】基于SQLI的POST字符型SQL注入
【less-11】基于SQLI的POST字符型SQL注入
24 2
|
24天前
|
SQL 开发框架 安全
【干货】如何判断 Sql 注入点
【干货】如何判断 Sql 注入点
25 1