xss和csrf概要

简介: XSS是跨站脚本攻击,是一种代码注入攻击。攻击者通过在用户的浏览器中插入注入恶意脚本,利用这些恶意脚本,攻击者可获取用户的敏感信息如 Cookie、SessionID 等,进而危害数据安全。

Xss

是什么

XSS是跨站脚本攻击,是一种代码注入攻击。攻击者通过在用户的浏览器中插入注入恶意脚本,利用这些恶意脚本,攻击者可获取用户的敏感信息如 Cookie、SessionID 等,进而危害数据安全。

为什么产生

程序对输入输出的控制不够严格,导致"精心构造“的脚本输入后,在输到前端时被浏览器当作有效代码解析执行

如何防范

有三个种类,

  1. 反射型XSS服务端返回脚本,客户端执行
  2. 储存型XSS后端存储了非法脚本,并且前端直接显示
  3. DOM XSS基于DOM或本地的XSS攻击

一般情况下,前两种是后端RD的责任,而 DOM 型 XSS 攻击不发生在后端,是前端 RD 的责任。

对于 HTML 转义通常只有一个规则,就是把 & < > " ' / 这几个字符转义掉,确实能起到一定的 XSS 防护作用,但并不完善:

'<' 转义为 &lt;

'>' 转移为 &gt;

 

\ : \\

/ : \/

; : ;

 

DOM 型 XSS 攻击,实际上就是前端代码不够严谨,把不可信的数据当作代码执行了。

 

使用.innerHTML、document.write()、v-html时要特别小心,或尽量不适用,不要把不可信的数据作为 HTML 插到页面上,而应尽量使用 .textContent、.setAttribute() 等。

 

危害
  1. 挂马  
  2. 盗取用户cookie,就可以模拟你去做一些事情,删除目标文章,篡改数据,嫁祸等。
  3. D-DOS攻击(拒绝服务)
  4. 钓鱼
  5. 蠕虫式挂马攻击、刷广告、刷流量、破坏网上数据。

CSRF

跨站请求伪造:攻击者诱导受害者进入第三方网站,在第三方网站中,向被攻击网站发送跨站请求。

利用受害者在被攻击网站已经获取的注册凭证,绕过后台的用户验证,达到冒充用户对被攻击的网站执行某项操作的目的。

  1. 登录了一个受信任的网站A,并且本地存放了Cookie;
  2. 在不关闭A的情况下,访问了危险网站B;

攻击者盗用了你的身份,以你的名义发送恶意请求。

CSRF能够做的事情包括:以你名义发送邮件,发消息,盗取你的账号,甚至于购买商品,虚拟货币转账。

造成的问题包括:个人隐私泄露以及财产安全。

防护策略

通过增强自己网站针对CSRF的防护能力来提升安全性。

  1. 尽量使用POST,少用get,因为get太容易被人利用了,相对降低被攻击的风险
  2. 再加入验证码(划一下),让用户输入验证码,或者划一下,能够确保这是一种用户行为,现代化比较智能的验证码,很难破解。
  3. Referer:http头上有个字段referer能记录记录当前请求的来源地址,在后端判断这个refere的值不是当前网页,那么就直接拒绝这个请求。

也可以直接规定只能从某个网页过来,如果不是从某个网页过来,直接拒绝

  1. Anti CSRF Token  从后端拿csrfToken,放到自己的请求头中,让后端判断。


目录
相关文章
|
1月前
|
存储 安全 JavaScript
xss、csrf
【10月更文挑战第26天】防范 XSS 和 CSRF 攻击需要综合运用多种技术手段,从输入输出过滤、设置安全的 Cookie 属性、验证请求来源、添加令牌等多个方面入手,构建一个全面的安全防护体系,以确保网站和用户的安全。
|
1月前
|
SQL 安全 前端开发
让你彻底了解SQL注入、XSS和CSRF
了解SQL注入、XSS和CSRF
56 7
|
1月前
|
存储 JSON 安全
2024全网最全面及最新的网络安全技巧 二 之 CSRF+XSS漏洞的各类利用技巧
2024全网最全面及最新的网络安全技巧 二 之 CSRF+XSS漏洞的各类利用技巧
|
1月前
|
安全 前端开发 Java
Web安全进阶:XSS与CSRF攻击防御策略深度解析
【10月更文挑战第26天】Web安全是现代软件开发的重要领域,本文深入探讨了XSS和CSRF两种常见攻击的原理及防御策略。针对XSS,介绍了输入验证与转义、使用CSP、WAF、HTTP-only Cookie和代码审查等方法。对于CSRF,提出了启用CSRF保护、设置CSRF Token、使用HTTPS、二次验证和用户教育等措施。通过这些策略,开发者可以构建更安全的Web应用。
102 4
|
1月前
|
安全 Go PHP
Web安全进阶:XSS与CSRF攻击防御策略深度解析
【10月更文挑战第27天】本文深入解析了Web安全中的XSS和CSRF攻击防御策略。针对XSS,介绍了输入验证与净化、内容安全策略(CSP)和HTTP头部安全配置;针对CSRF,提出了使用CSRF令牌、验证HTTP请求头、限制同源策略和双重提交Cookie等方法,帮助开发者有效保护网站和用户数据安全。
86 2
|
1月前
|
存储 安全 Go
Web安全基础:防范XSS与CSRF攻击的方法
【10月更文挑战第25天】Web安全是互联网应用开发中的重要环节。本文通过具体案例分析了跨站脚本攻击(XSS)和跨站请求伪造(CSRF)的原理及防范方法,包括服务器端数据过滤、使用Content Security Policy (CSP)、添加CSRF令牌等措施,帮助开发者构建更安全的Web应用。
104 3
|
1月前
|
SQL 存储 安全
什么是XSS攻击?什么是SQL注入攻击?什么是CSRF攻击?
理解并防范XSS、SQL注入和CSRF攻击是Web应用安全的基础。通过采用严格的输入验证、使用安全编码实践以及实现适当的身份验证和授权机制,可以有效防止这些常见的Web攻击,保障应用程序和用户的数据安全。
44 0
|
3月前
|
SQL 安全 数据库
惊!Python Web安全黑洞大曝光:SQL注入、XSS、CSRF,你中招了吗?
在数字化时代,Web应用的安全性至关重要。许多Python开发者在追求功能时,常忽视SQL注入、XSS和CSRF等安全威胁。本文将深入剖析这些风险并提供最佳实践:使用参数化查询预防SQL注入;通过HTML转义阻止XSS攻击;在表单中加入CSRF令牌增强安全性。遵循这些方法,可有效提升Web应用的安全防护水平,保护用户数据与隐私。安全需持续关注与改进,每个细节都至关重要。
143 5
|
3月前
|
存储 前端开发 JavaScript
浅谈Web前端安全策略xss和csrf,及又该如何预防?
该文章详细讨论了Web前端安全中的XSS(跨站脚本攻击)和CSRF(跨站请求伪造)攻击原理及其防范措施,帮助读者了解如何保护Web应用程序免受这两种常见安全威胁的影响。
|
3月前
|
SQL 安全 数据库
深度揭秘:Python Web安全攻防战,SQL注入、XSS、CSRF一网打尽!
在Web开发领域,Python虽强大灵活,却也面临着SQL注入、XSS与CSRF等安全威胁。本文将剖析这些常见攻击手段,并提供示例代码,展示如何利用参数化查询、HTML转义及CSRF令牌等技术构建坚固防线,确保Python Web应用的安全性。安全之路永无止境,唯有不断改进方能应对挑战。
86 5