,构造闭合,在div里面通过我们的DOM的方法去获取到这个输入,然后再输出到div里面,但是它输入后既不会在URL里面,也不会被后台存储,因此在该场景下比较鸡肋。另一种场景就是,第一次输入后,会把输入的内容显示在URL中,然后后台把从URL中获取信息,将其赋值给a标签,点一下a标签,就会把其中的内容写到div里面,点击div对应的字段,即可执行脚本。同样也是先输入一些单引号双引号尖括号等特殊字符,submit之后,被原样输出,说明存在XSS漏洞,如。_">
当前位置:   article > 正文

pikachu靶场--XSS--反射性/存储型/DOM型XSS【2.1】~【2.5】_dom型xss攻击流程图

dom型xss攻击流程图

目录

一:概述

二:反射型XSS

三:存储型XSS

四:DOM型XSS


一:概述

Cross-Site Scripting:跨站脚本漏洞

Cross-Site Scripting 简称为“CSS”,为避免与前端叠成样式表的缩写"CSS"冲突,故又称XSS。一般XSS可以分为如下几种常见类型:
    1.反射性XSS;
    2.存储型XSS;
    3.DOM型XSS;

形成XSS漏洞的主要原因是程序对输入和输出没有做合适的处理,导致“精心构造”的字符输出在前端时被浏览器当作有效代码解析执行从而产生危害。
因此在XSS漏洞的防范上,一般会采用“对输入进行过滤”和“输出进行转义”的方式进行处理:
  输入过滤:对输入进行过滤,不允许可能导致XSS攻击的字符输入;
  输出转义:根据输出点的位置对输出到前端的内容进行适当转义;

XSS的危害

XSS攻击流程图

XSS常见几种漏洞

判断


二:反射型XSS

输入特殊字符后,发现并没有对输入进行限制,说明存在XSS漏洞。

 

在查询接口,先用设置--更多工具--web开发者工具将输入框的限制长度改大(将20改大)

 

注入“恶意代码”,<script>alert('xss')</script>(js中的弹窗函数)

即出现弹窗

post型也是如此,只不过get型是以URL的形式提交数据,post型是以表单的形式来提交的。


三:存储型XSS

简单认识一下存储型XSS

同样也是先输入一些单引号双引号尖括号等特殊字符,submit之后,被原样输出,说明存在XSS漏洞,如

查看页面源代码,可以看到

 

输入的特殊字符被原封不动的输出在p标签里,没有做任何过滤和转移的处理。

在留言板中,当留言以后,即使刷新页面,留言也仍然存在,原因是被后台存起来了,存到数据库里了,或者是存到配置文件里了(右键--查看页面源码--control+f可以进行关键字搜索搜索)

最后在留言板输入恶意代码,在前端就会执行。以后,每进入这个页面,恶意代码都会执行一次,成为永久型XSS.


四:DOM型XSS

DOM可以理解成访问HTML的一个标准接口,DOM在前端提供了一个通过js对整个HTML去进行操作的这么一个接口,它是前端的操作接口,和后端没有数据的交互。输入内容#'οnclick="alert(111)">,构造闭合,在div里面通过我们的DOM的方法去获取到这个输入,然后再输出到div里面,但是它输入后既不会在URL里面,也不会被后台存储,因此在该场景下比较鸡肋。

 

另一种场景就是,第一次输入后,会把输入的内容显示在URL中,然后后台把从URL中获取信息,将其赋值给a标签,点一下a标签,就会把其中的内容写到div里面,点击div对应的字段,即可执行脚本

 

 

 

 

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/花生_TL007/article/detail/150261
推荐阅读
相关标签
  

闽ICP备14008679号