当前位置: 首页 > news >正文

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

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

一、环境准备

  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端口未被占用。

相关文章:

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

注意:文中涉及演示均为模拟测试,切勿用于真实环境,任何未授权测试都是违法行为! 一、环境准备 下载PHPStudy 官网下载地址:https://www.xp.cn/php-study(选择Windows版) 安装时建议选择自定…...

【笔记ing】python

1 Python基础概念及环境搭建 1.1 python简介及发展史 之父Guido van Rossum。ABC语言的替代品。Python提供了高效的数据结构,还能简单有效地面向对象编程。Python语法和动态类型,以及解释性语言的本质,使之成为多数平台上写脚本和快速开发应…...

DFT之SSN架构

SSN(Streaming Scan Network)架构在DFT(设计可测试性)中的应用是一种先进的设计测试解决方案,旨在应对现代大规模片上系统(SoC)设计中的复杂测试挑战。以下是对SSN架构在DFT中应用的详细分析&am…...

四十二:VSCODE打开新文件覆盖上一个文件窗口问题

VSCODE打开新文件覆盖上一个文件窗口问题_vscode enablepreview-CSDN博客...

JMeter 引入 JAR 包的几种方法

JMeter 支持加载外部 JAR 文件,用于: 扩展 JMeter 功能使用 Java 代码(BeanShell / JSR223)连接数据库 / 解析 Excel / 读取 CSV 📌 1. JMeter 引入 JAR 包的方式 ✅ 方式 1:将 JAR 放入 lib/ 或 lib/ext…...

记一次ScopeSentry搭建

介绍 Scope Sentry是一款具有资产测绘、子域名枚举、信息泄露检测、漏洞扫描、目录扫描、子域名接管、爬虫、页面监控功能的工具,通过构建多个节点,自由选择节点运行扫描任务。当出现新漏洞时可以快速排查关注资产是否存在相关组件。 目前功能 插件系…...

C语言_数据结构总结1:静态分配方式的顺序表

纯C语言代码,不涉及C 1. 初始化 #define MaxSize 50 typedef int ElemType; typedef struct SQList { ElemType data[MaxSize]; //定义一个数组存放顺序表元素 int length; //顺序表当前的长度(元素个数…...

C语言--简单排序算法(冒泡、选择、插入)

实现三种简单的排序算法 文章目录 冒泡排序改进改进2 选择排序插入排序执行结果 冒泡排序 每次外层循环&#xff0c;排出一个最大值 void bubbleSort(int arr[], int len) {for (int i 0; i < len - 1; i) {for (int j 0; j < len - i - 1; j) {if (arr[j] > arr[…...

【文献阅读】The Efficiency Spectrum of Large Language Models: An Algorithmic Survey

这篇文章发表于2024年4月 摘要 大语言模型&#xff08;LLMs&#xff09;的快速发展推动了多个领域的变革&#xff0c;重塑了通用人工智能的格局。然而&#xff0c;这些模型不断增长的计算和内存需求带来了巨大挑战&#xff0c;阻碍了学术研究和实际应用。为解决这些问题&…...

MySQL-高级查询

查询处理 排序&#xff08;默认不是按主键排序的&#xff09; order by 字段1[&#xff0c;字段2] [asc|desc] 默认是升序排序也可以指定 select 列表中列的序号进行排序如果是多个字段&#xff0c;那么在上一个字段排序完的基础上排序下一个 限制数量 limit 行数&#xff0…...

Netty笔记10:LengthFieldBasedFrameDecoder很简单,请看

Netty笔记1:线程模型 Netty笔记2:零拷贝 Netty笔记3:NIO编程 Netty笔记4:Epoll Netty笔记5:Netty开发实例 Netty笔记6:Netty组件 Netty笔记7:ChannelPromise通知处理 Netty笔记8:ByteBuf使用介绍 Netty笔记9:粘包半包 Netty笔记10:LengthFieldBasedFrameDec…...

linux 安装Mysql无法远程访问问题的排查

宝塔面板安装了mysql5.6后 只能本地访问 firewall 在使用宝塔面板&#xff08;BT Panel&#xff09;安装 MySQL 5.6 后&#xff0c;如果你发现 MySQL 只能本地访问&#xff0c;而不能从其他机器或服务访问&#xff0c;这通常是由于防火墙设置或 MySQL 配置的问题。以下是一些步…...

DeepSeek搭配Excel,制作自定义按钮,实现办公自动化!

今天跟大家分享下我们如何将DeepSeek生成的VBA代码&#xff0c;做成按钮&#xff0c;将其永久保存在我们的Excel表格中&#xff0c;下次遇到类似的问题&#xff0c;直接在Excel中点击按钮&#xff0c;就能10秒搞定&#xff0c;操作也非常的简单. 一、代码准备 代码可以直接询问…...

英文生物信息学技术社区Top10推荐:基本情况、评介和网页链接

英文生物信息学技术社区Top10推荐&#xff1a;基本情况、评介和网页链接 李升伟 一、思考与分析 生物信息学涉及生物数据分析和计算工具&#xff0c;所以相关的社区可能包括论坛、问答平台、资源库等等。 首先&#xff0c;我想到Biostars&#xff0c;这是一个比较知名的生物信…...

Lumerical INTERCONNECT 中的自相位调制 (SPM)

一、自相位调制的数学介绍 A.非线性薛定谔方程&#xff08;NLSE&#xff09;&#xff1a; NLSE 是光学中的一个关键方程。它告诉我们光脉冲在具有非线性和色散特性的介质中的行为方式。该方程如下所示&#xff1a; i ∂A/∂z β2/2 ∂A/∂t γ|A|A 0 其中&#xff1a; - …...

每日定投40刀BTC(6)20250227 - 20250302

定投 得而复失 《得而复失》初得明珠喜欲狂&#xff0c;转瞬即逝心彷徨。得失之间悟真谛&#xff0c;淡看浮华守本常。...

leetcode 230. 二叉搜索树中第 K 小的元素

题目如下 数据范围 利用一个全局的计数器每过一个节点就加一&#xff0c;再利用中序遍历的特性&#xff08;即遍历到的节点是从小到大的&#xff09;通过代码 /*** Definition for a binary tree node.* struct TreeNode {* int val;* TreeNode *left;* TreeN…...

华为hcia——Datacom实验指南——配置手工模式以太网链路聚合

什么是以太网链路聚合&#xff08;Eth-trunk&#xff09; 是一种将多个物理链路捆绑在一起&#xff0c;让设备以为是一条大链路&#xff0c;能够增加带宽&#xff0c;增加冗余度&#xff0c;提升可靠性&#xff0c;实现负载平衡。 传输方式有两种 基于数据流传输和基于数据包…...

Metal学习笔记十一:贴图和材质

在上一章中&#xff0c;您设置了一个简单的 Phong 光照模型。近年来&#xff0c;研究人员在基于物理的渲染 &#xff08;PBR&#xff09; 方面取得了长足的进步。PBR 尝试准确表示真实世界的着色&#xff0c;真实世界中离开表面的光量小于表面接收的光量。在现实世界中&#xf…...

VirtualBox虚拟机MacOS从Big Sur升级到Sequoia(失败)

VirtualBox虚拟机里安装好Big Sur版本&#xff0c;尝试升级到Sequoia&#xff0c;但是最终失败了。 软件升级 直接在系统偏好-软件更新里可以看到提示&#xff0c;提示可以升级到15版本Sequoia 点击同意&#xff0c;看能不能升级到Sequoia吧。升级前先用时光做了备份。 升级…...

React Native 开发环境搭建(全平台详解)

React Native 开发环境搭建&#xff08;全平台详解&#xff09; 在开始使用 React Native 开发移动应用之前&#xff0c;正确设置开发环境是至关重要的一步。本文将为你提供一份全面的指南&#xff0c;涵盖 macOS 和 Windows 平台的配置步骤&#xff0c;如何在 Android 和 iOS…...

Oracle查询表空间大小

1 查询数据库中所有的表空间以及表空间所占空间的大小 SELECTtablespace_name,sum( bytes ) / 1024 / 1024 FROMdba_data_files GROUP BYtablespace_name; 2 Oracle查询表空间大小及每个表所占空间的大小 SELECTtablespace_name,file_id,file_name,round( bytes / ( 1024 …...

Android15默认授权浮窗权限

我们经常有那种需求&#xff0c;客户需要定制的apk集成在ROM中&#xff0c;并且默认授予其【显示在其他应用的上层】权限&#xff0c;也就是我们常说的浮窗权限&#xff0c;那么我们就可以通过以下方法在wms、ams等系统服务的systemReady()方法中调用即可实现预置应用默认授权浮…...

QT: `long long` 类型转换为 `QString` 2025.6.5

在 Qt 中&#xff0c;将 long long 类型转换为 QString 可以通过以下两种常用方法实现&#xff1a; 方法 1&#xff1a;使用 QString::number() 直接调用 QString 的静态方法 number()&#xff0c;将数值转换为字符串&#xff1a; long long value 1234567890123456789LL; …...

RNN避坑指南:从数学推导到LSTM/GRU工业级部署实战流程

本文较长&#xff0c;建议点赞收藏&#xff0c;以免遗失。更多AI大模型应用开发学习视频及资料&#xff0c;尽在聚客AI学院。 本文全面剖析RNN核心原理&#xff0c;深入讲解梯度消失/爆炸问题&#xff0c;并通过LSTM/GRU结构实现解决方案&#xff0c;提供时间序列预测和文本生成…...

智能分布式爬虫的数据处理流水线优化:基于深度强化学习的数据质量控制

在数字化浪潮席卷全球的今天&#xff0c;数据已成为企业和研究机构的核心资产。智能分布式爬虫作为高效的数据采集工具&#xff0c;在大规模数据获取中发挥着关键作用。然而&#xff0c;传统的数据处理流水线在面对复杂多变的网络环境和海量异构数据时&#xff0c;常出现数据质…...

Mac下Android Studio扫描根目录卡死问题记录

环境信息 操作系统: macOS 15.5 (Apple M2芯片)Android Studio版本: Meerkat Feature Drop | 2024.3.2 Patch 1 (Build #AI-243.26053.27.2432.13536105, 2025年5月22日构建) 问题现象 在项目开发过程中&#xff0c;提示一个依赖外部头文件的cpp源文件需要同步&#xff0c;点…...

使用 Streamlit 构建支持主流大模型与 Ollama 的轻量级统一平台

🎯 使用 Streamlit 构建支持主流大模型与 Ollama 的轻量级统一平台 📌 项目背景 随着大语言模型(LLM)的广泛应用,开发者常面临多个挑战: 各大模型(OpenAI、Claude、Gemini、Ollama)接口风格不统一;缺乏一个统一平台进行模型调用与测试;本地模型 Ollama 的集成与前…...

Hive 存储格式深度解析:从 TextFile 到 ORC,如何选对数据存储方案?

在大数据处理领域&#xff0c;Hive 作为 Hadoop 生态中重要的数据仓库工具&#xff0c;其存储格式的选择直接影响数据存储成本、查询效率和计算资源消耗。面对 TextFile、SequenceFile、Parquet、RCFile、ORC 等多种存储格式&#xff0c;很多开发者常常陷入选择困境。本文将从底…...

GitFlow 工作模式(详解)

今天再学项目的过程中遇到使用gitflow模式管理代码&#xff0c;因此进行学习并且发布关于gitflow的一些思考 Git与GitFlow模式 我们在写代码的时候通常会进行网上保存&#xff0c;无论是github还是gittee&#xff0c;都是一种基于git去保存代码的形式&#xff0c;这样保存代码…...