绕过退税查询前端校验方法 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
rossroma

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

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

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


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

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

    提示「 2025 年度汇算将于 2026 年 03 月 01 日开始。」
    Yorkzhu
        87
    Yorkzhu  
       Feb 27
    已经不行,守方又发力了
    zakzheng888
        88
    zakzheng888  
       Feb 27
    ecapsul
        89
    ecapsul  
       Mar 10
    当心让你们多缴税当罚款
    About     Help     Advertise     Blog     API     FAQ     Solana     2354 Online   Highest 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 181ms UTC 01:21 PVG 09:21 LAX 18:21 JFK 21:21
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86