web常见的攻击方式
web攻击(webAttack)是针对用户上网行为或网站服务器等设备进行攻击的行为,如植入恶意代码、修改网站权限、获取网站用户隐私等等,即使是代码在的很小的bug也有可能导致隐私信息被泄漏,站点安全就是保护站点不受未授权的访问、使用、修改和破坏而采取的行为或实践,我们常见的web攻击方式有:
XSS(cross site scripting)跨站脚本攻击
CSRF(cross-site request forgery)跨站请求伪造
SQL注入攻击
1、XSS
XSS(cross site scripting)跨站脚本攻击:允许攻击者将恶意代码植入到提供给其他用户使用的页面中,XSS涉及三方,即攻击者、客户端和web应用,XSS攻击的目标是为了盗取存储在客户端的cookie或者其他网站用于识别客户端身份的敏感信息,一旦获取到合法的用户信息后,攻击者可以假冒合法用户与网站进行交互。
根据攻击的来源,XSS可以分为反射型、存储型、DOM型。
反射型:
攻击步骤:
1、攻击者构造出特殊的URL,其中包含恶意代码;
2、用户打开带有恶意代码的URL时,网站服务器将恶意代码从URL中抽取,拼接在HTML中返回给浏览器;
3、用户浏览器收到相应后解析执行,混在其中的恶意代码也被恶意执行;
4、恶意代码窃取用户数据并发送到攻击者的网站,或者冒充用户行为,调用目标网站接口执行攻击者指定的操作。
反射型XSS与存储型XSS的区别是,存储型的恶意代码存在数据库里,反射型的恶意代码存在URL里。
反射型XSS漏洞常见于通过URL传递参数的功能,如网站搜索、跳转等。
由于需要用户主动打开恶意的URL才能生效,攻击者往往会结合多种手段有道用户点击。
<input type="text" value="<%= getKeyWord('keyWord') %>">
<button>搜索</button>
<div>
您搜索的关键字是:<%= getKeyWord('keyWord') %>
</div>
// 如果用户输入“><script> alert('XSS');</script>, 拼接到HTML中返回给浏览器
<input type="text" value=""><script> alert('XSS');</script>">
<button>搜索</button>
<div>
您搜索的关键字是:“><script> alert('XSS');</script>
</div>
// 浏览器无法识别<script> alert('XSS');</script>是恶意代码,因而将其执行
存储型:
攻击步骤:
1、攻击者将恶意代码提交到目标网站的数据库中;
2、用户打开目标网站时,网站服务器将恶意代码从数据库中取出,拼接在HTML中返回给浏览器;
3、用户浏览器接收到响应后解析执行,混在其中的恶意代码也被执行;
4、恶意代码窃取用户的数据并发送到攻击者的网站,或者冒充用户行为,调用目标网站接口执行攻击者的指定操作。
这种攻击常见于带有用户保存数据的网站功能,如论坛发帖、商品评论、用户私信等。
DOM型:
攻击步骤:
1、攻击者构造出特殊的URL,其中包含恶意代码;
2、用户打开带有恶意代码的URL;
3、用户浏览器接收到响应后,解析执行,前端JavaScript取出URL中的恶意代码并执行;
4、恶意代码窃取用户数据并发送到攻击者的网站,或者冒充用户行为,调用目标服务器接口执行攻击者指定的操作。
DOM型跟前两种的区别是,DOM型XSS攻击中,取出和执行恶意代码由浏览器端完成,属于前端JavaScript自身安全漏洞而其他两种XSS都属于服务端的安全漏洞。
var html = "Image" + parseInt(num) + "<br/>"
html += "<img src='/level3/cloud" + num + ".jpg'/>"
$('#content').html(html )
// 如果num传入的值从url中取的
num = unescape(self.location.hash.substr(1))
// 此时在hash后面输入恶意代码 'onerror="alert()",src属性引用了不正确的地址会触法error,并执行脚本
SQL注入
是通过将恶意的sql查询或添加语句插入到应用的输入参数中,再在后台sql服务器上执行进行的攻击。
流程如下:
1、找出SQL漏洞的注入点;
2、判断数据库的类型与版本;
3、拆解用户名和密码;
4、利用工具查找web后台管理入口;入侵和破坏。
预防方式:
严格检查输入变量的类型与格式;
过滤和转译特殊字符;
对当问数据库的web应用程序采用web应用防火墙;
CSRF
CSRF跨站请求伪造:攻击者诱导受害者进入第三方网站,在第三方网站中,向被攻击网站发送跨站请求。
相关文章:
web常见的攻击方式
web攻击(webAttack)是针对用户上网行为或网站服务器等设备进行攻击的行为,如植入恶意代码、修改网站权限、获取网站用户隐私等等,即使是代码在的很小的bug也有可能导致隐私信息被泄漏,站点安全就是保护站点不受未授权的…...
【微信小程序 + 高德地图API 】键入关键字搜索地址,获取经纬度等
前言 又到熟悉的前言,接到个需求,要引入高德地图api,我就记录一下,要是有帮助记得点赞、收藏、关注😁。 后续有时间会慢慢完善一些文章:(画饼时间) map组件自定义气泡、mark标记点…...
java中如何优雅处理多租户系统的查询?
多租户系统通常是指一个应用服务多个客户(租户),每个租户的数据需要隔离,确保数据安全和隐私。处理这样的系统需要考虑数据隔离、查询效率、代码的可维护性等方面。 首先,我应该明确多租户的实现方式。常见的多租户数据…...
排序算法之线性时间排序:计数排序,基数排序,桶排序详解
排序算法之线性时间排序:计数排序、基数排序、桶排序详解 前言一、计数排序(Counting Sort)1.1 算法原理1.2 代码实现(Python)1.3 性能分析1.4 适用场景 二、基数排序(Radix Sort)2.1 算法原理2…...
Linux | mdadm 创建软 RAID
注:本文为 “Linux mdadm RAID” 相关文章合辑。 略作重排,未整理去重。 如有内容异常,请看原文。 Linux 下用 mdadm 创建软 RAID 以及避坑 喵ฅ・ﻌ・ฅ Oct 31, 2023 前言 linux 下组软 raid 用 mdadm 命令,multi…...
物联网工程毕业设计课题实践指南
1. 智能家居控制系统 1.1 基于ZigBee的智能家居控制 实践过程 硬件选型主控:CC2530/CC2531传感器:温湿度、光照、人体红外执行器:继电器、电机、LED灯系统架构 A[传感器层] --> B[ZigBee网络] B --> C[网关] C --> D[云平台] D --> E[手机APP] 开…...
CodeEdit:macOS上一款可以让Xcode退休的IDE
CodeEdit 是一款轻量级、原生构建的代码编辑器,完全免费且开源。它使用纯 swift 实现,而且专为 macOS 设计,旨在为开发者提供更高效、更可靠的编程环境,同时释放 Mac 的全部潜力。 Stars 数21,719Forks 数1,081 主要特点 macOS 原…...
LLaMA-Factory 微调 Qwen2-7B-Instruct
一、系统环境 使用的 autoDL 算力平台 1、下载基座模型 pip install -U huggingface_hub export HF_ENDPOINThttps://hf-mirror.com # (可选)配置 hf 国内镜像站huggingface-cli download --resume-download shenzhi-wang/Llama3-8B-Chinese-Chat -…...
mac本地docker镜像上传指定虚拟机
在Mac本地将Docker镜像上传至指定虚拟机的完整步骤 1. 在Mac本地保存Docker镜像为文件 通过docker save命令将镜像打包为.tar文件,便于传输至虚拟机。 # 示例:保存名为"my_image"的镜像到当前目录 docker save -o my_image.tar my_image:ta…...
从代码学习深度学习 - 风格迁移 PyTorch版
文章目录 前言方法 (Methodology)阅读内容和风格图像预处理和后处理抽取图像特征定义损失函数内容损失 (Content Loss)风格损失 (Style Loss)全变分损失 (Total Variation Loss)总损失函数初始化合成图像训练模型总结前言 大家好!欢迎来到我们的深度学习代码学习系列。今天,…...
软件设计师考试《综合知识》设计模式之——工厂模式与抽象工厂模式考点分析
软件设计师考试《综合知识》工厂模式与抽象工厂模式考点分析 1. 分值占比与考察趋势(75分制) 年份题量分值占总分比例核心考点2023111.33%抽象工厂模式适用场景2022222.67%工厂方法 vs 抽象工厂区别2021111.33%工厂方法模式结构2020111.33%简单工厂模式…...
轻量级离线版二维码工具的技术分析与开发指南
摘要 本文介绍一款基于本地化运行的轻量级二维码处理工具。该工具采用标准QR Code规范实现,具备完整的生成与识别功能。通过实测验证其核心功能表现及适用场景。 主要功能模块分析 编码生成模块:支持文本/URL等多种数据类型转换;提供尺寸调…...
中级网络工程师知识点4
1.Portal认证:可以以网页的形式为用户提供身份认证和个性化信息服务。如台式电脑,笔记本,手机等智能终端 2.MAC认证:无法安装和使用802.1X客户端软件的终端,如打印机,门禁等非智能终端 3.CAPWAP隧道&…...
机器学习--特征工程具体案例
一、数据集介绍 sklearn库中的玩具数据集,葡萄酒数据集。在前两次发布的内容《机器学习基础中》有介绍。 1.1葡萄酒列标签名: wine.feature_names 结果: [alcohol, malic_acid, ash, alcalinity_of_ash, magnesium, total_phenols, flavanoi…...
LeetCode 每日一题 2025/5/12-2025/5/18
记录了初步解题思路 以及本地实现代码;并不一定为最优 也希望大家能一起探讨 一起进步 目录 5/12 2094. 找出 3 位偶数5/13 3335. 字符串转换后的长度 I5/14 3337. 字符串转换后的长度 II5/15 2900. 最长相邻不相等子序列 I5/16 2901. 最长相邻不相等子序列 II5/17 …...
Unreal 从入门到精通之SceneCaptureComponent2D实现UI层3D物体360°预览
文章目录 前言SceneCaptureComponent2D实现步骤新建渲染目标新建材质UI控件激活3DPreview鼠标拖动旋转模型最后前言 我们在(电商展示/角色预览/装备查看)等应用场景中,经常会看到这种3D展示的页面。 即使用相机捕获一个3D的模型的视图,然后把这个视图显示在一个UI画布上,…...
电机控制杂谈(25)——为什么对于一般PMSM系统而言相电流五、七次谐波电流会比较大?
1. 背景 最近都在写论文回复信。有个审稿人问了一个问题——为什么对于一般PMSM系统而言相电流五、七次谐波电流会比较大?同时,为什么相电流五、七次谐波电流会在dq基波旋转坐标系构成六次谐波电流? 回答这个问题挺简单的,但在网…...
多模态大语言模型arxiv论文略读(七十八)
AID: Adapting Image2Video Diffusion Models for Instruction-guided Video Prediction ➡️ 论文标题:AID: Adapting Image2Video Diffusion Models for Instruction-guided Video Prediction ➡️ 论文作者:Zhen Xing, Qi Dai, Zejia Weng, Zuxuan W…...
项目中把webpack 打包改为vite 打包
项目痛点: 老vu e-cli1创建的项目,项目是ERP系统集成了很多很多管理,本地运行调试的时候,每次修改代码都需要等待3分钟左右的编译时间,严重影响开发效率. 解决方案: 采用vite构建项目工程 方案执行 第一步 使用vite脚手架构件一个项目,然后把build文件自定义的编译逻辑般到…...
【C语言】易错题 经典题型
出错原因:之前运行起来的可执行程序没有关闭 关闭即可 平均数(average) 输入3个整数,输出它们的平均值,保留3位小数。 #include <stdio.h> int main() {int a, b, c;scanf("%d %d %d", &a, &…...
哈夫曼编码:数据压缩的优雅艺术
哈夫曼编码:数据压缩的优雅艺术 在数字信息时代,数据压缩技术扮演着至关重要的角色。其中,哈夫曼编码(Huffman Coding)作为一种经典的无损压缩算法,以其简洁优雅的设计和卓越的压缩效率而闻名。本文将通过…...
说一说Node.js高性能开发中的I/O操作
众所周知,在软件开发的领域中,输入输出(I/O)操作是程序与外部世界交互的重要环节,比如从文件读取数据、向网络发送请求等。这段时间,也指导项目中一些项目的开发工作,发现在Node.js运用中&#…...
扫描网络内所有设备的IP地址
arp 命令本身不能直接列出网络中所有 IP 地址,它只能显示本机 ARP 缓存中已知的 IP-MAC 映射,即:本机通信过的设备。 如果你想查询局域网中所有在线的 IP 地址,需要配合 ping 扫描或使用更强大的工具。以下是几种常见的方法&…...
web3 前端常见错误类型以及错误捕获处理
在Web3前端开发中,常见的错误类型包括用户拒绝交易、RPC节点超时、网络连接问题、智能合约调用错误等。正确捕获这些错误并提供友好的用户提示是提升用户体验的关键。以下是一些常见的Web3前端错误类型及其处理方法: 1. 用户拒绝交易 根据错误码 4001 …...
应用层协议简介:以 HTTP 和 MQTT 为例
文章目录 应用层协议简介:什么是应用层协议?为什么需要应用层协议?什么是应用层协议?为什么需要应用层协议? HTTP 协议详解HTTP 协议特点HTTP 工作的基本原理HTTP 请求与响应示例为什么 Web 应用基于 HTTP 请求&#x…...
LeetCode 39. 组合总和 LeetCode 40.组合总和II LeetCode 131.分割回文串
LeetCode 39. 组合总和 需要注意的是题目已经明确了数组内的元素不重复(重复的话需要执行去重操作),且元素都为正整数(如果存在0,则会出现死循环)。 思路1:暴力解法 对最后结果进行去重 每一…...
如何在 Windows 11 或 10 上安装 Fliqlo 时钟屏保
了解如何在 Windows 11 或 10 上安装 Fliqlo,为您的 PC 或笔记本电脑屏幕添加一个翻转时钟屏保以显示时间。 Fliqlo 是一款适用于 Windows 和 macOS 平台的免费时钟屏保。它也适用于移动设备,但仅限于 iPhone 和 iPad。Fliqlo 的主要功能是在用户不活动时在 PC 或笔记本电脑…...
Linux云计算训练营笔记day08(MySQL数据库)
Linux云计算训练营笔记day08(MySQL数据库) 目录 Linux云计算训练营笔记day08(MySQL数据库)数据准备修改更新update删除delete数据类型1.整数类型2.浮点数类型(小数)3.字符类型4.日期5.枚举: 表头的值必须在列举的值里选择拷贝表复…...
计算机视觉与深度学习 | matlab实现EMD-CNN-LSTM时间序列预测(完整源码、数据、公式)
EMD-CNN-LSTM 一、完整代码实现二、核心公式说明1. **经验模态分解(EMD)**2. **1D卷积运算**3. **LSTM门控机制**4. **损失函数**三、代码结构解析四、关键参数说明五、性能优化建议六、典型输出示例以下是用MATLAB实现EMD-CNN-LSTM时间序列预测的完整方案,包含数据生成、经…...
【vue】【环境配置】项目无法npm run serve,显示node版本过低
解决方案:安装高版本node,并且启用高版本node 步骤: 1、查看当前版本 node -v2、配置nvm下载镜像源 1)查看配置文件位置 npm root2)找到settings.txt文件 修改镜像源为: node_mirror: https://npmmirro…...
