当前位置: 首页 > news >正文

XSS DOM漏洞复现 与DOM 破坏

目录

DOM关卡部分复现

DOM破环


DOM关卡部分复现

第一关

此关过滤了字母数字,所以只能用编码去解决,去JSFUCK上面把alert(1337)编码,然后再编码成url编码格式  放入即可

第二关

这一关过滤了符号和关键字,关键字还过滤了confirm和prompt

第一种解法 用匿名函数

?mafia=Function(/ALERT(1337)/.source.toLowerCase())()

第二种parseint 解析一个字符串并返回指定基数的十进制整数,radic是2-36之间的整数,表示被解析字符串的基数

parseint()先把alert转成用30进制为8680439,然后再用toString转化回来

?mafia=eval(8680439..toString(30))(1337)

第三种  用location.hash.slice(1)#alert(1337)   前面表示取第一个字符

?mafia=eval(location.hash.slice(1))#alert(1337)

DOM破环

箭头指的地方则是前端过滤框架,无法绕过,所以入手点应该在时间函数这里

因为我们可以直接用标签的id和name取出标签

我们现在需要构造一个id为ok的a标签,a 标签有tostring方法,弹窗 会把href里面的内容自动转码当成一个字符串打印出来

setTimeout时间函数是可以把我们想要操作的函数放进字符串去执行的

获取到ok,会自动用tostring方法,获取href属性

但是没有绕过过滤框架,这个javascript在黑名单里面,去白名单找另外的

然后换成cid 即可,成功执行

构造一个DOM破坏  环境

指针的原理,删完一个,指针会后移动,所以删除1,3,5的位置 ,2,4位置保留,那么把payload写到2,4,位置即可

#<img abc=1 src=1 aaa=2 onerror=alert(1)>

但是可以修复这个

绕过:

CSS动画,下面的el删除的是后面的input的内容,已经通过它们占了。在执行动画前会执行alert

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • ARM/Linux嵌入式面经(二四):国光电器
  • 雷达气象学(9)——反射率因子图分析(强对流篇)
  • 二十、观察者模式
  • 在postman设置请求里带动态token,看看这两种方法!
  • Python接口自动化之unittest单元测试
  • 深入理解指针(五)
  • 分享一个基于SpringBoot的戏剧戏曲科普平台的设计与实现(源码、调试、LW、开题、PPT)
  • 【观察者模式】设计模式系列: 实现与最佳实践案例分析
  • 前端案例:Alloy Team|腾讯全端项目(响应式)
  • 【项目】基于Vue3.2+ElementUI Plus+Vite 通用后台管理系统
  • 安全测试参考标准
  • springboot 整合spring-boot-starter-data-elasticsearch
  • FPGA开发——UART回环实现之接收模块的设计
  • 嵌入式人工智能ESP32(4-PWM呼吸灯)
  • qemu的VNC协议(RFB协议)
  • 【347天】每日项目总结系列085(2018.01.18)
  • DataBase in Android
  • Java到底能干嘛?
  • Linux快速配置 VIM 实现语法高亮 补全 缩进等功能
  • Protobuf3语言指南
  • RxJS 实现摩斯密码(Morse) 【内附脑图】
  • 产品三维模型在线预览
  • 从输入URL到页面加载发生了什么
  • 从伪并行的 Python 多线程说起
  • 浮动相关
  • 基于 Babel 的 npm 包最小化设置
  • 基于Javascript, Springboot的管理系统报表查询页面代码设计
  • 基于webpack 的 vue 多页架构
  • 前端每日实战:70# 视频演示如何用纯 CSS 创作一只徘徊的果冻怪兽
  • 用quicker-worker.js轻松跑一个大数据遍历
  • 原生JS动态加载JS、CSS文件及代码脚本
  • 智能网联汽车信息安全
  • 转载:[译] 内容加速黑科技趣谈
  • media数据库操作,可以进行增删改查,实现回收站,隐私照片功能 SharedPreferences存储地址:
  • [地铁译]使用SSD缓存应用数据——Moneta项目: 低成本优化的下一代EVCache ...
  • ​LeetCode解法汇总2182. 构造限制重复的字符串
  • ​如何使用QGIS制作三维建筑
  • #C++ 智能指针 std::unique_ptr 、std::shared_ptr 和 std::weak_ptr
  • #设计模式#4.6 Flyweight(享元) 对象结构型模式
  • #我与Java虚拟机的故事#连载16:打开Java世界大门的钥匙
  • (1)(1.8) MSP(MultiWii 串行协议)(4.1 版)
  • (20)docke容器
  • (Java入门)抽象类,接口,内部类
  • (翻译)Entity Framework技巧系列之七 - Tip 26 – 28
  • (附源码)ssm学生管理系统 毕业设计 141543
  • (牛客腾讯思维编程题)编码编码分组打印下标(java 版本+ C版本)
  • (三十)Flask之wtforms库【剖析源码上篇】
  • (一)Java算法:二分查找
  • (转)Spring4.2.5+Hibernate4.3.11+Struts1.3.8集成方案一
  • .MyFile@waifu.club.wis.mkp勒索病毒数据怎么处理|数据解密恢复
  • .NET 5.0正式发布,有什么功能特性(翻译)
  • .NET设计模式(7):创建型模式专题总结(Creational Pattern)
  • .NET中分布式服务
  • //usr/lib/libgdal.so.20:对‘sqlite3_column_table_name’未定义的引用
  • /etc/shadow字段详解