SQL注入 ❤ ~~~ 网络空间安全及计算机领域常见英语单词及短语——网络安全(二)
SQL注入 ❤ + 学网安英语
- 大白话讲SQL注入
- SQL注入原理
- 1. 用恶意拼接查询进行SQL注入攻击
- 2. 利用注释执行非法命令进行SQL注入攻击
- 3. 利用传入非法参数进行SQL注入攻击
- 4. 添加额外条件进行SQL注入攻击
- 时间和布尔盲注
- 时间盲注(Time-Based Blind SQL Injection)
- 布尔盲注(Boolean-Based Blind SQL Injection)
- 没事儿读着玩儿
大白话讲SQL注入
就比如登录页面,输入用户名admin和密码123456,网页告诉服务器我的用户名和密码,服务器就会去问数据库,有没有这个用户名admin并且密码为123456的用户,服务器收到数据库的回答就回去告诉网页,有这个用户就登录成功,没有就登录失败。SQL注入就是在网页告诉服务器我的查询数据的时候做的手脚,攻击者在输入框中插入一些特殊的代码,以便欺骗数据库执行它不应该执行的操作。
SQL注入原理
1. 用恶意拼接查询进行SQL注入攻击
举个简单例子,用户在搜索框中输入一个关键字来查找用户信息。网站的后台代码可能会类似于以下的SQL查询
SELECT * FROM users WHERE username = '$input';
此时要是攻击者在搜索框中输入
' OR '1'='1
如果在没有适当的过滤和验证的情况下的话,查询语句会变成:
SELECT * FROM users WHERE username = '' OR '1'='1';
由于 ‘1’=‘1’ 总是成立的,仔细看引号,然后又是OR,只要一个为真就是真,这个查询会返回所有用户的信息。
2. 利用注释执行非法命令进行SQL注入攻击
举个简单例子,用户在搜索框中输入一个用户名和密码。网站的后台代码可能会类似于以下的SQL查询
SELECT * FROM users WHERE username = '$input_username' AND password = '$input_password';
攻击者可以在用户名和密码的输入框中输入恶意的注释,利用注释来修改查询语句。比如输入
' OR '1'='1' --
在这个输入中,‘–’ 是表示SQL的注释,它会导致后面的查询语句被忽略。因此,查询语句将变为以下
SELECT * FROM users WHERE username = '' OR '1'='1' -- ' AND password = '$input_password';
看到没?‘–’ 直接被注释掉了,然后' ' OR '1'='1'
这条语句又成了真!所以将返回所有用户的信息。
3. 利用传入非法参数进行SQL注入攻击
举个简单例子,用户在搜索框中输入一个用户名和密码。
假设正常情况下,用户输入的用户名和密码是:
用户名:admin
密码:123456
那么正确的后台查询
SELECT * FROM users WHERE username='admin' AND password='123456';
数据库会验证用户名和密码是否匹配,然后返回登录成功或登录失败。
但是呢,攻击者在用户名那里直接输入' OR '1'='1
在这个句子中,’ OR ‘1’='1 是一个非法参数,它是用于进行SQL注入攻击的恶意输入。攻击者通过在用户名输入框中输入这样的参数来绕过密码验证,导致整个条件变为真,从而绕过了正常的身份验证。
这样查询语句就会变为
SELECT * FROM users WHERE username='' OR '1'='1' AND password='';
OR前面是空,但’1’=‘1’ 这个条件始终为真,而 ‘OR’ 和 ‘AND’ 之间的优先级会导致整个条件变为真,绕过了密码验证。因此,攻击者可以通过输入这样的用户名绕过密码验证,即使密码不正确。
4. 添加额外条件进行SQL注入攻击
在 SQL 语句中添加一些额外条件,以此来改变执行的行为。
举个简单例子,用户在搜索框中输入一个用户名和密码。网站的后台代码可能会类似于以下的SQL查询
SELECT * FROM users WHERE username = '$input_username' AND password = '$input_password';
攻击者可以在用户名输入框中输入
' OR '1'='1'; --
So
SELECT * FROM users WHERE username='' OR '1'='1'; --' AND password='$password';
OR前面是空,但’1’=‘1’ 这个条件始终为真,后面又是注释,So~
时间和布尔盲注
时间盲注(Time-Based Blind SQL Injection)
时间盲注是一种高级的注入技术,攻击者通过在恶意查询中添加等待时间函数,根据系统响应时间来判断条件是否成立。
举个简单例子,假设有一个登录页面,用户需要输入用户名和密码进行登录。后台的查询语句可能是这样的
SELECT * FROM users WHERE username = '$username' AND password = '$password';
攻击者输入的用户名
admin' AND IF(1=1, SLEEP(5), 0); --
这将会变为
SELECT * FROM users WHERE username = 'admin' AND password = '' AND IF(1=1, SLEEP(5), 0); --';
在这个例子中,条件 “1=1” 成立,SLEEP函数会引起5秒的延迟。攻击者可以观察登录页面的响应时间,如果登录页面在输入这个用户名后有明显的延迟,那么他们就可以推断出系统中存在用户名 “admin”。
布尔盲注(Boolean-Based Blind SQL Injection)
布尔盲注技术相对复杂,攻击者通过构造SQL查询,根据系统的True或False响应来逐位猜测数据。举个简单例子,上面的 3. 利用传入非法参数进行SQL注入攻击
就是一个布尔盲注,实际的布尔盲注攻击可能会更加复杂,涉及更多的条件和查询,
还有堆叠查询注入(Stacked Queries Injection)、NoSQL注入、二次注入(Second-Order Injection)、基于错误的注入(Error-Based SQL Injection)、UNION查询注入也是比较常见的。时间不够了要睡觉了
…
偶尔搜到自己三年多前写的
https://blog.csdn.net/hanhanwanghaha/article/details/106583521
回想我三年前还是个小年轻勒~哈哈哈
现在听的歌曲的周杰伦的发如雪
没事儿读着玩儿
- normal:正常的
- abnormal:异常的
- distinguish from:区别于
- true positives and false positives :准确和误报
- concealment:隐蔽
- a variety of:多种不同的
- diverse:多样化
- overt:公然、明显、显眼的,特指那些不隐藏、不掩饰的攻击行为或攻击方式
- intervention:干预
- traverse:遍历,对图或数据结构进行逐个访问的操作
- attributes:特征、特性或属性
- pruned:修剪或剪裁
- adversarially:对抗性的
- robustness:鲁棒性
- serve:服务和提供
- substructures:子结构
- align:对准——》alignment
- threat intelligence:威胁情报
- benign:良性的
- clusters:具有相似特征或性质的数据或实体的集合
- entries:日志条目或记录
- cache:缓存
- incrementally :逐步增量地
- fixed:固定的
- anomaly:异常
- quantify :量化
- access:访问
- specifically:具体而言
- gaussian distribution:高斯分布
- tune:调整
- typically:通常情况下
- leverage:利用、借助、充分利用
- heterogeneity:异质性
- homogeneity:同质性
- CTI:cyber threat intelligence
- metaschema:元模式是一种描述数据模型的抽象结构,它定义了数据元素之间的关系、属性和约束。
- Risk Assessment:风险评估
- Zero Trust:一种安全模型,不信任内部或外部网络中的任何用户或实体,要求始终进行验证和授权。
- Trojan Horse:木马
- Lateral Movement:APT攻击者在受感染的网络中移动,以获取更多系统的访问权限。
- Social Engineering:社会工程学 ,是一种利用心理和人际交往技巧来欺骗、诱骗和伪装,从而获取用户信息、访问权限或其他机密信息的攻击方法。它利用人类的社会行为和心理弱点,而不是直接针对计算机系统的漏洞
社会工程学,好早好早之前就听过黑客利用心理学来实行攻击。
- Phishing:钓鱼;通过伪装合法机构或个人,欺骗受害者提供敏感信息的攻击方式
- Pretexting:预文本攻击;伪装成他人,以虚构的故事或理由获取目标信息
- Coercion:胁迫;使用威胁、恐吓或其他压力手段来迫使受害者执行操作
- Tailgating:尾随攻击;攻击者跟随合法用户进入安全区域,获取未经授权的访问权限
- Reverse Social Engineering:
- Baiting:引诱攻击;以吸引受害者点击链接或下载附件的方式,传送恶意软件或获取信息。
- Escaping:脱字符;对输入的特殊字符进行转义,以防止被误解为SQL指令。
- Attack Vector:攻击向量
- Malicious Queries:恶意查询
- Authentication Bypass:身份验证绕过,就比如上面开头的例子
- field:字段;通常指代一个数据存储单元或变量,它用于存储特定类型的数据。在数据库中,“field” 是指表中的一个列,用于存储特定类型的数据,比如用户名、密码、日期等。在应用程序中,“field” 可能是用户输入的数据,如表单字段、输入框等。
- By tampering with input data:通过篡改输入数据
- trick:一种欺骗性的手段或技巧,攻击者使用这些手段来迷惑系统、用户或安全防御机制,以实施恶意行为或绕过安全措施
- breaches:安全违规或数据泄露事件
- validate:验证和检查
- adversary :潜在的对手、攻击者或敌对实体
- craft :指精心设计和制作恶意代码、攻击载荷或恶意软件的过程
- Worm Virus:蠕虫病毒 一种能够自我复制并传播到其他计算机的恶意软件,通常通过网络传播
- Self-Replication:自我复制;蠕虫病毒具有自我复制能力,可以在感染一个系统后,自动复制并传播到其他系统
- Propagation:传播;蠕虫病毒通过利用网络、漏洞或其他系统弱点来传播到其他计算机或设备
- Infection:感染;
- Email Worm:邮件蠕虫
- Virus Signature:病毒特征;用于识别蠕虫病毒的独特代码、行为或特征,常用于防病毒软件中的检测
- Botnet:僵尸网络;由一组被感染的计算机或设备组成的网络,由蠕虫病毒控制,用于执行恶意活动,如传播垃圾邮件或发起分布式拒绝服务(DDoS)攻击
- Backdoor:后门;蠕虫病毒可能会在感染系统上留下后门,以便攻击者可以随时访问和控制受感染的系统
欢迎关注:https://blog.csdn.net/hanhanwanghaha
网安小白成长ing
欢迎各位交流,一起进步。
相关文章:

SQL注入 ❤ ~~~ 网络空间安全及计算机领域常见英语单词及短语——网络安全(二)
SQL注入 ❤ 学网安英语 大白话讲SQL注入SQL注入原理1. 用恶意拼接查询进行SQL注入攻击2. 利用注释执行非法命令进行SQL注入攻击3. 利用传入非法参数进行SQL注入攻击4. 添加额外条件进行SQL注入攻击 时间和布尔盲注时间盲注(Time-Based Blind SQL Injection…...

【外卖系统】新增菜品
需求分析 在后台中,通过新增功能来添加一个新的菜品,在添加菜品时需要选择当前菜品所属的菜品分类,并且需要上传的菜品图片。 代码开发 需要添加的类和基本接口:实体类DishFlavor、Mapper接口DishFlavorMapper、业务层接口Dish…...

使用docker搭建GPT服务
不用ChatGPT账号,不用API,直接免费使用上官方原版的GPT4.0! 这个操作主要使用的是GitHub上的一个开源项目freegpt。 通过docker把这个项目打包到本地电脑上,直接就能使用上原版GPT4.0。 第一步:下载Docker 下载网址:docker.com 根据自己的电脑系统下载对应的版本即可 下…...

Qt项目---简单的计算器
在这篇技术博客中,我们将介绍如何使用Qt框架实现一个简单的计算器应用。我们将使用C编程语言和Qt的图形用户界面库来开发这个应用,并展示如何实现基本的算术操作。 项目设置 首先,我们需要在Qt Creator中创建一个新的Qt Widgets应用程序项目…...

Flutter游戏引擎Flame系列笔记 - 1.Flame引擎概述
Flutter游戏引擎Flame系列笔记 1.Flame引擎概述 - 文章信息 - Author: 李俊才(jcLee95) Visit me at: https://jclee95.blog.csdn.netEmail: 291148484163.com. Shenzhen ChinaAddress of this article:https://blog.csdn.net/qq_28550263/article/details/132119035 【介绍】…...

基于SpringBoot+Vue的地方美食分享网站设计与实现(源码+LW+部署文档等)
博主介绍: 大家好,我是一名在Java圈混迹十余年的程序员,精通Java编程语言,同时也熟练掌握微信小程序、Python和Android等技术,能够为大家提供全方位的技术支持和交流。 我擅长在JavaWeb、SSH、SSM、SpringBoot等框架…...

在java中操作redis_Data
1.引入依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-redis</artifactId></dependency> 2.配置Redis数据源 redis:host: ${sky.redis.host}port: ${sky.redis.port}password: ${sk…...

嵌入式开发学习(STC51-14-时钟)
内容 在数码管上显示时间,时分秒,格式为“XX-XX-XX”; DS1302时钟芯片介绍 简介 DS1302是DALLAS公司推出的涓流充电时钟芯片,内含有一个实时时钟/日历和31字节静态RAM,通过简单的串行接口与单片机进行通信…...

ES新特性部分
文章目录 Symbol创建使用拓展对象的方法直接添加 控制对象控制类型检查控制是否展开 遍历迭代器自定义遍历 生成器函数(实现异步编程)解决回调地狱 Promise连续读文件 SetMap类静态属性继承ES5ES6 GET与SET 数值Object方法模块化导入另一种导入 babel ES…...

数据结构——搜索二叉树
文章目录 一. 概念二. 二叉搜索树的操作1.查找2.插入3.删除(重点)4.遍历5.拷贝构造与析构 三.二叉搜索树的递归实现1.递归查找2.递归插入3.递归删除 四.二叉搜索树的性能分析五.二叉树搜索的应用六.源码 前言: 本章我们将认识一种新的二叉树—…...

3.3 Makefile的嵌套包含
一、Makefile包含子Makefile的示例 下面是一个示例Makefile和sub.mk的内容。 首先是sub.mk文件的内容: VAR := Hello from sub.mksay_hello:@echo $(VAR)然后是Makefile文件的内容: include sub.mkall: say_hellosay_hello:@echo "Hello from Makefile"在这个例…...

爬虫获取电影数据----以沈腾参演电影为例
数据可视化&分析实战 1.1 沈腾参演电影数据获取 文章目录 数据可视化&分析实战前言1. 网页分析2. 构建数据获取函数2.1 网页数据获取函数2.2 网页照片获取函数 3. 获取参演影视作品基本数据4. 电影详细数据获取4.1 导演、演员、描述、类型、投票人数、评分信息、电影海…...

网页版Java(Spring/Spring Boot/Spring MVC)五子棋项目(二)前后端实现用户的登录和注册功能【用户模块】
网页版Java五子棋项目(二)前后端实现用户的登录和注册功能【用户模块】 在用户模块我们要清楚要完成的任务一、MyBatis后端操作数据库1. 需要在数据库创建用户数据库1. 用户id2. 用户名3. 密码4. 天梯积分5. 总场数6. 获胜场数 2. 创建用户类User和数据库…...

2023年华数杯数学建模A题思路代码分析 - 隔热材料的结构优化控制研究
# 1 赛题 A 题 隔热材料的结构优化控制研究 新型隔热材料 A 具有优良的隔热特性,在航天、军工、石化、建筑、交通等 高科技领域中有着广泛的应用。 目前,由单根隔热材料 A 纤维编织成的织物,其热导率可以直接测出;但是 单根隔热…...

阿里云二级域名配置
阿里云二级域名配置 首先需要进入阿里云控制台的域名管理 1.选择域名点击解析 2.添加记录 3.选择A类型 4.主机记录设置【可以aa.bb或者aa.bb.cc】 到时候会变成:aa.bb.***.com 5.解析请求来源设置为默认 6.记录值 设置为要解析的服务器的ip地址 7.TTL 默认即…...

Webpack5 动态导入按需加载
文章目录 一、 什么是动态导入和按需加载?二、 具体用法示例二、 总结 一、 什么是动态导入和按需加载? 传统上,在Webpack中,我们使用import语句可以在代码中静态地导入模块。这意味着所有的模块都会在构建时被打包到bundle中。然…...

【Linux操作系统】Ubuntu和center两个Linux发行版本中指令的区别
Ubuntu和center是Linux的两个发行版本,本文将详细介绍两个发行版的使用命令区别,分析两者的优缺点。 文章目录 常见的区别:细节差异:两个发行版本各自的优点和缺点Ubuntu 的优点:Ubuntu 的缺点:CentOS 的优…...

c++基本数据结构
void insert(const node *head, node *p) {node *x, *y;yhead;do{xy;yx->next;} while ((y!NULL) && (y->value < p->value);x->nextp;p->nexty; } 二.栈 (1) 栈的实现! 操作规则:先进后出,先出后进。 int stack[N], top0; /…...

路由器DHCP实验
拓扑图 配置 # 配置ip地址并开启dhcp [Huawei]int g0/0/0 [Huawei-GigabitEthernet0/0/0]ip addr 192.168.1.1 255.255.255.0 [Huawei-GigabitEthernet0/0/0]dhcp enable## 配置dns地址 [Huawei-GigabitEthernet0/0/0]dhcp dns-list 192.168.1.5## 指定某个接口开通DHCP 功能…...

Linux 电源子系统之充电、放电、低功耗
在嵌入式产品中,有三个重要模块:充电、放电、低功耗。 1、充电 charging 1、开关电源基本原理 2、线性充电和开关电源硬件电路图分析 3、Battery_Charging_v1.2 spec 4、typec spec 5、typec-PD spec 6、Uevent 在 Android 层的实现 7、battery service 监听 uevent 事件以…...

捕捉时刻:将PDF文件中的图像提取为个性化的瑰宝(从pdf提取图像)
应用场景: 该功能的用途是从PDF文件中提取图像。这在以下情况下可能会很有用: 图片提取和转换:可能需要将PDF文件中的图像提取出来,并保存为单独的图像文件,以便在其他应用程序中使用或进行进一步处理。例如ÿ…...

【基础类】—HTTP协议类
一、HTTP协议的主要特点 简单快速:每个资源URI是固定的,访问某个资源输入URI即可灵活:在每一个HTTP协议中,请求头部分有一个数据类型,通过一个HTTP协议可以完成不同的数据类型传输无连接:连接一次就会断开…...

【Qt高级】QThread与QTimer组合使用引出的信号槽执行在哪个线程的思考【2023.08.06】
源码见 testQThread_QTimer… Qt 版本5.6.3 视频讲解:https://www.bilibili.com/video/BV15P411C79i/ 链接: 视频讲解 简介 想法很单纯,就是主线程启动一个子线程,子线程里启动一个定时器,定时执行一些任务,然鹅实际开…...

用于大型图像模型的 CNN 内核的最新内容
一、说明 由于OpenAI的ChatGPT的巨大成功引发了大语言模型的繁荣,许多人预见到大图像模型的下一个突破。在这个领域,可以提示视觉模型分析甚至生成图像和视频,其方式类似于我们目前提示 ChatGPT 的方式。 用于大型图像模型的最新深度学习方法…...

索尼电视怎么完全关机
索尼电视怎么完全关机 当用户想要关闭索尼电视时,可能会遇到一些问题。例如,他们可能会遇到如何完全关闭电视的问题。在本文中,我们将介绍如何完全关闭索尼电视。 首先,您需要找到索尼电视的电源按钮。通常,该按钮位…...

AI介绍——chat gpt/文心一言/claude/bard/星火大模型/bing AI
AI体验 1. AI 介绍(注册和使用)1.1 Chat GPT1.2 文心一言1.3 Slack 上的 Claude1.3.1 Claude 介绍1.3.2 Claude 使用 1.4 Google的Bard1.4.1 Bard 介绍1.4.2 Bard 使用 1.5 科大讯飞的星火大模型1.5.1 星火大模型 介绍1.5.2 星火大模型 使用 1.6 new bin…...

C++ 访问控制——公有继承、私有继承、保护继承
派生类继承了基类的全部数据成员和除了构造函数和析构函数之外的全部函数成员,但是这些成员的访问属性在派生的过程中是可以调整的。从基类继承的成员,其访问属性由继承方式控制。 基类的成员有public(公有)、protectedÿ…...

python性能调试
py-spy生成cpu火焰图 ft5.svg env/xxxx/bin pid26443$env/py-spy record -o /tmp/$f --pid $pid --nativememray实时查看内存 env/xxxx/bin$env/python -m memray run --live --trace-python-allocators --native run_demo.pymemray生成内存火焰图报告 frun_demo_042.bin en…...

738. 单调递增的数字
738. 单调递增的数字 当且仅当每个相邻位数上的数字 x 和 y 满足 x < y 时,我们称这个整数是单调递增的。 给定一个整数 n ,返回 小于或等于 n 的最大数字,且数字呈 单调递增 。 示例 1: 输入: n 10 输出: 9示例 2: 输入: n 1234 输出…...

ssh安全远程管理
目录 1、什么是ssh 2、ssh登陆 3、ssh文件传输 1、什么是ssh ssh是 Secure Shell 的缩写,是一个建立在应用层上的安全远程管理协议。ssh 是目前较为可靠的传输协议,专为远程登录会话和其他网络服务提供安全性。利用ssh 协议可以有效防止远程管理过程中…...