XSS跨站脚本攻击

跨站脚本攻击(XSS) XSS,为不和层叠样式表(CascadingStyleSheets,CSS)的缩写混淆,故将跨站脚本攻击缩写为XSS。恶意攻击者往Web页面里插入恶意Script代码,当用户浏览该页之时,嵌入其中Web里面的Script代码会被执行,从而达到恶意攻击用户的目的。在一开始的时候,这种攻击的演示案例是跨域的,所以叫"跨站脚本"。但是发展到今天,由于JavaScript的强大功能基于网站前端应用的复杂化,是否跨域已经不再重要。但是由于历史原因,XSS这个名字一直保留下来。(2)页面展示... 阅读详情

前言:

什么是XSS跨站脚本攻击?在网页中嵌入客户端脚本(例如JavaScript),当用户浏览此网页时,脚本就会在用户的浏览器上执行,从而达到攻击者的目的,比如获取用户的Cookie,导航到恶意网站,携带木马等。

下面就是一个攻击例子。

<ScRipt>alert("XSS")</sCRipT>


如何使用?


把脚本写到输入框,点击“提交”按钮,保存到数据库里面。下次读取这数据的时候,就会执行填入得脚本。



如上图。




注入广告框


后果:

能干嘛?注入一个脚本,能注入外部广告,获取本地cookie数据,获取账号密码等信息,还可以下载一下恶意文件,进行攻击。一个脚本能干的事情都可以干。

分类 等级
危险

★★★★

攻击容易 ★★★★★
防御难度 ★★★


介绍几种防御方式:

1.https协议,是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,可防止数据在传输过程中不被窃取、改变,确保数据的完整性。但是防范不了 直接获取你的account password的框获取数据或者注入广告那还是没办法。

 

作用 ★


2.react框架,对非react框架生成的document元素都会限制。防止引用外部脚步对网站进行插入广告,导致样式乱等问题。防止对document的插入攻击,有很好的作用。但是一些监听数据,对非document攻击,没有防御作用。

作用 ★★★


3.HTML转义字符,在保存数据的时候,把特殊符号" & < >等这些符号 进行HTML转义是javascript脚本失效,变成单纯string字符。防御效果最好,直接入口做限制,出口也做限制,双重保险。无论怎样输出都会是string类型。


作用 ★★★★★


本文重点说这种,方法。


这种转义方法 会把某些字符被替换成了十六进制的转义序列,该方法不会对 ASCII 字母和数字进行编码,也不会对下面这些 ASCII 标点符号进行编码: * @ - _ + . / 。其他所有的字符都会被转义序列替换。

这样就可以在所有的客户端上读取该字符串。而且输出的时候也会正常显示   <ScRipt>alert("XSS")</sCRipT>。棒吧!


function html_encode(str)  
{  
  var s = "";  
  if (str.length == 0) return "";  
  s = str.replace(/&/g, "&gt;");  
  s = s.replace(/</g, "&lt;");  
  s = s.replace(/>/g, "&gt;");  
  s = s.replace(/ /g, "&nbsp;");  
  s = s.replace(/\'/g, "&#39;");  
  s = s.replace(/\"/g, "&quot;");  
  s = s.replace(/\n/g, "<br>");  
  return s;  
}  
 

function html_decode(str)  
{  
  var s = "";  
  if (str.length == 0) return "";  
  s = str.replace(/&gt;/g, "&");  
  s = s.replace(/&lt;/g, "<");  
  s = s.replace(/&gt;/g, ">");  
  s = s.replace(/&nbsp;/g, " ");  
  s = s.replace(/&#39;/g, "\'");  
  s = s.replace(/&quot;/g, "\"");  
  s = s.replace(/<br>/g, "\n");  
  return s;  
} 
 
//转码方法
html_encode('<ScRipt>alert("XSS")</sCRipT>') 
 
//解码方法
html_decode('&lt;ScRipt&gt;alert(&quot;XSS&quot;)&lt;/sCRipT&gt;')

结论:有好的代码规范,做好出入口限制,就能防止XSS跨站脚本攻击。不偷懒,每个入口做好工作就可以。


xss跨站脚本攻击 xss攻击 阅读详情

相关推荐

跨站脚本攻击XSS案例及其解决方案

跨站脚本攻击XSS 目录 案例一:留言板的XSS攻击 利用xss窃取用户名密码 案例二:输入框的XSS攻击 怎么预防 服务端可以干的事 客户端可以干的事 跨站脚本攻击(Cross Site Script为了区别于CSS简称为XSS)指的是恶意攻击者往Web页面里插入恶意html代码,当用户浏览该页之时,嵌入其中Web里面的html代码会被执行,从而达到恶意用户的特殊目的。 案例一...

若华‘的博客 7607

跨站脚本攻击XSS(最全最细致的靶场实战)

一、XSS跨站漏洞 (1)XSS简介   网站中包含大量的动态内容以提高用户体验,比过去要复杂得多。所谓动态内容,就是根据用户环境和需要,Web应用程序能够输出相应的内容。动态站点会受到一种名为“跨站脚本攻击”(Cross Site Scripting,安全专家们通常将其缩写成XSS,原本应当是css,但为了和层叠样式表(Cascading Style Sheet,CSS)有所区分,故称XSS)的威胁,而静态站点则完全不受其影响。恶意攻击者会在 Web页面里插入恶意Script代码,当用户浏览该页之时,嵌.

m0_51468027的博客 6万+

Web安全之跨站脚本攻击(XSS)

XSS(跨站脚本攻击)是一种常见的网络安全漏洞,攻击者通过在网页中注入恶意脚本,控制用户浏览器进行非法操作。XSS主要分为反射型、存储型和DOM型三种。反射型XSS通过诱使用户点击恶意链接实施攻击;存储型XSS将恶意脚本存储在服务器端,长期影响用户;DOM型XSS通过修改页面DOM节点实现攻击。XSS的危害包括盗取用户账号、控制企业数据、非法转账等。防御措施包括设置HttpOnly属性、输入检查、输出检查和使用安全编码函数。通过这些方法,可以有效减少XSS攻击的风险,保护用户和企业的数据安全。

浪潮行舟_2136 1054

C#进阶之路:深度剖析XSS漏洞与解决方案

XSS,即跨站脚本攻击(Cross - Site Scripting) ,是一种非常普遍且危险的 Web 安全漏洞。它的核心原理是攻击者巧妙地将恶意脚本注入到 Web 页面中。当毫无防备的用户浏览这些被注入恶意脚本的页面时,浏览器会将这些恶意脚本当作正常的页面内容进行执行,而这恰恰中了攻击者的圈套。攻击者可以通过 XSS 攻击实现多种恶意目的,如窃取用户的敏感信息、篡改页面内容、劫持用户会话等,对用户的隐私和网站的安全构成了严重威胁。

远程部署调试 运行安装 项目调试 二次开发 项目技术新 持续迭代 部分源码免费分享 2014

ROS2通过ros2_socketcan实现CAN总线高效数据过滤与多节点通信

本文详细解析了ROS2通过ros2_socketcan实现CAN总线高效数据过滤与多节点通信的技术方案。文章重点探讨了CanFilterList的工作原理、多过滤器组合使用及动态配置策略,有效解决了工业应用中CAN总线数据过载问题,显著降低了CPU负载并提升了系统实时性。

n4o5p6q7r的博客 215

广义平均(Generalized Mean, GeM)

本位介绍了广义平均操作的定义和简要推导,帮助大家理解其含义。

qq_45802280的博客 4547

什么是XSS:XSS攻击、防御和C#编程

什么是XSS:XSS攻击、防御和C#编程

一只苟延残喘的卑微蝼蚁 2812

蜻蜓fm爬虫python

本文介绍了一个用于下载蜻蜓FM音频书籍的Python脚本实现。该脚本主要功能包括:1)通过账号密码登录获取认证信息;2)从目标书籍主页提取版本信息;3)获取书籍节目总数和分页信息;4)生成节目下载链接(使用HMAC-MD5加密算法生成请求签名);5)下载音频文件并保存。脚本采用多种反爬措施:设置User-Agent模拟浏览器行为、使用动态时间戳、HMAC-MD5签名验证等,有效规避简单的反爬机制。整个流程包括登录认证、获取书籍信息、生成下载链接和保存音频文件四个步骤,实现自动化批量下载功能。

野猫炫的博客 910

C#网站代码防止漏洞和攻击 增强网站安全性方法

永远不要信任用户提供的输入数据。始终对用户提交的数据进行验证和过滤,以防止恶意输入。使用正则表达式、白名单过滤或内置的.NET验证来验证输入。使用参数化查询或存储过程来执行数据库查询,而不是将用户输入直接嵌入SQL语句中。这可以有效防止SQL注入攻击。始终对用户提交的数据进行HTML编码,以防止恶意脚本注入到你的网页中。使用或类似的编码函数。如果你的网站需要用户账户,确保实施强密码策略,并对用户密码进行适当的哈希和加盐处理。不要以明文存储密码。

一只没有感情的AI机械猿 1759

R语言基于机器学习三分类结果、计算三分类混淆矩阵、计算每一个类别对应的特异度(specificity)、灵敏度(sensitivity)、PPV、NPV

R语言基于机器学习三分类结果、计算三分类混淆矩阵、计算每一个类别对应的特异度(specificity)、灵敏度(sensitivity)、PPV、NPV

data+scenario+science+insight 644

人工智能混合编程实践:C++调用封装好的DLL进行异常检测推理

C++、Python、ONNX、人工智能、异常检测、Anomalib 2.1.0

FriendshipTang的博客 170

XSS跨站脚本攻击与防御

XSS跨站脚本攻击与防御 1.什么是 XSS ? XSS (Cross Site Scripting),即跨站脚本攻击,是一种常见于 Web 应用中的计算机安全漏洞。恶意攻击者往 Web 页面里嵌入恶意的客户端脚本,当用户浏览此网页时,脚本就会在用户的浏览器上执行,进而达到攻击者的目的。比如获取用户的 Cookie、导航到恶意网站、携带木马等。借助安全圈里面非常有名的一句话:*所有的输入都是有害的...

MzHeader的博客 9521

【Unity】【Photon】Photon Fusion2 的核心Unity组件 NetworkRunner 学习笔记

本文是学习Photon Fusion2 的核心Unity组件 NetworkRunner的学习笔记。

O青草O的博客 Unity和游戏制作知识分享 1269

网络安全-跨站脚本攻击(XSS)的原理、攻击及防御

所用工具 Google出品:开源Web App漏洞测试环境:Firing Range 简介 跨站脚本攻击(全称Cross Site Scripting,为和CSS(层叠样式表)区分,简称为XSS)是指恶意攻击者在Web页面中插入恶意Script代码,当用户浏览网页之时,嵌入其中Web里面的Script代码会被执行,从而达到恶意攻击用户的目的。 xss是攻击客户端,最终受害者是用户,网站管理员也是用户之一。 xss漏洞通常是通过php的输出函数将javascript代码输出到html页面中,通过.

关注网络安全、云原生安全 4万+

npm install 时出现npm error code ENOTFOUND和npm error network request to https://registry.npmjs.org的解决方案

本文主要介绍了npm install 时出现npm error code ENOTFOUND和npm error network request to https://registry.npmjs.org 的解决方案,希望能对使用npm的同学们有所帮助。 文章目录 1. 问题描述 2. 解决方案

weixin_43178406的博客 6万+

QT实现计算器(C/C++)

digitClicked()槽函数用于处理数字按钮的点击事件,operatorClicked()槽函数用于处理运算符按钮的点击事件,equalsClicked()槽函数用于处理等号按钮的点击事件。在operatorClicked()槽函数中,我们获取被点击按钮的文本作为当前运算符,并将文本框中的内容转换为双精度浮点数,存储为操作数1。在上述代码中,我们添加了一个私有成员变量m_operand1,用于存储第一个操作数的值,以及一个私有成员变量m_currentOperator,用于存储当前运算符的值。

CyberNova的博客 384

XSS跨站脚本攻击基础原理

XSS全程(跨站脚本攻击),其原理是攻击者利用浏览器执行前端代码(html,css,js)的特性将恶意js代码插入到web页面中,当用户浏览到该页面时这些嵌入在web页面的代码就会被执行从而达到攻击者的目的定义:反射型xss又称非持久性xss,反射型xss的恶意代码在web应用的参数,需要诱骗受害则点击范围跟含有恶意代码的连接,从而触发xss攻击特点:反射型xss攻击方式是一次性的攻击方式:需要欺骗用户自己去点击含xss的连接,才能触发xss攻击。

一只抑郁的布偶猫的博客 1275

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

xss跨站脚本攻击总结

svg onload="alert(1)"> //onerror 当加载文档或图像时发生某个错误无的弹窗语句onclick="alert(1)" //鼠标单击事件onmouseover="alert(1)" //鼠标悬浮事件最后还有很多的绕过姿势,推荐博客cookie:存储本地 存活时间较长 小中型session: 会话 存储服务器 存活时间较短 大型企业使用。

太阳照耀我走四方 2441

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

XSS-跨站脚本攻击

xss的初步学习

m0_61858762的博客 1736

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

上一篇: Linux前端自动化gulp安装与使用
下一篇: JS生成二维码
JarunWang
博客等级 码龄18年 57粉丝 61原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值