XSS漏洞与CSRF漏洞

XSS漏洞的简单介绍

XSS原称CSS(cross site script),即跨站脚本攻击。是一种经常出现在 web应用中的计算机安全漏洞,它允许恶意 web 用户将代码植入到提供给其它用户使用的页面中。比如这些代码包括HTML代码和客户端脚本。攻击者利用XSS漏洞旁路掉访问控制——例如同源策略(same origin policy)。这种类型的漏洞由于被黑客用来编写危害性更大的网络钓鱼(Phishing) 攻击而变得广为人知。对于跨站脚本攻击,黑客界共识是:跨站脚本攻击是新型的“缓冲区溢出攻击”,而JavaScript是新型的“ShellCode”。

XSS漏洞原理

攻击者向有XSS 漏洞的网站中(web页面)插入恶意的HTML代码(例如:Script代码),当其它用户浏览该网站页面时,嵌入其中的HTML代码就会自动执行,从而达到恶意攻击的用户目的。如,盗取用户 Cookie、破坏页面结构、重定向到其它网站(DDos拒绝服务攻击)等。

XSS漏洞分类

在这里插入图片描述

存储型XSS漏洞检测

攻击者向被攻击页面写入恶意代码的方法有很多,最常见的就是在论坛或留言本中发帖时将html代码写入到被攻击页面中,此外在用户资料修改、签名、联系方式等地方也是攻击者写入html代码常用的地方,如果被攻击页面对用户输入过滤不严的话,就可以被攻击者写入类似如下的一段代码(传统形式)。

 `<script>alert('kkk')</script>` 

常见的XSS测试payload

1.script标签直接嵌套

<script>alert(/xss/)</script> 
<script>window.location="http://www.xxxx.com"</script> 

2.javascript事件(onload、onerror、onclick、onmouseover)

<bodyοnlοad=alert(‘xss’)> 
<divοnclick="alert('xss’)”> 
<imgsrc=#οnerrοr=alert(‘xss’)> 
<divοnmοuseenter="alert('xss')"> 

3.其他弹窗测试方式

<script>prompt(/xss/)</script> 
<script>confirm(/xss/)</script> 

反射型XSS

反射型XSS 也被称为非持久性XSS。当用户访问一个带有XSS代码的URL请求时,服务器端接收数据后处理,然后把带有XSS代码的数据发送到浏览器,浏览器解析这段带有 XSS 代码的数据后,最终造成 XSS 漏洞。这个过程就像一次反射,故称为反射型 XSS漏洞。
在这里插入图片描述

反射型XSS漏洞的检测

基本原理:通过给别人发送带有恶意脚本代码参数的URL,当URL地址被打开时,特定的代码参数会被HTML解析、执行,如此就可以获取用户的COOIKE,进而盗号登陆等操作。
检测与修复方式与存储行XSS类似,检测代码通用。区别仅仅是不能存储到服务端。

如何防范XSS攻击

1.对于用户提交的数据通过调用函数进行过滤,即不可信的字符都使用 htmlspecialchars() 函数将输出的内容进行HTML的编码转义。
2.使用XSS Filter。
3.白名单和黑名单结合过滤。
4.设置HttpOnly属性。

DOM型XSS

DOM 式XSS 其实是一种特殊类型的反射型 XSS,它是基于 DOM 文档对象模型的一种漏洞。客户端的脚本程序可以通过DOM来动态修改页面内容,从客户端获取DOM中的数据并在本地执行。基于此特性,就可以利用JS脚本来实现XSS漏洞的利用。此类XSS漏洞也不存储在服务器中,相比前两种XSS漏洞,这里还不需要使用服务器进行解析,漏洞是利用js代码中提取了url地址中的部分内容,JS中下面代码可以提取 URL地址:document.location.href。

修复方式

1.写入页面前先转义
2.慎用“eval”函数
3.编写安全的函数方法
4.参考使用filter.js库

反射型XSS与存储型XSS区别

反射型:用一些“社工”手段欺骗用户点击链接才能触发XSS代码。
存储型:代码存在服务器中,易造成worm(蠕虫病毒),盗窃cookie等。

有不对的地方请大佬们多多指教![作揖]

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值