白日梦怎么做的网站/360优化大师下载官网
导语
什么是 Web 安全?我又该如何入门学习它呢?学习过程中又应注意哪些问题呢?...
或许你的心中有着这样的疑问、不过别着急,本文会为你一一解答这些问题。
正文
定义
Web 安全,顾名思义便是由保障 Web 应用能够持续安全运行而衍生出的一个分支领域。
Web 应用指的是一个网站的前端页面到后端服务,可以粗略的理解为一个网站及其配套的相关服务,该领域中常见
漏洞有 SQL 注入漏洞,XSS 漏洞,CSRF 漏洞等等,漏洞种类多样,趣味性强,较为适合新手入门。
下面为你介绍 Web 安全方面的常见漏洞,以下讲解主要从原理角度出发,旨在帮助新手朋友更好的理解相关漏洞,具体技术细节暂不讨论。
常见漏洞
SQL 注入(SQL Injection)
网站,也就是 web 应用中往往会涉及到数据的查询与修改,对数据进行操作则需要用到 SQL 语言(结构化查询语言 (Structured Query Language) 简称 SQL,是一种特殊目的的编程语言)。
网站在使用 SQL 查询数据时,用户输入的信息或提交的参数(比如你在使用百度时输入的 “关键词”,登录某些网站时提交的账户密码..)将会参与到 SQL 数据查询的过程中,一旦用户提交了有害数据,便有可能对网站运行产生危害。
将有害数据 “注入” 到 SQL 查询过程之中,这也正是 “SQL 注入” 得名的缘由。
SQL 注入漏洞往往会导致数据泄露,例如前些年爆出的沸沸扬扬的” 社工库 ",” 人 rou" 搜索,全球数十亿密码泄露等事件,他们的背后或多或少有着 SQL 注入的影子。
SQL 注入的定义为:
当 Web 应用向后台数据库传递 SQL 语句进行数据库操作时。如果对用户输入的参数没有经过严格的过滤处理,那么攻击者就可以构造特殊的 SQL 语句,直接输入数据库进行执行,获取或修改数据库中的数据。
XSS 跨站脚本攻击(Cross-Site Scripting,XSS)
同样是由于网站对于用户的输入内容没有进行严格的过滤处理,一些恶意的脚本代码被用户的浏览器执行而引发了 XSS 漏洞。
一个网站的呈现是基于 HTML,CSS,JS 等脚本语言的,浏览器的作用是什么?简单来说便是将只有计算机才能 “读懂”的脚本语言及代码渲染成我们所看到的的图像与文字。
这里以百度为例。在与架设着网站的服务器通信时,我们实际上收到的是使用 HTML 等语言编写的源代码,浏览器会将该源代码 “翻译”出来。
(浏览器将下方的源代码 “翻译” 成 “百度搜索” 的页面)
如果我们能利用网站的某些缺陷,将自行构造的恶意脚本代码‘’注入” 到网站源代码之中,在别的用户在浏览网页时,我们构造的恶意代码便会被浏览器 “翻译” 出来,造成危害(Cookie 泄露,键盘记录等),这便形成了 XSS 漏洞。
CSRF 跨站请求伪造(Cross Site Request Forgery)
该漏洞往往不直接攻击网站服务器,而是冒充用户在站内的正常操作以达到攻击目的。我们在与网站进行交互操作时,绝大多数操作是基于浏览器与网站服务器的通信请求的,比如我们会在某些购物网站下商品订单,给指定用户转账,或者查询自己的考试成绩。
如果能够在用户没有察觉的情况下,“悄无声息” 通过浏览器伪造一些请求操作,进而产生对用户有害的攻击行为,那么便形成了 CSRF 漏洞。
上文提到过,XSS 漏洞可以在用户不知情的情况下执行恶意操作,如果我们在 XSS 攻击代码中包含伪造好的特定请求呢?这便与 CSRF 漏洞不谋而合。所以,XSS 与 CSRF 常相配合使用,威力巨大。
防范 CSRF 漏洞,需要添加 token 或 referer 来防御,云影安全后续会对此进一步讲解。
DDOS 分布式拒绝攻击 (Distributed Denial of Service)
起源于二十世纪九十年代,历经二十多年发展而经久不衰,DDoS 攻击已经成为网络安全领域影响最为深远的威胁之一。
严格地来讲,DDOS 并不完全归属于 Web 安全的范畴,凡是对外提供服务的服务器或主机都存在被 DDOS 攻击的风险,但 DDOS 攻击在 Web 领域较为常见且危害大,我们在这里加以讲解。
那么什么是 DDOS 攻击呢?如果多台主机对目标网站或服务器发送大量请求,超出了该网站或服务器的处理能力上限,导致服务瘫痪,这种行为便可以称作 DDOS 攻击。
举一个较为经典的例子,假设一个餐厅最多可以同时容纳 50 人就餐,假设在极短时间内该餐厅涌入成百上千的顾客,该餐厅的正常就餐秩序必然会受到毁灭性的冲击。
DDOS 攻击如今已发展出多种攻击模式与手段,目前还没有一个较为完美的应对策略,关键点在于精心发动的 DDOS攻击往往会利用合理的服务请求来占用过多的服务资源,难与正常用户的请求相区分,从而使服务器无法处理合法用户的指令。
方法论
孤帆终究要起航,侠客也要去闯荡。在你开始踏上 Web 安全之路前,我们愿与你分享一些在探索学习中可能会有所帮助的心得与经验。
1. 亲手实践
- 纸上得来终觉浅,绝知此事要躬行。
- 在学习漏洞原理或是利用技巧时,最好不要止步于只看懂技术文章。相关的介绍文章往往以讲解思路为主,为保证文章整体的连贯性,部分技术细节会被忽略掉。例如程序的运行环境,设备的网络情况以及相关应用组件的具体版本号。
- 然而对于初学者来说,这些技术细节同样至关重要,如果没有亲手实践过,亲手复现出相同的漏洞或利用技巧,你永远不会接触到那些被忽视的种种细节。而细节决定成败,对漏洞利用过程的残缺理解会对进一步的学习探索造成难以估量的影响。
- 同时,动手操作也有利于巩固对于所学知识的理解与记忆,加深印象。漏洞种类繁多,差异化的利用条件同样决定着漏洞利用的成功与否,因此在动手实践复现漏洞的同时,还需要完整的笔记记录。
2. 构建体系
- 什么是体系?体系的本质是各个知识点的灵活串联与应用。在体系里,知识不再是孤零零散落在大脑各处信息点,而是互相补充互相协作而成的系统化的有机整体。
- 其实这并不难理解。举个简单的例子,假如现在有一篇中文技术文档放在面前,虽然我们并不是专业人士,但将这份文档读完还是可以做到的,但如果换一个不懂中文的外国人来看这篇文章,那么他连阅读都无法完成。我们之所以可以将一篇不能完全理解的专业文章看完,是因为我们有一定的语文基础知识。
- 也就是说,在我们的大脑里,储存着识字的能力。我们可以将这些已经拥有的能力整合在知识体系中。这样的话,当我们去学习新知识时,完全可以从构建好的体系里,找到已经形成的能力。
- 好处即,完全陌生的知识会被分解形成一些小的知识点。然后再联系体系中已有的能力,去逐一攻克这些陌生的难题。
3. 分享交流
- 什么是黑客?真正的黑客可能与大多数人所理解的有所差异。黑客,由英语 Hacker 音译出来的,狭义是指专门研究、发现计算机和网络漏洞的计算机爱好者。根据黑客的原始定义,黑客对计算机有着狂热的兴趣和执着的追求,不断推动着计算机和网络的发展与完善。显而易见,黑客与网络安全紧密相关。
- 黑客精神是关于开放的精神。而黑客行为是基于团队的,只有开放才能让参与者们发挥出最大的能量,去修补,去改造。互联网上最有价值行为就是「奉献」,技术在奉献中获得了进步,知识在共享中得到了丰富。“分享交流” 无疑是构成互联网这座大厦的基石,只有知识共享才能推动我们不断向前走。逛一逛社区,分享些自我学习的心得,于人于己,都是大有裨益的。
相关文章:

网络安全(黑客)零基础入门
导语 什么是 Web 安全?我又该如何入门学习它呢?学习过程中又应注意哪些问题呢?... 或许你的心中有着这样的疑问、不过别着急,本文会为你一一解答这些问题。 正文 定义 Web 安全,顾名思义便是由保障 Web 应用能够持续…...
Al Go: 蒙特卡洛树搜索(MCTS)简介
目录 1. 前言 1.1 Minimax 1.2 剪枝 1.3 蒙特卡洛树搜索 1.4 为什么随机走子会可行呢? 2. vanilla Monte Carlo tree search 3. UCT-based trade-off between exploitation and exploration 4. MCTS基本算法流程 5. Efficiency Through Expert Policies 6…...

Client-go操作Deployment
在工作中需要对kubernetes进行自定义资源的开发,操作K8s的资源肯定是必不可少的。K8s原生语言是用Go编写的,所以在CRD中使用client-go来操作资源。本次介绍一下使用client-go来操作Deployment。 1. 创建main函数 func main() {homePath : homedir.Home…...

设计模式——单例模式(懒汉和饿汉)
单例模式 一、概念 单例模式是一种对象创建型模式,使用单例模式,可以保证为一个类只生成唯一的实例对象。也就是说,在整个程序空间中,该类只存在一个实例对象。一个类只能有一个实例在生活中是很常见的,比如打印机程…...

详解——Vue3递归函数功能
在 Vue 3 中,递归函数是一种在组件中调用自身的技术。递归函数在解决树状数据结构、无限级分类、嵌套组件等情况下非常有用。以下是一个示例,展示如何在 Vue 3 中实现递归函数的功能、代码和原理: 1. 创建递归组件: 首先&#x…...

【VSCode】查看二进制文件
1.安装插件Hex Editor 2.打开二进制文件 3.执行Hex Editor命令...

C#设计模式之观察者模式
题目:假设你正在开发一个简单的新闻发布系统,该系统允许用户订阅不同的新闻频道,并在有新闻发布时向订阅者发送通知。使用观察者模式设计和实现该系统。观察者模式的相关概念和定义: 观察者模式是一种行为设计模式,它定…...

小红书攻略:爆款引流,如何在激烈竞争中脱颖而出?
小红书(RED)作为国内最具影响力的社交电商平台之一,是很多品牌运营者的首选之一。然而,在小红书的激烈竞争中,如何快速引流、吸引关注,成为了品牌运营者面临的挑战。本篇文章一秒推小编将为您介绍小红书运营…...

Ubuntu中的安装卸载及删除方法
说明:由于图形化界面方法(如Add/Remove... 和Synaptic Package Manageer)比较简单,所以这里主要总结在终端通过命令行方式进行的软件包安装、卸载和删除的方法。 一、Ubuntu中软件安装方法 1、APT方式 (1࿰…...

获取历史dokcer镜像项目,并上传gitlab,再打包镜像管理
今天遇到一个问题: 发现一个部署在Jenkins的脚本用的docker镜像是:test_project:v20191108,即这个项目是19年的一个版本,由于代码不断更新,用现在的最新代码运行该脚本,可能不能运行了,必须用19…...

【Go语言】Golang保姆级入门教程 Go初学者chapter3
Go语言 第三章 运算符 下划线“_”本身在Go中一个特殊的标识符,成为空标识符。可以代表任何其他的标识符,但是他对应的值就会被忽略 仅仅被作为站维度使用, 不能作为标识符使用 因为Go语言中没有private public 所以标记变量首字母大写代表其…...

网络防御(4)
一、结合以下问题对当天内容进行总结 1. 什么是IDS? 2. IDS和防火墙有什么不同? 3. IDS工作原理? 4. IDS的主要检测方法有哪些详细说明? 5. IDS的部署方式有哪些? 6. IDS的签名是什么意思?签名过滤器有什么…...

conda错误处理:ResolvePackageNotFound
当运行conda env create -f environment.yaml时出现"ResolvePackageNotFound"错误,这可能是由于环境配置文件中指定的依赖项无法找到或不可用。 错误消息中列出的依赖项包括pip20.3、python3.8.5和cudatoolkit11.3。 尝试以下解决方案: 更新…...

linux初学者小命令
linux初学者小命令 一.在正式学习linux命令之前需要先认识一下linux环境中命令是如何被执行的shell是一个属于linux内核的软件,在系统启动后加载进RAM(内存)内,每个用户通过终端登录系统后,就会运行。负责不间断的接收用户的输入,…...

宝尊电商短期前景堪忧,宝尊国际能否取得成功还有待验证
来源:猛兽财经 作者:猛兽财经 核心业务面临短期逆风 在2023年第一季度财报中,宝尊电商(BZUN)表示其电商业务(简称BEC)主要包括:品牌的门店运营、客户服务以及物流和供应链管理、IT和数字营销等增值服务”。…...

百川智能发布首个530亿参数闭源大模型,今年追上GPT-3.5
4月官宣创业,6月15日发布第一款7B开源模型,7月11日发布第二款13B、130亿参数开源模型。 平均保持2个月一个版本发布速度,8月8日,百川智能发布了创业以来的首个530亿参数闭源大模型——Baichuan-53B(以下简称“53B”&a…...

Redis的常用数据结构
StringListhashsetzset 1.字符串类型是Redis最基础的数据结构 使用场景: 缓存功能 Redis 作为缓存层,MySQL作为存储层,绝大部分请求的数据都是从Redis中获取。由于Redis具有支撑高并发的特性,所以缓存通常能起到加速读写和降低后端压力的作…...

深入JVM - JIT分层编译技术与日志详解
深入JVM - JIT分层编译技术与日志详解 文章目录 深入JVM - JIT分层编译技术与日志详解1. 背景简介2. JIT 编译器2.1. 客户端版本的编译器: C12.2. 服务端版本的编译器: C22.3. Graal JIT 编译器 3. 分层编译技术(Tiered Compilation)3.1. 汇聚两种编译器的优点3.2. 精准优化(Ac…...

临时文档2
java 中 IO 流分为几种? 按照流的流向分,可以分为输入流和输出流;按照操作单元划分,可以划分为字节流和字符流;按照流的角色划分为节点流和处理流。 Java Io流共涉及40多个类,这些类看上去很杂乱,但实际…...

[深度学习入门]PyTorch深度学习[数组变形、批量处理、通用函数、广播机制]
目录 一、前言二、数组变形2.1 更改数组的形状2.1.1 reshape2.1.2 resize2.1.3 T(转置)2.1.4 ravel2.1.5 flatten2.1.6 squeeze2.1.7 transpose 2.2 合并数组2.2.1 append2.1.2 concatenate2.1.3 stack 三、批量处理四、通用函数4.1 math 与 numpy 函数的性能比较4.2 循环与向量…...

男孩向妈妈发脾气爸爸言传身教
近日,广东的一个家庭中发生了一件引人深思的事情。 一个男孩因为游戏没有通关,向妈妈发脾气,结果被爸爸发现并带到一边教育。 爸爸对孩子说:“她凭什么要承受你给的负能量,凭什么你心情不好就可以对着她发脾气…...

uniapp实现自定义导航内容高度居中(兼容APP端以及小程序端与胶囊对齐)
①效果图如下 1.小程序端与胶囊对齐 2.APP端内容区域居中 注意:上面使用的是colorui里面的自定义导航样式。 ②思路: 1.APP端和小程序端走不同的方法,因为小程序端要计算不同屏幕下右侧胶囊的高度。 2.其次最重要的要清晰App端和小程序端…...

Python调用外部电商API的详细步骤
Python是一种高级编程语言,非常适合用于集成API,即应用程序编程接口。API通常是由网站和各种软件提供的接口,可以让不同的程序之间进行数据交换和通信。在Python中调用API,可以帮助我们轻松地获取数据,并将其整合到我们…...
什么是NVME
1. 概念 NVM Express(NVMe),或称非易失性内存主机控制器接口规范(Non-Volatile Memory express),,是一个逻辑设备接口规范。他是与AHCI类似的、基于设备逻辑接口的总线传输协议规范(相当于通讯协议中的应用层…...

交叉编译驱动和应用出现警告提示错误“cc1:all warnings being treated as errors”解决方法
最近新玩的rk3588的板子,编译驱动时出现了警告提示错误“cc1:all warnings being treated as errors”,导致编译失败,仔细看了一下,就是内部出现了一个警告,一个未使用的变量出现的警告,导致了驱动编译失败,但是如果这样其他驱动会不会也这样,然后就写了一个printk的de…...

基于nodejs+vue+uniapp微信小程序的短视频分享系统
开发语言 node.js 框架:Express 前端:Vue.js 数据库:mysql 数据库工具:Navicat 开发软件:VScode 3.1小程序端 用户注册页面,输入用户的个人信息点击注册即可。 注册完成后会返回到登录页面,用户输入自己注…...

ElasticSearch:环境搭建步骤
1、拉取镜像 docker pull elasticsearch:7.4.0 2、创建容器 docker run -id --name elasticsearch -d --restartalways -p 9200:9200 -p 9300:9300 -v /usr/share/elasticsearch/plugins:/usr/share/elasticsearch/plugins -e "discovery.typesingle-node" elasti…...

剑指 Offer 37. 序列化二叉树
文章目录 题目描述简化题目思路分析 题目描述 请实现两个函数,分别用来序列化和反序列化二叉树。 你需要设计一个算法来实现二叉树的序列化与反序列化。这里不限定你的序列 / 反序列化算法执行逻辑,你只需要保证一个二叉树可以被序列化为一个字符串并且将…...

如何快速完成MySQL数据的差异对比|NineData
在现代商业环境中,数据库是企业存储核心数据的重要工具,而 MySQL 作为最受欢迎的关系型数据库管理系统,广泛应用于各行各业。在容灾、数据迁移、备份恢复等场景下,为了确保两端或多端之间数据的一致性,通常需要对数据进…...

Vue3项目中将html元素转换为word
下载插件 html转word插件 pnpm i --save html-docx-js-typescript生成临时链接 pnpm i file-saver代码部分 html部分,为要下载的部分用id做唯一标识 <div :id"mode-${chart.id}"><pre><VueShowdown :markdown"chart.content&quo…...