XSS学习(一)
XSS(一)
XSS分类
1.反射型XSS
2.持久性XSS
3.DOM型XSS
****
反射型XSS
也称作非持久型,参数型跨站脚本
主要将Payload附加到URL地址参数中
例如:
http://127.0.0.1/XSS.php?name=<script>alert(`XSS`)</script>
持久型XSS
又称存储型跨站脚本
此类XSS不需要用户单机特定URL就能执行跨站脚本
攻击者事先将恶意JS代码上传或存储到漏洞服务器中
当受害者浏览包含此恶意JS代码的页面就会执行JS代码
DOM树
DOM会将XML文件的节点构建成树桩,以此反映文件本身的阶层结构
DOM节点:
文档是由节点构成的集合,在DOM里存在许多不同类型的节点,主要分为三种
- 元素节点--
<body>、<p>、<ul>之类的元素在文档中的布局形成了文档的结构,称为元素节点 - 文本节点--包含一些内容,多数由文本提供
- 属性节点--元素或多或少都有一些属性,属性用于对元素做出更具体的描述
DOM型XSS原理
客户端的脚本程序可以通过DOM动态地检查和修改页面内容
程序执行不依赖于服务器端的数据,从客户端获得的DOM中的数据并在本地执行
浏览器用户可以操纵DOM的一些对象,比如URL、LOCATIOIN等
用户在客户端输入的数据如果包含了恶意JS脚本,而这些脚本没有经过适当的过滤和消毒,应用程序就可能受到基于DOM的XSS攻击
简单示例:
HTML页面
<body>
<div id = "private_msg>'XSS test'</div>
</body>
JS:
<script>
var text = document.getElementById('private_msg').innerHTML;
alert(text);
</script>
查找DOM树方法
document.getElementById
document.getElementByName
document.getElementsByTagName
XSS学习(一)的更多相关文章
- 第四次:渗透练习,xss学习
xss学习 一.学习目的 初步了解xss攻击,不包括(DOM类型) 二.附加说明 1.xss介绍 https://baike.baidu.com/item/XSS%E6%94%BB%E5%87%BB/ ...
- XSS学习(未完..)
前言 XSS 漏洞原理非常简单,实际应用中非常灵活,于是通过 prompt(1) to win 来学习学习 正文 工具 分析正则表达式 https://regex101.com/ http://xss ...
- PostMessage xss学习和挖掘
PostMessage xss很有趣,在国外出现了很多次,国内src/众测从没遇到过,挖到过.可能境界还不够,有机会再去试试.好几年前记得心血来潮学过一次,都是半知半解,后来因为重要性不高,不了了之了 ...
- XSS学习笔记(四)-漏洞利用全过程
<script type="text/javascript" reload="1">setTimeout("window.location ...
- XSS学习笔记(一个)-点击劫持
所谓XSS这个场景被触发XSS地方,在大多数情况下,攻击者被嵌入在网页中(问题)该恶意脚本(Cross site Scripting),这里的攻击始终触发浏览器端,攻击的者的目的.一般都是获取用户的C ...
- XSS学习笔记(五)-XSS防御
如果只生产XSS的地方都与输入或输出相关联的.所以错过了主要矛盾.而且,我们将有一个解决问题的办法:您可以输入端砚格过滤,是可能的过滤输出时间,输出到用户的GET或POST中是否有敏感字符: 输入过滤 ...
- 【转载】XSS学习笔记
XSS的分类 非持久型 非持久型XSS也称反射型XSS.具体原理就是当用户提交一段代码的时候,服务端会马上返回页面的执行结果.那么当攻击者让被攻击者提交一个伪装好的带有恶意代码的链接时,服务端也会立刻 ...
- 跨站脚本攻击xss学习
0.认识跨站脚本 举一个跨站脚本的简单例子. 假设一个页面将用户输入的参数直接显示到页面之中.(比如有如下代码) 在实际的浏览器中,在param中提交的参数正常会展示到页面之中.比如输入下面的URL: ...
- XSS学习(二)
尝试操作Cookie 创建一个cookie,需要提供cookie的名字,值,过期时间和相关路径等 <?php setcookie('user_id',123); ?> 它的作用是创建一个c ...
随机推荐
- css 底层知识点
(摘自张鑫旭老师的课程内容) position: absolute 1. 定位元素(关闭按钮etc):dom顺序保持正确,然后根据absolute的位置跟随性(脱离文档流但是位置不变)和margin值 ...
- JQuery案例一:实现表格隔行换色
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- Linux Network Command
查看 内外网访问ipnetstat -an download file from server scp -r root@139.xxx.xxx.82:~/virtualbox.box /tmp/
- Ubuntu下安装git
1 安装 官网上提供的命令是: $ sudo add-apt-repository ppa:git-core/ppa 中间暂停时,按回车键Enter继续安装. $ sudo apt-get updat ...
- "HTML编码规范" 笔记
转自学习网站(百度原创):https://github.com/ecomfe/spec/blob/master/html-style-guide.md 本文是百度培训网站上关于HTML编码规范的笔记, ...
- 解决ps不能直接把文件拖进去的问题
在运行里输入regedit,然后确定,在里面按照HKEY_LOCAL_MACHINE > SOFTWARE > Microsoft > Windows > CurrentVer ...
- Charles几个常用测试功能小结
Charles应该是目前最常用的代理软件(之一),使用简单.Charles强大的抓包与协议调试代理功能可以满足我们大部分需求,居然还免费(我可没说有破解版).日常测试中,我吗常用的几个功能主要是抓取网 ...
- C语言---指针变量详解1
数据在内存中的地址也称为指针,如果一个变量存储了一份数据的指针,我们就称它为指针变量.在C语言中,允许用一个变量来存放指针,这种变量称为指针变量.指针变量的值就是某份数据的地址,这样的一份数据可以是数 ...
- Qt设置创建部分半透明,上面控件不透明
//头文件#pragma once #include <QWidget> #include "ui_widgetFullAD.h" class widgetFullAD ...
- 【Python】随机数random模块randint、shuffle、random、sample、choice、uniform、
1 ).random() 返回0<=n<1之间的随机实数n:2 ).choice(seq) 从序列seq中返回随机的元素:3 ).getrandbits(n) 以长整型形式返回n个随机位: ...