XSS基础
Posted 渗透云笔记
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了XSS基础相关的知识,希望对你有一定的参考价值。
XSS基础
XSS大家一定不陌生,上章咱们就用到XSS来抓取token,XSS到底是什么呢?这里给大家从基础开始讲解
XSS概述
XSS攻击是Web攻击中最常见的攻击方法之一,它是通过对网页注入可执行代码且成功地被浏览器 执行,达到攻击的目的。
XSS的分类
反射型XSS
反射型也是最简单的一种,它的存在往往伴随着一个输入一个输出,期间可能会夹杂着过滤,但是这种反射型的XSS是各大企业站修不完的漏洞,虽然没有什么价值,但是在本文里它起到了一个入门的作用
像下面实例,我插入了测试代码弹窗成功后,刷新一遍还有,我判断他是存储型XSS
测试及技巧
上面的实战中,检测时在搜索框,姓名,个人信息,留言板,URL参数等地方是否过滤了 < , > , / 等符号,
如果没有,插入<script>alert(/xss/)</script>进行简单的测试,当然我们的存储型测试也是一样的
存储型XSS
允许用户储存数据的web应用,都有可能出现存储型XSS。实例
存储型XSS挖掘同上,这个是dz3.2的一个存储型XSS.
在挖掘的过程中会遇到黑名单过滤,大家可以使用编码转换、大小写混淆或者利用一些特殊的函数、标签来绕过黑名单
DOM型XSS
DOM型XSS其实是一种特殊类型的反射型XSS,它是基于DOM文档对象模型的一种漏洞。
DOM型XSS都是在前台实现
与反射型XSS、存储型XSS的区别就在于xss代码并不需要服务器解析响应的直接参与,触发XSS靠的是浏览器端的DOM解析。
什么是DOM
百度百科的解释
DOM实际上是以面向对象方式描述的文档模型。DOM定义了表示和修改文档所需的对象、这些对象的行为和属性以及这些对象之间的关系。可以把DOM认为是页面上数据和结构的一个树形表示,不过页面当然可能并不是以这种树的方式具体实现。
通过javascript,您可以重构整个html文档。您可以添加、移除、改变或重排页面上的项目。
测试代码(因为我没找到实例)
<script>
document.write(document.URL.substring(document.URL.indexOf("a=")+2,document.URL.length));
</script>
代码里使用了document.URL,字符串会在解析时嵌入到HTML中,然后立即解析,同时javascript代码会找到alert(1)并且在同一个页面执行它,产生xss的条件
两种POC
#' οnclick="alert(111)">
#">< img src=@ οnerrοr=alert(1)>
来源于大佬的博客
全面的我就不写了,一个大佬的博客写的很全面,我就不卖弄我的那些了,希望渗透云笔记能够帮助到您。
时间太短,还没研究出来个所以然,后台回复XSS,获取我最近研究的资料,一起研究吧
以上是关于XSS基础的主要内容,如果未能解决你的问题,请参考以下文章