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,获取我最近研究的资料,一起研究吧

原文发布于微信公众号 - 渗透云笔记(shentouyun)

原文发表时间:2019-08-10

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

扫码关注云+社区

领取腾讯云代金券