专利局瑞数6分析

声明

本文章中所有内容仅供学习交流使用,不用于其他任何目的,抓包内容、敏感网址、数据接口等均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关!

关键代码

document.createElement = function createElement() {
    tag = arguments[0]
    console.log('document.createElement', tag)
    if (tag == 'b') {
        return {
            getElementsByTagName: function () {
                return {length: 1}
            }
        }
    }
    if (tag == 'style') {
        return {
            appendChild: function () {
            }
        }
    }
    if (tag == 'iframe') {
        let newWindow = Object.assign({}, window)
        return {
            sandbox: "allow-same-origin allow-scripts",
            contentWindow: newWindow,
            style: {},
            id: '_s3i',
            srcdoc: 'blank\x20page',
            parentNode: document.body

        }
    }
    if (tag == 'canvas') {
        canvas = new HTMLCanvasElement()
        return canvas
    }
    if (tag == 'div') {
        return {
            tagName: "DIV",
            appendChild: function () {
            },
            removeChild: function () {
            },
            getElementsByTagName(name) {
                console.log('getElementsByTagName', name)
                if (name == 'i') {
                    return {}
                }
            }
        }
    }
    if (tag == "audio") {
        return new HTMLAudioElement()
    }
    if (tag == 'video') {
        return new HTMLVideoElement()
    }
    if (tag == 'span') {
        return {style: {}, tagName: "SPAN"}
    }
    if (tag == 'a') {
        return {}
    }
    debugger;
}
document.createTextNode = function createTextNode() {
    return function () {
    }
}
document.getElementsByTagName = function () {
    console.log('document.getElementsByTagName', arguments)
    tag = arguments[0]
    if (tag == 'meta') {
      return [{}]
    if (tag == 'body') {
        return []
    }
    if (tag == 'i') {
        return []
    }
    if (tag == 'script') {
        return {}
    if (tag == 'base') {
        return []
    }
}

结果

总结

1.出于安全考虑,本章未提供完整流程,调试环节省略较多,只提供大致思路,具体细节要你自己还原,相信你也能调试出来。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值