码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • xss过waf的小姿势


    今天看大佬的视频学到了几个操作

    首先是拆分发可以用self将被过滤的函数进行拆分

    如下图我用self将alert拆分成两段依然成功执行

    9c6b7e1ac7ca492b86f41c01b2fb30b8.png

     然后学习另一种姿势

    这里payload的意思是将eval拆分然后解码执行svg标签里的内容 解读如下

    这里img src onerror的意思是加载一个链接加载失败就执行下面的操作

    d6d25acf33a74573a5fb5cb186812b21.png

     

    然后这个atob()是解码base64

    43bd75c6ba3b4ec8bf1b72c5cc13898a.png

    可以看见解码出来时alert(xss) 

    然后已经知道eval是用来执行操作的window['ev'+'al']是将eval拆分类似self

    d526e87786044c5aa1bec52065d8b794.png

    c309d947a2ab4ca08a2d291c6cb91438.png 

     self也是同理

    f15766e1be714148ae5560de6118aa8f.png

     

    现在来分析下面的

    (atob(document.getElementsByTagName('svg')[0].id))">

    是用什么操作我们用console.log看看他输出的是不是我们理解的意思 这里在payload加上

    7c956f83bcaa4951a32bef5016fa0e1b.png

    可以看见是和我们想的一样 获取svg第一行第一个id的值然后base64解码 并输出 用eval就可以执行alert的操作

    0e4978086c7c44139154f41110ad7332.png

     

    接下来这个是用iframe加载伪协议 然后在伪协议增加脏字符来绕过

    a28682a5d5bc44e3986cfb40251f9495.png

    可以看到这里console.log的内容成功打印出来

    这里的脏字符是换行的意思

    42f1580083e44ad29c20ee2a2e30180b.png

     

    这里是将换行符进行ascii码然后再html实体化编码用此脏字符绕过对javascript检测

    可以看见这里直接换行是成功也是成功的同理

    2b77cd8e7b8a458591e30529b644b9e2.png

    也可以将换行符换成tab键 这里tab键加密之后是

    ;

    90ac7b347ff44e41b05358f11dd6763f.png

    然后就是师傅写的一个靶场

    cce7372587254e2999318d0efad687cd.png

    从这里可以看到将括号替换成了空让alert无法执行 然后将内容输出在注释符后 让输出无法执行操作被注释掉 看起来十分的无解

    450c79cb501441b3b32b6c4d1c847ae5.png

     

    但是解开也十分简单这里直接使用换行符并进行url编码

    %0a

    然后括号用反引号代替就可以执行操作了

    e80af797453341fda7ba2748088c99b0.png

    换行之后就可以逃逸掉 注释符了也是一样成功执行 经过今天学习我发现xss绕过方法千奇百怪许多冷门标签等等都可以如果有写错的地方往大佬们纠正 qq3661629617

     

     

     

  • 相关阅读:
    OpenAI官方吴达恩《ChatGPT Prompt Engineering 提示词工程师》(6)扩写 / Expanding
    java Map遍历的5种方法和一些基本使用
    【电源专题】为开关稳压器选择正确的工作频率
    (5)点云数据处理学习——其它官网例子2
    redis-springboot、分布式锁
    免费下载缺失的DLL文件
    developer.android.com在国内无法正常访问解决方法
    QGridLayout::addWidget 的使用详解
    9款AI让你在2分钟内创建任何东西
    postman做接口自动化测试
  • 原文地址:https://blog.csdn.net/2301_81368488/article/details/136330639
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号