• 【XSS技巧拓展】————21、Location Based Payloads – Part IIII


    Document Properties Scheme

    location.protocol

    protocol://domain/path/page?p= text1 <tag handler=code> text2 # text3

    location.hostname

    protocol://domain/path/page?p= text1 <tag handler=code> text2 # text3

    location.pathname

    protocol://domain/path/page?p= text1 <tag handler=code> text2 # text3

    location.search

    protocol://domain/path/page?p= text1 <tag handler=code> text2 # text3

    previousSibling.nodeValue, document.body.textContent*

    protocol://domain/path/page?p= text1 <tag handler=code> text2 # text3

    tagName, nodeName

    protocol://domain/path/page?p= text1 <tag handler=code> text2 # text3

    outerHTML

    protocol://domain/path/page?p= text1 <tag handler=code> text2 # text3

    innerHTML**, textContent**, nextSibling.nodeValue**, firstChild.nodeValue**, lastChild.nodeValue**

    protocol://domain/path/page?p= text1 <tag handler=code> text2 # text3

    location.hash

    protocol://domain/path/page?p= text1 <tag handler=code> text2 # text3

    URL, documentURI

    protocol://domain/path/page?p= text1 <tag handler=code> text2 # text3

    —– x —–

    To make it easy to replace one property by another in case of blacklist or something, here we have them grouped  by position:

    Before

    previousSibling.nodeValue, document.body.textContent*

    Itself

    location.search, tagName, nodeName, outerHTML

    After**

    textContent, nextSibling.nodeValue, firstChild.nodeValue, lastChild.nodeValue, innerHTML

    Hash

    location.hash

    * comes with source content (body)

    ** may need to close the injected tag

    So when building a location based payload using document properties to avoid filtered chars and/or in filtered sequences (like after on*=), this may help to choose the right ones for the injection.

    #hack2learn

    总会有不期而遇的温暖. 和生生不息的希望。
  • 相关阅读:
    javascript入门篇(一)
    vue开发项目详细教程(第一篇 搭建环境篇)
    node基础03:使用函数
    node基础02:第一个node程序
    node基础01:简要介绍
    mac基本用法
    ES5基础01:正则表达式
    php基础11:运算符
    H5(一):使用formData对象模拟表单
    HTTP基础(一):如何使用浏览器network查看请求和响应的信息
  • 原文地址:https://www.cnblogs.com/devi1/p/13486394.html
Copyright © 2020-2023  润新知