XSS
Posted my-mind
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了XSS相关的知识,希望对你有一定的参考价值。
在学习xss之前应该学习什么:https://www.zhihu.com/question/21745144
实例:http://xsst.sinaapp.com/example/1-1.php?page=%3Cimg%20src=x
参考:https://www.zhuyingda.com/blog/b2.html
https://blog.csdn.net/hcl1687/article/details/47666847
从中学习,还没有观看的网址:
https://brutelogic.com.br/blog/
https://www.freebuf.com/articles/web/40520.html
https://xwjgo.github.io/2017/10/26/XSS%E5%92%8CCSRF/#
详细介绍:https://wizardforcel.gitbooks.io/xss-naxienian/content/
https://www.cnblogs.com/linwx/p/8137609.html
XSS简介
全称为跨站脚本攻击(cross site scripting),从首字母命名方式看,应该取css,但是这和html中的层叠样式表的扩展名重名了,故取名xss
实际上,跨站脚本攻击也有来历,因为第一次演示这个漏洞的黑客是通过“跨站”的方式植入脚本进行攻击的
由于技术发展,基于浏览器的“同源策略”已经让运行在浏览器中的javascript代码很难对外站进行访问
同源策略:
- 协议相同
- 域名相同
- 端口相同
原理主要是依靠一切可能的手段,将可执行脚本(JavaScript)植入到页面代码中,当其他用户浏览该网页时,恶意的js代码会被执行,从而达到攻击的目的。
本质上说就是想尽一切办法在别人的代码环境中执行自己的代码。
这件事又可以分为两部分研究,一是如何将代码植入到对方的系统中,二是植入的代码能否被执行
xss漏洞是对web客户端(浏览器)的攻击,所以说植入的代码基本以JavaScript和html为主(也有结合css样式的xss向量)
XSS攻击发生的根本原因是对用户输入的信任
重要性
通过xss,黑客可以拿到用户浏览器的cookie。由于目前web系统实现session的办法主要是cookie,所以一旦黑客拿到了用户的cookie就可以劫持用户的session,从而达到变相盗取用户账号的目的
xss也可以用受害者的ip地址向其它站点发起web攻击,因为一切的攻击脚本都可以借受害用户的浏览器执行。以这样的方式配合csrf、sql注入可以短时间内对一个服务器发起大量攻击,并且服务端无法将攻击ip封死、因为ip是成百上千的xss受害者的ip。
xss的分类
持久型和非持久型
持久型就是将对客户端的攻击脚本植入到服务器上,从而导致每个正常访问页面的用户都会遭到这段xss脚本的攻击。
非持久型是对页面的url参数做文章,将精心构造的恶意脚本包装到url参数中,再将url散布到网上,当用户访问时就会受到攻击。攻击性较小,可以通过服务器端调整业务代码进行过滤使其失效
反射型
存储型
DOM型
以上是关于XSS的主要内容,如果未能解决你的问题,请参考以下文章