pikachu靶场--XSS--反射性/存储型/DOM型XSS【2.1】~【2.5】

目录

一:概述

二:反射型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对应的字段,即可执行脚本

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值