中国外协加工网免费/关键词优化是怎样收费的
前备知识:
Cookie和Session是Web开发中用于维持用户状态、跟踪用户会话的核心技术,它们的主要目的是在无状态的HTTP协议基础上实现有状态的用户交互。
**Cookie**:
- Cookie是一种由服务器发送到客户端(通常是用户的浏览器)的小型数据块。它以文本文件的形式存储在客户端,并在后续对同一服务器的请求中自动携带回服务器。
- **特点**:
- 存储容量有限:通常每个cookie大小限制为4KB左右。
- 安全性较低:因为存储在客户端,理论上可以被用户查看、修改或删除;并且在网络传输中如果不加密,容易被截获。
- 有效期可设置:可以设置为会话级别的(浏览器关闭时失效),也可以设置一个具体的过期时间。
- 可跨域访问控制:通过`SameSite`属性等机制控制是否允许跨域携带。- **用途**:
- 用户认证:例如保存登录状态标识符。
- 个性化设置:如用户偏好、主题选择等。
- 购物车功能:记录用户临时添加的商品信息。**Session**:
- Session是服务器端的一种技术,用于维护特定用户的信息集合,这些信息存储在服务器上,而不是客户端。
- **工作原理**:
- 当用户首次访问服务器时,服务器为其创建一个唯一的Session ID,并将这个ID通过Cookie或者URL重写的方式传递给客户端。
- 客户端在后续请求时,会将这个Session ID发送给服务器,服务器根据ID从内存、数据库或其他存储介质中查找对应的Session数据。
- 服务器通过验证Session ID的有效性来识别不同的用户会话。- **特点**:
- 数据安全:服务器端存储,相比Cookie更不易受到攻击和篡改。
- 存储空间大:不受限于4KB的大小限制,理论上可以根据服务器资源存储更多数据。
- 生命周期:Session默认生命周期通常依赖于服务器端配置,当用户一段时间内无活动后,Session可能会超时自动销毁。- **用途**:
- 用户认证和授权:保存登录用户的身份信息和权限数据。
- 保持会话状态:如购物车内容、页面间的跳转状态等。总结来说,Cookie与Session都是为了追踪用户状态而存在的,但Cookie是基于客户端存储的机制,而Session则是基于服务器端存储的机制。两者结合使用可以提供灵活且相对安全的用户会话管理方案。
xss简介
XSS(Cross-Site Scripting,跨站脚本攻击)是一种常见的Web应用程序安全漏洞。它允许恶意攻击者将恶意的客户端脚本(通常为JavaScript)注入到原本无害的网页中,当其他用户浏览这些页面时,嵌入其中的恶意脚本会在用户的浏览器上执行,从而可能窃取用户的敏感信息、模拟用户操作、破坏网站或者进行重定向等。
XSS攻击分类:
反射型XSS (Non-Persistent / Type-I):
- 攻击者构造包含恶意脚本的URL或其他形式的用户输入,然后诱骗用户点击或访问。
- 服务器接收到请求后,没有正确过滤和转义用户输入,直接将其包含在响应中返回给浏览器。
- 浏览器解析并执行了这个恶意脚本。
存储型XSS (Persistent / Type-II):
- 攻击者将恶意脚本提交至Web应用,如评论区、论坛帖子或个人资料中。
- 服务器端将该脚本存储在数据库或文件系统中。
- 当其他用户访问显示包含恶意脚本内容的页面时,服务器会从持久化存储中取出数据并在HTML页面中渲染,导致恶意脚本被执行。
DOM Based XSS (Type-0 or DOM XSS):
- 在这种类型的XSS中,不是由服务器直接输出未过滤的数据造成的,而是由于客户端JavaScript代码处理不安全的输入,并基于此动态修改了DOM(文档对象模型),使得恶意脚本得以执行。
- 即使服务器对所有输出进行了严格的过滤,如果前端JavaScript代码没有正确验证和转义来自不可信源的数据,仍可能导致DOM-Based XSS漏洞。
XSS漏洞的危害:
- 窃取用户的Cookie和其他认证信息,用于账户劫持。
- 控制用户的浏览器进行钓鱼攻击、点击劫持等。
- 操纵用户界面,展示虚假内容欺骗用户进行非法操作。
- 在用户浏览器上植入恶意软件。
防止XSS漏洞的方法:
- 对所有用户提供的输入进行严格的过滤和转义,确保它们不会被当作HTML或JavaScript代码执行。
- 使用HTTP头部Content-Security-Policy (CSP)来限制加载外部资源和执行内联脚本。
- 对于持久化数据,实施严格的输入验证与清理策略。
- 使用HTTP-only标志保护敏感的Cookie不被JavaScript访问。
- 在前端代码中同样谨慎处理DOM操作,确保不会引入新的DOM-based XSS风险。
xss漏洞检测和利用
XSS漏洞检测:
手动检测:
- 输入测试: 检查所有用户可控的输入点,包括URL查询参数、表单字段、HTTP头部等,并尝试注入基础的XSSPayload(如
<script>alert(1)</script>
)以查看是否能在浏览器中执行。- 动态分析: 使用Burp Suite、OWASP ZAP或类似的代理工具进行中间人攻击模拟,拦截并篡改请求数据,观察服务器响应内容是否对注入的脚本进行了正确过滤。
自动化扫描:
- 工具检测: 使用专门的安全扫描器如Nessus、Acunetix、Burp Suite中的Scanner模块、或者ppmap这样的专用XSS检测工具,这些工具会自动发送大量预定义的Payload,寻找潜在的XSS漏洞。
- 代码审计: 对Web应用程序源代码进行静态分析,查找可能存在的不安全的数据输出位置,确保所有输出到HTML上下文的数据都经过了适当的转义或编码。
XSS漏洞利用:
获取敏感信息:
- Cookie窃取: 利用反射型或存储型XSS,构造一个可以将受害者的Cookie信息发送给攻击者服务器的恶意脚本,从而实现账户劫持。
- DOM-Based XSS: 攻击者通过修改页面DOM结构,获取或操作用户的敏感信息。
会话劫持与持久化控制:
- Session Hijacking: 获取用户的有效Session ID后,攻击者可以直接使用该ID登录受害者的账户。
- 持久化植入: 存储型XSS允许攻击者在目标网站上留下长期有效的恶意脚本,持续影响访问该页面的其他用户。
钓鱼和社会工程学攻击:
- 界面伪装: 改变网页内容,欺骗用户点击恶意链接或提供个人信息。
- 重定向攻击: 通过XSS漏洞将用户重定向到恶意站点,进一步实施攻击。
更高级的利用:
- 点击劫持(Clickjacking): 隐藏恶意操作在正常页面之下,诱导用户点击。
- 浏览器插件/扩展攻击: 利用某些浏览器特性或漏洞,通过XSS发动针对浏览器插件或扩展的攻击。
XSS漏洞的防御和绕过
推荐xss靶场以及pikachu靶场.
此处以xss-labs为例:
html事件:HTML 事件 | 菜鸟教程
常用payload:<script>alert(1)</script>
用于检测过滤的payload: " sRc DaTa OnFocus <sCriPt> <a hReF=javascript:alert()> j
bypass:
绕过htmlspecialchars()函数,也可叫做实体化函数
htmlspecialchars()函数,会将输入的特定字符进行为html实体。
&:转换为&
":转换为"
':转换为成为 '
<:转换为<
>:转换为>
常见绕过:
1.绕过htmlspecialchars实体化函数
1.使用onfocus事件
onfocus 事件是在 HTML 元素获得焦点时触发的事件。当用户点击或选择某个元素,使其成为当前活动元素时,就会触发 onfocus 事件。例如再次点击输入框.
实例:οnfοcus=javascript:alert(1)
2.使用onblur事件
onblur 事件是在 HTML 元素失去焦点时触发的事件。当用户从一个元素切换到另一个元素或点击页面空白区域时,原本获得焦点的元素就会触发 onblur 事件。例如点击输入框后,在点击输入框外部。
实例:οnblur=javascript:alert(1)
2.script标签,以及on关键字被过滤:
1.大写绕过:scRipt,On
2.a标签
<a>
标签定义超链接,用于从一张页面链接到另一张页面。
<a>
元素最重要的属性是 href 属性,它指示链接的目的地。实例: <a href=javascript:alert("qiushuo")>test</a>
3.iframe标签
<iframe>
标签定义行内框架(内联框架)。实例:<iframe src="javascript:alert(1)">test</iframe>
4.当script被替换为空时:
在script中再写script: scrscriptipt
3.当写入内容在href属性中:
以上关键字都被过滤的时候,可以使用burpsuite的html编码器
例如:javascript:alert(1)的html编码
payload:
javascript:alert(1)
下面是实例
<a href=javascript:alert(1)>xss<a>
当输入有限制的,比如必须有"http:"元素,把该元素//然后放在后面如下
javascript:alert('1')//http://
4.隐含参数
此处name属性对应的值也可能是get/post传参的参数。
5.隐藏注入点
一些隐藏注入点因为插入的数据可能被隐藏,一般不要急着注入,先看源码
referer:"type="text" οnclick="alert(1)"起插入作用
插入后:
user-agent也可能为注入点
payload:"type="text" οnclick="alert(1)"
不过payload并未绝对,还是要依靠实际情况而定
cookie为注入点
hackerbar
此次payload就不同:user="type="text" οnclick="alert(1)"
6.特殊框架注入
iframe框架
iframe调用的文件地址失效,无法进行测试。要考的应该是通过修改iframe调用的文件来实现xss注入,修改src引用的文件或者地址即可。
7.ng-include
ng-include 指令用于包含外部的 HTML 文件。包含的内容将作为指定元素的子节点。
ng-include 属性的值可以是一个表达式,返回一个文件名。默认情况下,包含的文件
需要包含在同一个域名下。
payload='level1.php?name=test<img src=1 οnerrοr=alert(1)>'
onerror:如果在加载图片时发生错误则执行
8./、空格进行了转换
回车符 %0a
<img%0asrc=123%0aοnerrοr=alert(1)>
9.embed标签
<embed> 标签定义了一个容器,用来嵌入外部应用或者互动程序(插件)。
防御:
就是找好过滤工作,尽量不使用会有威胁的函数。
相关文章:

xss-跨站脚本攻击漏洞
前备知识: Cookie和Session是Web开发中用于维持用户状态、跟踪用户会话的核心技术,它们的主要目的是在无状态的HTTP协议基础上实现有状态的用户交互。 **Cookie**: - Cookie是一种由服务器发送到客户端(通常是用户的浏览器&#x…...

在MFC对话框中嵌入web网页时事件失效问题
2010-04-20 日志 在MFC对话框中嵌入web网页时,网页初始化中添加事件无效 document.body.onkeydown function () {//onkeydown"keydownbody()" 不能激发alert(event.keyCode);if(event.keyCode 27)//VK_ESCAPE //String.fromcharcode(A);{if (external…...

【Leetcode】235. 二叉搜索树的最近公共祖先
文章目录 题目思路代码结果 题目 题目链接 给定一个二叉搜索树, 找到该树中两个指定节点的最近公共祖先。 百度百科中最近公共祖先的定义为:“对于有根树 T 的两个结点 p、q,最近公共祖先表示为一个结点 x,满足 x 是 p、q 的祖先且 x 的深度…...

python 基础语法及保留字
编码 默认情况下,Python 3 源码文件以 UTF-8 编码,所有字符串都是 unicode 字符串。 当然你也可以为源码文件指定不同的编码: # -*- coding: cp-1252 -*-上述定义允许在源文件中使用 Windows-1252 字符集中的字符编码,对应适合语…...

Parade Series - NVR Stat
获取文件夹占用空间信息 DIR %NVRHOME% /W /SDIR %NVRHOME% /s | tail -n2 | sed s/,//g | awk {if(NR1){key"Used";}else{key"Free";};sum$3/(1024*1024);unit"MB";if(sum^>1024){sumsum/1024;unit"GB";}printf("{\"Ty…...

【shell脚本实战学习笔记】#2
场景描述 你负责一个Web应用的运维工作,该应用部署在一组Linux服务器上。你需要编写一个Shell脚本来自动化以下任务: 检查Web服务器进程: 确保Web服务器(例如Apache或Nginx)正常运行。如果没有运行,则尝试…...

docker 安装nacos 一脚shell脚本
要创建一个用于安装Nacos的Docker的Shell脚本,你可以按照以下步骤进行。这个脚本会执行以下操作: 拉取Nacos的Docker镜像。创建一个Docker容器并映射必要的端口。设置Nacos的环境变量。如果需要,可以持久化存储数据到本地目录。 以下是一个…...

mysql的隔离级别,和实现
参考链接 https://xiaolincoding.com/mysql/transaction/mvcc.html#%E4%BA%8B%E5%8A%A1%E7%9A%84%E9%9A%94%E7%A6%BB%E7%BA%A7%E5%88%AB%E6%9C%89%E5%93%AA%E4%BA%9B 事务特性(ACID) 原子性(Atomicity): 事务是原子的&…...

Linux的信号
Linux的信号是一种用于进程之间通信的机制。它们用于向进程发送通知,告知进程发生了某种事件或请求进程执行某个操作。信号可以由内核、其他进程或进程自身发送。 信号的作用有以下几个方面: 通知进程某个事件的发生,如进程的终止、挂起、恢…...

Spring数据脱敏实现
在当今的数字化时代,数据安全和个人隐私保护变得日益重要。为了遵守各种数据保护法规,如欧盟的GDPR(通用数据保护条例),企业在处理敏感信息时需要格外小心。数据脱敏是一种常见的技术手段,用于隐藏敏感数据…...

Java核心-核心类与API(4)
话接上回,继续核心类与API的学习,最后介绍一下Object类以及与数学、日期/时间有关的类,就结束该部分的学习了,其他的根据需要自行了解。 一、Object类 1、概述 Object 是 Java 类库中的一个特殊类,也是所有类的父类…...

【C语言】详解计算机二级c语言程序题
文章目录 前言资料相关程序题 一(字符串)程序题 二(数组)程序题 三(基础)程序题 四(结构体)程序题 五(结构体)程序题 六(基础) 前言 …...

限流算法
下面对常见的限流算法进行讨论。目前,常用的限流算法主要有三种:计数器法、滑动窗口算法、漏桶算法和令牌桶算法。下面分别介绍其原理。 1. 计数器法 计数器法是通过计数对到来的请求进行选择性处理。如系统限制一秒内最多有X个请求,则在该…...

备战蓝桥杯 Day10(背包dp)
01背包问题 1267:【例9.11】01背包问题 【题目描述】 一个旅行者有一个最多能装 M� 公斤的背包,现在有 n� 件物品,它们的重量分别是W1,W2,...,Wn�1,�2&#…...

Sora 使用教程,新手小白可用
Sora 使用教程,新手小白可用 参考文章:Sora 使用教程,OpenAI 的文生视频模型 为了在激烈的行业竞争中保持领先地位,OpenAI 在 2024 年 2 月 15 日发布了其革命性的文本至视频转换模型——Sora。这个先进的工具能够将文本描述转化…...

【洛谷千题详解】P1031 均分纸牌
目录 题目描述 思路点拨 AC代码 题目描述 题目网址:[NOIP2002 提高组] 均分纸牌 - 洛谷 有 N 堆纸牌,编号分别为 1,2,……,N。每堆上有若干张,但纸牌总数必为 N 的倍数。可以在任一堆上取若干张纸牌,然后移动。 移牌规则为&a…...

基于文本提示和语义分割的快速抠图
基于文本提示和语义分割的快速抠图 1. 介绍2. 效果展示3. 安装模型4. 命令行调用5. 代码调用5.1 模型加载5.2 可视化函数定义5.3 图像语义分割 6. 参考资料7. 结语服务 1. 介绍 传统的图像语义分割模型通常固定类别进行分割,而基于文本提示的语义分割模型则具有更高…...

什么是媒体发稿?发稿媒体分类及发稿流程
传媒如春雨,润物细无声,大家好,我是51媒体网胡老师。 媒体发稿是一种企业推广和宣传的手段,通过媒体渠道传递企业信息和形象。 媒体发稿的含义在于,当企业有新闻、事件或其他消息需要对外公布时,可以选择…...

安全测试自学手册之软件安全测试基础
安全测试的概念 定义:指有关验证应用程序的安全等级和识别潜在安全性缺陷的过程。】 应用软件的安全性测试:软件自身设计中存在的安全隐患,并检查软件对非法入侵的防御能力。系统级别的安全性测试:确保只有具备系统平台访问权限…...

【LeetCode】升级打怪之路 Day 04:链表 part 2
今日题目: 24. 两两交换链表中的节点19. 删除链表的倒数第 N 个结点160. 相交链表142. 环形链表 II 目录 LeetCode 24. 两两交换链表中的节点 【易错】LeetCode 19. 删除链表的倒数第 N 个结点 【还行】LeetCode 160. 相交链表(两个链表是否相交…...

JAVA编程题系列——涵盖几乎所有java内容
自己定义一个类,有static属性和构造方法,有构造方法重载,有其他方法(方法有对String类型操作) public class MyClass {// 静态属性public static String staticProperty "Static Property";// 成员变量priv…...

【Android12】Monkey压力测试源码执行流程分析
Monkey压力测试源码执行流程分析 Monkey是Android提供的用于应用程序自动化测试、压力测试的测试工具。 其源码路径(Android12)位于 /development/cmds/monkey/部署形式为Java Binary # development/cmds/monkey/Android.bp // Copyright 2008 The Android Open Source Proj…...

Java架构师之路八、安全技术:Web安全、网络安全、系统安全、数据安全等
目录 Web安全: 网络安全: 系统安全: 数据安全: Java架构师之路七、大数据:Hadoop、Spark、Hive、HBase、Kafka等-CSDN博客Java架构师之路九、设计模式:常见的设计模式,如单例模式、工厂模式…...

Codeforces Round 240 (Div. 1) C. Mashmokh and Reverse Operation(分治+逆序对)
原题链接:C. Mashmokh and Reverse Operation 题目大意: 给出一个长度为 2 n 2^{n} 2n 的正整数数组 a a a ,再给出 m m m 次操作。 每次操作给出一个数字 q q q ,把数组分为 2 n − q 2^{n-q} 2n−q 个长度为 2 q 2^{q} 2…...

SpringBoot源码解读与原理分析(三十二)SpringBoot整合JDBC(一)JDBC组件的自动装配
文章目录 前言第10章 SpringBoot整合JDBC10.1 SpringBoot整合JDBC的项目搭建10.1.1 初始化数据库10.1.2 整合项目10.1.2.1 导入JDBC和MySQL驱动依赖10.1.2.2 配置数据源 10.1.3 编写业务代码10.1.3.1 编写与t_user表对应的实体类User10.1.3.2 编写Dao层代码10.1.3.3 编写Servic…...

petalinux_zynq7 驱动DAC以及ADC模块之五:nodejs+vue3实现web网页波形显示
前文: petalinux_zynq7 C语言驱动DAC以及ADC模块之一:建立IPhttps://blog.csdn.net/qq_27158179/article/details/136234296petalinux_zynq7 C语言驱动DAC以及ADC模块之二:petalinuxhttps://blog.csdn.net/qq_27158179/article/details/1362…...

Android java中内部类的使用
一.成员内部类 实验1:成员内部类 class Outer {private int a 10;class Inner {public void printInfo(){System.out.println("a "a);}}}public class InnerDemo {public static void main(String args[]) {Outer o new Outer();Outer.Inner i o.new…...

llm的inference(二)
文章目录 Tokenizer分词1.单词分词法2.单字符分词法3.子词分词法BPE(字节对编码,Byte Pair Encoding)WordPieceUnigram Language Model(ULM) embedding的本质推理时的一些指标参考链接 Tokenizer 在使用模型前,都需要将sequence过一遍Tokenizer…...

pytorch -- torch.nn.Module
基础 torch.nn 是 PyTorch 中用于构建神经网络的模块。nn.Module包含网络各层的定义及forward方法。 在用户自定义神经网络时,需要继承自nn.Module类。通过继承 nn.Module 类,您可以创建自己的神经网络模型,并定义模型的结构和操作。 torch.n…...

Microsoft Edge 越用越慢、超级卡顿?网页B站播放卡顿?
记录10个小妙招 Microsoft Edge 启动缓慢、菜单导航卡顿、浏览响应沉闷?这些情况可能是由于系统资源不足或浏览器没及时更新引起的。接下来,我们将介绍 10 种简单的方法,让 Edge 浏览器的速度重新起飞。 基础检查与问题解决 如果 Microsoft…...