web 网络安全

Web网络安全是网络安全的一个重要分支,专注于保护Web应用程序、服务和网站免受各种网络威胁。学习Web网络安全涉及多个层面的知识和技能,以下是一些主要的学习领域:

在这里插入图片描述

一、XSS攻击

全称::Cross Site Script (跨站脚本)
危害::盗取用户信息、钓鱼、制造蠕虫等.
概念:黑客通过“HTML注入”篡改网页插入了恶意脚本当用户在浏览网页时,实现控制用户浏览器行为的一种攻击方式。
分类:存储型,反射型,DOM型。

存储型:黑客讲XSS脚本写在数据库中,用人请求查询的时候查询出XSS脚本并执行。
反射型: 访问携带XSS脚本的链接触发XSS.
DOM型: 访问携带XSS脚本的链接触发XSS

访问网站,出发XSS。我们可以查看源代码,安装火狐插件Friebug插件。
在这里插入图片描述

CSRF漏洞

全称:Cross-site request forgery (跨站请求伪造)
危害:执行恶意操作(“被转账”“被发垃圾评论”等)危制造蠕虫
概念:利用用户已登录的身份,在用户毫不知情的情况下
以用户的名义完成非法操作

点击劫持

点击劫持(Clickjacking)是一种网络攻击手法,攻击者通过欺骗用户点击看似无害的网页区域,实际上却触发了隐藏在其下的另一层网页上的按钮或链接,从而导致用户执行非预期的操作。这种攻击可以导致用户无意中泄露个人信息、授权访问权限或安装恶意软件。
原理
点击劫持的核心原理在于利用HTML的 < iframe > 标签。< iframe >允许网页内嵌其他网页,使得一个网页可以在另一个网页中显示。攻击者可以创建一个包含受害者网站的透明< iframe >,并将这个< iframe >放置在一个精心设计的页面上。页面的设计会让用户认为他们正在与顶层网页交互,而实际上他们的点击动作被定向到了< iframe >内部的网站上。
具体方法
点击劫持通常通过以下步骤实施:

1、创建透明覆盖层:攻击者使用透明或颜色匹配的元素覆盖在< iframe>之上,有时甚至可以使用图像来模仿顶层网站的外观,使得用户难以察觉底层的< iframe >。
2、定位和重叠:攻击者精确地定位< iframe>内的元素,使其与顶层网页上的按钮或链接对齐,这样用户在点击顶层按钮时,实际上是在点击< iframe>中的元素。
3、诱骗用户点击:攻击者可能使用各种社会工程技巧,如承诺奖励或提供有价值的内容,来诱使用户点击特定区域。

URL 跳转漏洞

URL跳转漏洞,也称为开放重定向(Open Redirect),是Web应用程序中常见的一种安全漏洞。这种漏洞发生在应用程序设计时未能正确验证或过滤用户提供的重定向URL,导致攻击者可以操纵重定向的目标,使用户被导向到恶意网站。

概念
URL跳转漏洞允许攻击者通过提供一个恶意URL,诱使应用程序将其作为重定向目标。由于用户是从一个看似可信的源开始的浏览过程,因此他们可能不会注意到URL的突然变化,或者即便注意到,也可能因为信任原始网站而继续浏览。这可以被用于实施各种攻击,如钓鱼、社会工程学攻击、身份盗窃等。

原理
应用程序通常会在某些操作完成后执行 URL重定向,比如登录后重定向到用户的主页,或者在表单提交后重定向到确认页面。在正常的逻辑中,应用程序会将用户重定向到预设或合法的URL。然而,当应用程序接受用户输入的URL作为重定向目标,并且没有对其进行有效的验证或过滤时,就会产生URL跳转漏洞。

实现方式

  • Header头跳转
  • Javascript跳转
  • META标签跳转

防护措施

1、白名单验证:只允许重定向到预定义的一组可信URL。
2、URL规范化:确保重定向的URL经过规范化处理,避免通过特殊字符或编码绕过验证。
3、输入过滤:对用户提供的URL进行严格过滤,禁止任何潜在的恶意输入。
4、使用HTTP状态码:使用恰当的HTTP重定向状态码(如302 Found)并确保重定向链的安全性。
5、教育用户:提高用户对URL跳转和钓鱼攻击的认识,教会他们识别和避免可疑的重定向

SQL注入

SQL Injection是一种常见的Web安全漏洞,攻击者通过在Web应用程序的输入字段中插入恶意的SQL代码,从而欺骗数据库执行非授权操作。这种攻击可以导致数据泄露、数据篡改或删除、服务器控制权的丧失,甚至可以导致整个数据库的丢失。

SQL注入的工作原理
在正常的SQL查询中,应用程序会构造一个SQL语句,并将用户输入作为参数插入到这个语句中。例如:

SELECT * FROM users WHERE username = 'admin' AND password = 'password';

SQL注入的类型
SQL注入可以分为几类,基于攻击的方式和目标的不同:

错误注入:通过触发错误信息来推断数据库结构和内容。
布尔注入:利用真/假响应来确定SQL查询的结果。
基于时间的注入:通过数据库的延时响应来判断SQL语句的真假。
联合查询注入:使用UNION语句来返回额外的查询结果。
堆叠注入:通过分号(;)或其它SQL语句结束符来执行额外的SQL命令。

如何防止SQL注入

参数化查询:使用预编译的语句和参数化查询,可以避免SQL语句和数据的混淆。
输入验证:对所有用户输入进行严格的验证和清理,确保只有合法的数据才能进入查询。
最小权限原则:应用程序使用的数据库账户应具有尽可能少的权限,以限制潜在损害。
使用安全函数库:使用专门设计来防止SQL注入的函数库或框架。
安全配置:确保数据库和Web服务器的安全配置,如禁用错误回显等。
定期审计和测试:定期进行代码审查和渗透测试,查找潜在的SQL注入漏洞。

命令注入

命令注入(Command Injection),是一种安全漏洞,通常出现在Web应用程序或其他软件中,其中攻击者可以利用未充分过滤的用户输入来执行任意的系统命令。这种类型的攻击允许攻击者在目标系统上执行恶意代码,这可能导致数据泄露、服务中断、权限提升或完全控制系统。

原理
命令注入通常发生在应用程序需要调用外部命令行接口(CLI)或系统功能的时候。例如,一个Web应用可能需要使用shell命令来生成一个文件或执行某种操作。如果应用程序在构建这些命令时直接使用了未经验证或清理的用户输入,那么攻击者就可以在输入中插入额外的命令,从而控制命令的执行。

防范措施
为了防止命令注入攻击,开发者可以采取以下措施:

1、参数化输入:使用参数化查询或类似的技术,避免直接将用户输入拼接到命令中。
2、输入验证:对所有用户输入进行严格的验证和清理,确保只接受预期格式的输入。
3、使用安全函数:避免使用危险的函数,如system(), exec(), passthru()等,转而使用更安全的替代方案。
4、最小权限原则:应用程序应使用最低权限的账户执行系统命令,以减少潜在的损害。
5、环境隔离:在沙箱环境中执行危险操作,限制命令执行的范围。
6、日志记录和监控:记录所有命令执行的日志,并监控异常活动,以便及时发现和响应攻击。
7、安全编码培训:定期对开发团队进行安全编码实践的培训,提高其安全意识

操作文件

操作文件漏洞,通常指的是Web应用程序中因不当处理用户上传、读取、修改或删除文件的请求而导致的安全漏洞。这类漏洞可以允许攻击者上传恶意文件、读取敏感信息、修改关键配置或删除重要文件,从而对系统造成严重的安全威胁。

1、文件上传漏洞:

  • MIME类型伪造:攻击者通过更改文件的MIME类型来绕过服务器的文件类型检查,上传恶意脚本或可执行文件。
  • 文件路径遍历:通过构造特殊的文件名(如…/)来上传文件到服务器的任意目录。
  • 后缀名绕过:服务器仅通过检查文件扩展名来判断文件类型,而忽视了文件的实际内容,攻击者可以通过双扩展名(如.jpg.php)来绕过限制。

2、文件读取漏洞:

  • 任意文件读取:允许攻击者读取服务器上的任意文件,包括但不限于配置文件、源代码、日志文件等,从而泄露敏感信息。

3、文件写入漏洞:

  • 任意文件写入:攻击者能够向服务器上的任意文件写入内容,可以用来植入webshell,进一步控制服务器。

4、文件删除漏洞:

  • 任意文件删除:攻击者可以删除服务器上的任意文件,包括重要的系统文件或备份文件,导致数据丢失或系统崩溃。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/789419.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

交叉熵损失函数的使用目的(很肤浅的理解)

第一种使用方法 import torch from torch import nn # Example of target with class indices loss nn.CrossEntropyLoss() input torch.randn(3, 5, requires_gradTrue) target torch.empty(3, dtypetorch.long).random_(5) output loss(input, target) output.backward(…

今天,纷享AI正式发布,开启智能CRM新纪元

纷享销客作为国产CRM中连续四年保持近40%增长的领先品牌&#xff0c;一直在探索AICRM领域的数字化变革。 7月10日&#xff0c;纷享AI产品正式上线。与通用大模型不同&#xff0c;纷享AI是在合规之下&#xff0c;开放性的接入各种大模型平台&#xff0c;并结合纷享销客在营销服…

百度搜索框制作HTML+CSS

样品图 自制效果图&#xff08;附注释&#xff09; <!DOCTYPE html> <html lang"en"><head><!-- 定义文档的字符编码为UTF-8&#xff0c;以支持中文等多语言字符 --><meta charset"UTF-8" /><!-- 设置页面在不同设备上的…

人形机器人头部结构设计

我又回来啦&#xff01;电机部分的教程会继续更新咯~ 前几天做了成图增材赛道&#xff0c;也算4个月以来本人做过最复杂的结构项目。 不知结果会怎么样&#xff0c;但我也尽全力啦&#xff01; 把说明书发在这里&#xff0c;STL已发GitHub&#xff0c;链接&#xff1a; zysampo…

探索东芝 TCD1304DG 线性图像传感器的功能

主要特性 高灵敏度和低暗电流 TCD1304DG 具有高灵敏度和低暗电流&#xff0c;非常适合需要精确和可靠图像捕捉的应用。传感器包含 3648 个光敏元件&#xff0c;每个元件尺寸为 8 m x 200 m&#xff0c;确保了出色的光灵敏度和分辨率。 电子快门功能 内置的电子快门功能是 T…

Java 期末速成

其他题 import java.util.*; public class Test {public static void main(String[] args) {Scanner scanner new Scanner(System.in);int arr[] new int[100];int value scanner.nextInt();int s scanner.nextLine(); // 键盘输入多个字符int result 0;System.out.print…

C++ 调用Halcon引擎,脚本调试代码

一&#xff0c;背景&#xff1a;C调用halcon最常见的方式便是转C代码&#xff0c;然后封装成函数或者类库。另外一种方式是调用Halcon脚本&#xff0c;不需要转换成C代码&#xff0c;Debug的时候&#xff0c;可以直接跳入halcon脚本&#xff0c;单步查看每一行算法执行情况&…

仓库的数据管理如何做?

在当今这个数字化飞速发展的时代&#xff0c;仓库作为供应链的核心环节&#xff0c;其数据管理的重要性日益凸显。一个高效、精准的仓库数据管理体系&#xff0c;不仅能够显著提升物流效率&#xff0c;降低运营成本&#xff0c;还能增强企业的市场竞争力。那么&#xff0c;仓库…

使用八股搭建神经网络

神经网络搭建八股 使用tf.keras 六步法搭建模型 1.import 2.train, test 指定输入特征/标签 3.model tf.keras.model.Sequential 在Squential,搭建神经网络 4.model.compile 配置训练方法&#xff0c;选择哪种优化器、损失函数、评测指标 5.model.fit 执行训练过程&a…

高压线束屏蔽效能测试之管中管法、线注入法

一、引言 上期推文介绍了高压线束屏蔽效能测试方法三同轴法&#xff0c;本篇文章将继续介绍高压线束相关测试方法——管中管法和线注入法。 二、管中管法 1、一般要求 管中管法参照IEC62153-4-7标准对高低压连接器进行零部件级屏蔽效能测试。在测试时&#xff0c;通过金属延长管…

安卓腾讯桌球多功能助手直装版

安卓13自测效果&#xff0c;安卓12-安卓12以下一定可以的&#xff0c;QQ登陆的话扫码登陆&#xff0c;两个手机&#xff0c;一个扫码&#xff0c;一个游戏&#xff0c;一个手机的话&#xff0c;你可以下载个虚拟机&#xff0c;然后本机直装&#xff0c;用虚拟机QQ扫码即可 微信…

使用资源编排 ROS 轻松部署单点网站——以 WordPress 为例

介绍 WordPress是一款免费开源的网站内容管理系统&#xff08;CMS&#xff09;&#xff0c;它可以帮助用户简单快捷地创建和管理自己的网站&#xff0c;包括博客、新闻网站、电子商务网站、社交网络等等。WordPress 有丰富的主题和插件库&#xff0c;使得用户可以轻松地为网站…

点线面推进未来智造

如今&#xff0c;宁波拥有门类齐全的制造业体系&#xff0c;形成了以石油化工、汽车及零部件、电工电器、纺织服装等为支柱的产业集群。 宁波工业的发展并非一蹴而就&#xff0c;蓝卓总经理谭彰详细解读了宁波制造业的发展历程与当下目标&#xff0c;从工业小市到工业大市、工业…

【深度学习】第5章——卷积神经网络(CNN)

一、卷积神经网络 1.定义 卷积神经网络&#xff08;Convolutional Neural Network, CNN&#xff09;是一种专门用于处理具有网格状拓扑结构数据的深度学习模型&#xff0c;特别适用于图像和视频处理。CNN 通过局部连接和权重共享机制&#xff0c;有效地减少了参数数量&#x…

阿一课代表今日分享之使用dnscat2 进行dns隧道反弹shell(直连模式linux对linux)

DNS介绍 DNS是域名系统(Domain Name System)的缩写&#xff0c;是因特网的一项核心服务&#xff0c;它作为可以将域名和IP地址相互映射的一个分布式数据库&#xff0c;能够使人更方便的访问互联网&#xff0c;而不用去记住能够被机器直接读取的IP数串。 DNS的记录类型有很多&a…

数据结构--二叉树收尾

1.二叉树销毁 运用递归方法 分类&#xff1a; 根节点左子树右子树&#xff08;一般都是这个思路&#xff0c;不断进行递归即可&#xff09; 选择方法&#xff08;分析)&#xff1a; 前序&#xff1a;如果直接销毁根就无法找到左子树右子树 中序&#xff1a;也会导致丢失其…

非关系型数据库(NoSQL)与 关系型数据库(RDBMS)的比较

非关系型数据库&#xff08;NoSQL&#xff09;与 关系型数据库&#xff08;RDBMS&#xff09;的比较 一、引言二、非关系型数据库&#xff08;NoSQL&#xff09;2.1 优势 三、关系型数据库&#xff08;RDBMS&#xff09;3.1 优势 四、结论 &#x1f496;The Begin&#x1f496;…

【ai_agent】从零写一个agent框架(四)用rust制作一个python的虚拟运行环境。

前言 为了增加框架的扩展性和适用性&#xff0c;我们要能够在流程节点中运行python脚本。 这个时候需要考虑几个问题&#xff1a; 1 为什么是python&#xff1f; 思考&#xff1a;老实说我并不喜欢python&#xff0c;我更倾向于lua这种短小轻快的脚本。在我之前写的规则引擎…

fm足球经理Football Manager 2022 for mac 下载安装包

《Football Manager 2022》&#xff08;足球经理2022&#xff09;是一款由Sports Interactive开发并由SEGA发行的足球管理模拟游戏。这款游戏让玩家扮演足球俱乐部的 manager&#xff08;经理&#xff09;&#xff0c;负责球队的所有管理工作&#xff0c;包括战术制定、球员转会…

优画质低功耗,空域GPU超分技术引领图像渲染新体验

随着大数据时代的发展&#xff0c;虚拟现实、增强现实等需要实时图像处理和计算的应用&#xff0c;对GPU加速引擎服务提出了新的挑战和机遇。 HarmonyOS SDK GPU加速引擎服务&#xff08;XEngine Kit&#xff09;提供的空域GPU超分能力&#xff0c;基于单帧输入图像&#xff0…