news 2026/5/25 11:41:07

sql学习

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
sql学习

sql

1.在小皮搭建网站

搭建到phpstudy的根目录上

2.写数据库的密码

由于小皮的数据库密码改成了123456

所以这个文件也得改成123456

3.创建数据库

4.正式开始

mysql数据库:数据库(Database) 是表的容器,表(Table) 是数据的载体,字段(Column) 是表的属性(如用户名、密码),行(Row) 是单条完整数据记录,四者是“容器-载体-属性-记录”的递进关系

sql语句练习

1.判断是字符型还是数字型注入

若页面正常没报错说明是字符型注入

因为and需要前后两个条件同时为真才执行,若把1=2按数字处理是会报错的

或者id=2-1

观察id=2-1和id=1的响应是否相同

2.查看数据库有几列(注意id=1后面的分号和最后面的--+)

发现group by 1,2,3都行

但是4不行 说明这个security数据库有三列

order by 也行

3.判断闭合方式

输入id=1’

右上角响应是"1"

说明闭合方式是’

4.union联合查询以及判断可显位

若输入id=1,页面并无变换,无法判断可显位

那么就如上图一样,输入id=-1或id=0即可

可知第二行第三行为可显位

5.

database() 可知数据库的数据名

user() 当前数据库用户

version mysql版本

6.

id=0' :让原查询 WHERE id='0' 返回空结果,使 UNION 后的查询结果能显示。

-单引号 ' :闭合Less-1中字符型的参数引号,打破原SQL语法结构

group_concat(table_name) :核心函数,将 information_schema.tables 中查询到的所有 table_name (表名)拼接成一行字符串,用逗号分隔开(emails,referers,uagents,users )

from information_schema.tables where table_schema='security'

​从MySQL的系统库 information_schema 的 TABLES 表中查询,筛选出属于 security 数据库的表名。

​SQL注入漏洞基础认知

1. 漏洞产生原理

SQL注入的本质是程序未对用户输入参数进行有效过滤或转义,导致用户输入的恶意SQL语句被拼接至后台原始SQL中,最终被数据库执行,打破正常数据访问逻辑。

案例(登录接口):

后台原始SQL: SELECT * FROM users WHERE username='$name' AND password='$pwd';

用户恶意输入:用户名填 ' OR 1=1 -- ,密码任意

拼接后SQL: SELECT * FROM users WHERE username='' OR 1=1 -- ' AND password='$pwd';

逻辑解析: OR 1=1 使条件恒成立, -- 注释后续语句,直接绕过登录验证。

2 常见分类(按三类核心维度划分)

按注入点类型:字符型注入(需闭合引号)、数字型注入(无需闭合符号)、搜索型注入(常见于搜索框,需处理通配符)。

​ 按数据交互方式:GET注入(参数拼接在URL中)、POST注入(参数藏在请求体中)、Cookie注入(参数存储在Cookie中)。

​ 按执行结果反馈:基于报错注入(利用数据库报错信息提取数据)、联合查询注入(通过UNION拼接查询获取数据)、盲注(无直接结果反馈,需通过逻辑判断/时间延迟推断数据)

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

Git-Appraise实战指南:解锁分布式代码评审的高效技巧

还在为传统的代码评审流程烦恼吗?每次都要等待中央服务器响应,评审数据无法离线访问?Git-Appraise为你带来全新的分布式代码评审体验!🚀 【免费下载链接】git-appraise Distributed code review system for Git repos …

作者头像 李华
网站建设 2026/5/25 6:27:02

Flutter版微信终极开发指南:从零构建跨平台即时通讯应用

Flutter版微信终极开发指南:从零构建跨平台即时通讯应用 【免费下载链接】wechat_flutter wechat_flutter is Flutter version WeChat, an excellent Flutter instant messaging IM open source library! 项目地址: https://gitcode.com/gh_mirrors/we/wechat_flu…

作者头像 李华
网站建设 2026/5/26 5:33:47

31、Python GUI 开发:从基础到应用

Python GUI 开发:从基础到应用 在软件开发中,Python 凭借其简洁的语法和丰富的库,在处理各种任务时表现出色,尤其是在进程处理和 GUI 应用开发方面。下面我们将深入探讨 Python 在这些领域的应用。 进程处理与 Python Python 在处理进程方面展现出了成熟和强大的特性。它…

作者头像 李华
网站建设 2026/5/26 5:36:38

12、树莓派的多样玩法:从I2C配置到家庭共享与安卓运行

树莓派的多样玩法:从I2C配置到家庭共享与安卓运行 一、I2C支持配置 在使用树莓派时,不同的系统版本对于I2C支持的配置有所不同。 - 特定系统无需额外配置 :如果你运行的是Pidora或Occidentalis且没有使用自定义内核,那么系统已经预先配置好了所需的一切,无需进行额外…

作者头像 李华
网站建设 2026/5/25 8:56:26

7步构建企业级AI助手:从单机到分布式完整指南

7步构建企业级AI助手:从单机到分布式完整指南 【免费下载链接】tabby tabby - 一个自托管的 AI 编程助手,提供给开发者一个开源的、本地运行的 GitHub Copilot 替代方案。 项目地址: https://gitcode.com/GitHub_Trending/tab/tabby 构建企业级AI…

作者头像 李华
网站建设 2026/5/25 18:50:46

Trae Agent离线工作完整教程:无网络环境下的终极解决方案

文章概要 【免费下载链接】trae-agent Trae 代理是一个基于大型语言模型(LLM)的通用软件开发任务代理。它提供了一个强大的命令行界面(CLI),能够理解自然语言指令,并使用各种工具和LLM提供者执行复杂的软件…

作者头像 李华