首页 > 其他分享 >学习笔记-XSS跨站脚本

学习笔记-XSS跨站脚本

时间:2022-10-07 17:33:25浏览次数:43  
标签:脚本 XSS 跨站 浏览器 DOM 标签 笔记 HTML

XSS主要基于javascript语言完成恶意的攻击行为。

XSS的验证:

  <script>alert(/xss/)</script>  常用

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

  <script>prompt("xss")</script>

XSS分类:

反射型XSS(非持久型);存储型XSS(持久型,通常在服务器中);DOM型XSS(文档,在浏览器端执行)

反射型XSS:(数据流量走向:浏览器>后端>浏览器)

  1.非持久性

  2.参数型脚本

  3.反射型XSS的JS代码在Wed应用的参数(变量中),如搜索框等

存储型XSS:流量走向:浏览器>后端>数据库>后端>浏览器

  攻击者发送恶意脚本到服务器,用户浏览到页面读取到脚本,并且在客户端解析并执行

  持久性

DOM型XSS:URL>浏览器

  <body><p><ul>之类的元素在文档中的布局形成了文档的结构,它们既是元素节点

  文档通常会包含一些内容,这些内容多数由文本提供,这就是文本节点

  元素通常都有一些属性,属性用于对元素做出更具体的描述,这就是属性节点

DOM型XSS不需要服务器的解析响应,浏览器端就可以DOM解析,客户端上的JS脚本可以访问浏览器的DOM并修改页面内容

   非持久性

XSS paload构造

  利用【<>】构造HTML标签和<script></script>标签   //原始的标签,无防waf的能力

  利用HTML标签的属性值(伪协议)  <a href="javascript:alert(/xss/)">touch me !</a>; <img src="javascript:alert('xss')">(此标签需要在IE6下测试)

利用事件

  <img src='./aa.jpg' onm ouseover='alert(/xss/)'>  写入图片,鼠标移动到会触发,出现弹窗。

  <input type="text" onclick="alert(/xss/)">  鼠标点击会触发

考虑突破过滤:

大小写;

双写关键字;

引号;如果在HTML标签中,可以不用引号;如果在js中可以考虑用反引号代替单双引号

<img src="#" one rror="alert(/xss/)"/>

<img src='#' one rror='alert(/xss/)'/>

<img src=# one rror=alert(/xss/)/>

<img src="#" one rror=alert(`xss`)/>

<img src="#" one rror=alert`xss`/>

斜杠代替空格;

Tab与回车;

  在一些位置添加tab和回车符来绕过关键字过滤

编码;

  HTML实体编码;URL编码;

 

标签:脚本,XSS,跨站,浏览器,DOM,标签,笔记,HTML
From: https://www.cnblogs.com/galaxy-007/p/16759482.html

相关文章

  • [轻量化网络]Mnasnet学习笔记
    1.重点与亮点1.1. 多目标优化函数  将准确定性能和真实手机推理时间结合在一起,兼顾精度和速度构建出多目标的优化函数。(精度,速度)其中ACC是准确度;LAT是预测时间;T......
  • 计网学习笔记(2)——物理层
    NoteoftheComputerNetworkingReference:DataCommunicationsandNetworking(ForthEdition)Chapter3带宽符合信号包含的频率范围称为带宽(bandwidth)。带宽是最大......
  • PyTorch搭建AlexNet实现猫狗分类学习笔记
    PyTorch搭建AlexNet实现猫狗分类一篇简单的学习笔记学习视频:https://www.bilibili.com/video/BV18L4y167jr/?spm_id_from=333.1007.top_right_bar_window_custom_collect......
  • 学习笔记六
    第三章3.1~3.2多任务处理与进程多任务处理:多任务处理指的是机器同时进行几项独立活动的能力。在计算机技术中,多任务处理是通过在不同任务之间切换实现的。虽然在一个......
  • 初学C语言笔记221007
    鹏哥花了点时间教大家投资fread返回值是真实读到的元素个数while(fread(&s,sizeof(structS),1,fp){//}课后扩展mySQLfseekftellintpos=ftell(fp); //文件指针相对......
  • 系统分析师:学习笔记之一:浮点数相关
    1.尾数+阶码;2.尾数表述精度,越大,精度越高;3.阶码越大,表示的范围大;4.2个浮点数的运算,通常是尾数的移码。......
  • 图论笔记
    ♠useC++11无向图节点的度:无向图中与节点相连的边的数目。有向图......
  • 第三章读书笔记
    第三章读数笔记Unix/Linux进程管理3.1多任务管理一般来说,多任务处理指的是同时进行几项独立活动的能力。在计算机技术中,多任务处理指的是同时执行几个独立的任务。在单......
  • SPI总线学习笔记
      SPI是串行外设接口(SerialPeripheralInterface)的缩写,是一种高速的,全双工,同步的通信总线,并且在芯片的管脚上只占用四根线,节约了芯片的管脚,同时为PCB的布局上节省空间......
  • [Python学习笔记]使用Python编写自动化程序处理锂电池保护板数据 - Preface
    因为工作需要,目前要开发一款自动化处理数据的程序。该程序的功能是自动读取锂电池BMS保护板数据excel,然后分析数据,来判断保护板中可能存在问题的电芯,并显示在交互界面上。......