rossroma

绕过退税查询前端校验方法

  •  1
     
  •   rossroma · Feb 25 · 9918 views
    This topic created in 251 days ago, the information mentioned may be changed or developed.

    接前一篇帖子: https://v2ex.com/t/1193867#reply171

    等我查的时候,发现加了校验,查不了 25 年的退税了。不过有细心的 V 友发现,是纯前端的校验,并没有发起后端请求,那么就有方法绕过前端校验。

    步骤如下,略微有些麻烦,建议使用无痕模式,普通模式下我遇到过 Chrome 卡死的问题。


    步骤一:禁用 debugger 反调试

    打开控制台,发现一直弹 debugger,点击继续执行,最后会一直落到下面的代码上。

    右键点击 debugger 这一行代码,选择「将匿名脚本添加至忽略列表」,后面就不会再弹了。

    步骤一截图


    步骤二:查找按钮绑定的事件

    网站的代码添加了反调试保护,无法直接看到按钮绑定的事件,所有的事件都被统一包装了一层,需要通过如下方法查到对应的源码。

    在控制台输入如下代码,然后执行:

    const button = document.querySelector(".J_NextStep")
    getEventListeners(button)
    

    然后会看到如下信息,点击箭头位置,穿透到代码片段。

    步骤二截图


    步骤三:找到 arguments 行并设置断点

    这段代码应该是动态的,每次点击进来函数名都不一样。找到有 arguments 这一行,进行断点。

    步骤三截图


    步骤四:Hook Function.prototype.apply 拦截调用

    点击提交按钮,当代码运行到上面的断点一行时,在控制台输入如下代码:

    const oldApply = Function.prototype.apply;
    
    Function.prototype.apply = function(ctx, args) {
        console.log("调用函数:", this);
        console.log("参数:", args);
        debugger;
        return oldApply.call(this, ctx, args);
    };
    

    然后点击断点控制处的继续执行脚本,此时控制台会输出非常多的信息,使用 goto 关键词过滤一下,找到如下信息:

    步骤四截图


    步骤五:穿透至 gotoPage 函数

    点击这里的代码穿透至具体的逻辑代码,并在当前页面找到 gotoPage 函数声明的位置,这里才是真正逻辑判断的地方。

    步骤五截图


    步骤六:修改日期校验数据,绕过校验

    在该函数内添加断点,当代码执行到该断点时,将 this 变量保存到全局,然后在控制台执行下面代码,将校验逻辑跳过即可:

    this.data.minDate = null
    this.data.maxDate = null
    

    以上步骤完成后,即可绕过前端日期校验,查询 25 年的退税信息。

    89 replies  •  2026-03-10 11:44:51 +08:00
    stinkytofux
    1
    真的挺闲的, 这有啥好查的. 还想方设法提前查. 每年我都是拖到最后才搞, 烦得很.
    BanShe
    BanShe
    Feb 25❤️1
    2
    给 op 的探索精神加鸡腿
    honggexuan
    3
    点赞,已成功进入
    canvascat
    canvascat
    Feb 25
    4
    真厉害,怎么想到的😍
    tangzui
    tangzui
    Feb 25
    5
    老哥,图片看不了啊
    jiny28
    jiny28
    Feb 25
    6
    ok,已经成功进入
    panbofeng
    panbofeng
    Feb 25
    7
    gotopage 咋跳转到具体代码的呀,我这边点了后只能跳转到调用 gotopage 的地方
    cpstar
    cpstar
    Feb 25
    8
    这事么,当年靠 F12 得了 X 程的巴厘岛优惠,也拿过小米初代工程机,现在还在搞一些前端控制的“作弊”比如强制学习之类的系统。

    没啥新鲜的,程序员么,逆向程序员的思路很简单,特别是在 B/S 架构下的前后端分离。但要想搞定后端,那就,嘿嘿了。
    chekun
    chekun
    Feb 25
    9
    费劲看这个干啥呀
    kfpenn
    kfpenn
    Feb 25
    10
    反应这么快啊,立马就加校验了
    panbofeng
    panbofeng
    Feb 25
    11
    搞定了,感谢楼主
    lengmou
    lengmou
    Feb 25
    12
    找到 goto 的时候,弹窗已经出现了,还怎么下一步啊
    panbofeng
    panbofeng
    Feb 25
    13
    @lengmou 现在函数里面加个断点,然后把弹窗点掉重新来,等他停在你的端点,再输入步骤六的代码。
    aizya
    aizya
    Feb 25
    14
    可以的,又学到一招。👍
    xiapipi
    xiapipi
    Feb 25
    15
    可以,进去了。
    dobelee
    dobelee
    Feb 25
    16
    @lengmou 第一行加断点,执行,block 住时清掉时间就好
    lengmou
    lengmou
    Feb 25
    17
    @panbofeng #13 OK ,成功了,感谢,以及感谢 OP
    V1Eerie
    V1Eerie
    Feb 25
    18
    @panbofeng #7 在那个 js 文件里找函数声明的地方就行
    wenrouxiaozhu
    19
    @stinkytofux #1 早点退了去理财,hh...其实选"扣缴义务人申报"就不用退了
    zhuzhibin
    zhuzhibin
    Feb 25
    20
    哈哈 我好菜 我刚试了下断点后 控制台没找到 goto
    lengmou
    lengmou
    Feb 25
    21
    @zhuzhibin #20 顶部这输入 goto
    busln
    busln
    Feb 25
    22
    感谢分享,已成功查到
    Philosophy6
    23
    牛的
    ewillie381
    24
    同找不到 goto, 发现到后边找到的函数直接没有函数名了? 不知道是不是这个问题
    yao978318542
    25
    果然有高手,已经查看到了,多谢
    Sanshi4396
    26
    第四步拦截不到函数调用啊
    zhuzhibin
    zhuzhibin
    Feb 25
    27
    @lengmou 不是,就是步骤四后,点击确定,然后继续执行脚本后控制台一堆 consolelog ,根据 goto 没过滤出。。
    chenxiansheng
    28
    哪有这么麻烦,把那个 disable 样式去掉就可以了
    aecra
    aecra
    Feb 25
    29
    成功了,感谢
    wenrouxiaozhu
    30
    @chenxiansheng #28 已经不行了
    SnowAngelDream
    31
    成功了,感谢楼主科研
    zhuzhibin
    zhuzhibin
    Feb 25
    32
    可以了 其实直接去掉 disable 然后拦截调用,多点击确定提交,找到对应函数,然后进入断点,拦截重置为 null 就行
    minglanyu
    minglanyu
    Feb 25
    33
    这是高手
    catazshadow
    catazshadow
    Feb 25 via Android
    34
    人人都是电脑高手
    labubu
    labubu
    Feb 25
    35
    ai 写个油猴脚本
    yanguangs
    yanguangs
    Feb 25
    36
    草了, 要补 1000 多块
    SuspectX
    SuspectX
    Feb 25 via Android
    37
    要补税 41😅 去年特意考了个软考证,还以为能退点😂
    823805669hehe
    38
    ![]( )
    ![]( )
    这个方法更简单
    hahahabro
    hahahabro
    Feb 25
    39
    @823805669hehe 牛的!
    dddragonzz
    40
    @hahahabro 大佬,改完之后的步骤怎么搞?
    tuutoo
    tuutoo
    Feb 25
    41
    论坛里高手如云
    hahahabro
    hahahabro
    Feb 25❤️1
    42
    @dddragonzz override content 之前会提醒选一个文件夹保存,选好后再改,改完 ctrl+s 保存,然后刷新页面。
    hahahabro
    hahahabro
    Feb 25❤️1
    43
    @dddragonzz 然后 2025 的那个 disabled 标签还是要手动去掉。
    Leeeeex
    Leeeeex
    Feb 25
    44
    @823805669hehe

    牛
    用你这个方法查起来快多了
    bjfane
    bjfane
    Feb 25
    45
    @823805669hehe 牛 虽然下半年失业,看到能退 4000 多,安慰了一下
    uxgnok
    uxgnok
    Feb 25
    46
    可行。
    dddragonzz
    47
    @hahahabro 大佬牛!看到了,但是要补两千多,难受哈哈哈
    FrankAdler
    48
    @hahahabro nice
    sobev
    sobev
    Feb 25
    49
    牛批
    zooo
    zooo
    Feb 25
    50
    卧槽我年初换工作,我要补 7000+,我醉了
    lyzy
    lyzy
    Feb 25
    51
    @823805669hehe #38 牛皮 查到是退税
    hellodigua
    52
    太有工匠精神了🤣
    fzazhao
    fzazhao
    Feb 26 via Android
    53
    为楼主的钻研精神点赞👍
    iwh718
    iwh718
    Feb 26 via Android
    54
    能退个房租钱。可能是因为上半年有几个月待业。😂
    Tdy95
    Tdy95
    Feb 26
    55
    前端大师~
    mouseman
    mouseman
    Feb 26
    56
    @SuspectX #37 低于 400 好像不用补
    Dogergo
    Dogergo
    Feb 26
    57
    虽然很厉害,但是,老哥,我一个破坏计算机系统的罪名按上去,没造成破坏,可能是个训诫,你怕不怕
    karmaisbitch
    58
    牛啊
    GalaxyVIP
    GalaxyVIP
    Feb 26
    59
    搞定了,应补税 0 元,哎~
    timeromantic
    60
    高手,你是我的神
    lightattractbugs
    61
    @Dogergo 光速滑跪
    InfiniteMirage
    62
    厉害了
    nakun233
    nakun233
    Feb 26
    63
    补税是怎么补啊,直接扣我银行卡钱吗,可以不补吗,要补 1K7
    irisdev
    irisdev
    Feb 26
    64
    @Dogergo #57 纯客户端操作用自己账号破坏啥系统了啊
    Ccccccharlie
    65
    夯
    dishiao
    dishiao
    Feb 26
    66
    @823805669hehe 前端大佬
    superrichman
    67
    牛的,这个调试思路值得借鉴
    qzx135695
    qzx135695
    Feb 26
    68

    也可以直接禁用断点 也很方便
    fredz
    fredz
    Feb 26
    69
    看不到图了?
    QiLetian
    QiLetian
    Feb 26
    70
    高手
    4NF
    4NF
    Feb 26
    71
    @823805669hehe 卧槽我查出来 应纳税所得额合计 77510.89 元
    Jokerboozp
    72
    看到了,牛批。要退 900 多
    lyseky
    lyseky
    Feb 26
    73
    可以,不错
    Femtedele
    Femtedele
    Feb 26
    74
    MrBrand
    MrBrand
    Feb 26
    75
    不用这个这么麻烦吧,昨天试了
    1 、打开控制台
    2 、禁用断点
    3 、找到 2025 节点的 html 代码
    4 、删掉 2025 节点 html 代码上的 onclick 和 disabled 就可以了
    Hozoy
    Hozoy
    Feb 26❤️1
    76
    用另外一个最朴素的思路试了一下也可以,撸了一个 iOS 的 safari 插件,安装即用 https://s.hozoy.cn/86UTCQ
    Kazetachinu
    78
    @Mrliduanyang #77 点进去是空白啊
    pe4ch0
    pe4ch0
    Feb 26
    79
    @Mrliduanyang #77 空白的
    ModiKa2022
    80
    感谢,感谢, 已经查询出来了!!!
    Mrliduanyang
    81
    @Kazetachinu sorry ,看来是又拦了,昨晚还可以。
    Mrliduanyang
    82
    @pe4ch0 sorry ,看来是又拦了,昨晚还可以。
    lynzya
    lynzya
    Feb 26
    83
    估计这个开发者也刷 v 站
    ni2gub1onm
    84
    好像又不行了还是白屏啊,有没有大佬救救
    abvatous
    abvatous
    Feb 26
    85
    @823805669hehe 大佬,这个方法在 MAC Chrome 失效了,是不是得指定 Win ?
    c0dedance
    c0dedance
    Feb 26
    86
    gotoPage 跳转后被拦截了

    提示「 2025 年度汇算将于 2026 年 03 月 01 日开始。」
    Yorkzhu
    Yorkzhu
    Feb 27
    87
    已经不行,守方又发力了
    zakzheng888
    88
    ecapsul
    ecapsul
    Mar 10
    89
    当心让你们多缴税当罚款
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   2944 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 164ms · UTC 11:25 · PVG 19:25 · LAX 03:25 · JFK 06:25
    ♥ Do have faith in what you're doing.