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。

为什么会有session

session的模式

xss的分类

持久型和非持久型

持久型就是将对客户端的攻击脚本植入到服务器上,从而导致每个正常访问页面的用户都会遭到这段xss脚本的攻击。

非持久型是对页面的url参数做文章,将精心构造的恶意脚本包装到url参数中,再将url散布到网上,当用户访问时就会受到攻击。攻击性较小,可以通过服务器端调整业务代码进行过滤使其失效

反射型

 

存储型

DOM型

 

以上是关于XSS的主要内容,如果未能解决你的问题,请参考以下文章

Pikachu靶场之XSS漏洞详解

什么是 XSS攻击?

Pikachu之XSS

web安全之XSS攻击原理及防范

web安全之XSS攻击原理及防范

Pikachu漏洞练习平台实验——XSS