绕过退税查询前端校验方法 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
rossroma
V2EX    分享发现

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

  •  
  •   rossroma 17 小时 49 分钟前 4036 次点击

    接前一篇帖子: 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 年的退税信息。

    61 条回复    2026-02-26 10:54:26 +08:00
    stinkytofux
        1
    stinkytofux  
       17 小时 48 分钟前
    真的挺闲的, 这有啥好查的. 还想方设法提前查. 每年我都是拖到最后才搞, 烦得很.
    BanShe
        2
    BanShe  
       17 小时 45 分钟前
    给 op 的探索精神加鸡腿
    img src="https://cdn.v2ex.com/gravatar/0c6b362369c7a60cfe57400e21babf4d?s=48&d=retro" class="avatar" border="0" align="default" alt="honggexuan" data-uid="333762" />
        3
    honggexuan  
       17 小时 36 分钟前
    点赞,已成功进入
    canvascat
        4
    canvascat  
       17 小时 32 分钟前
    真厉害,怎么想到的
    tangzui
        5
    tangzui  
       17 小时 31 分钟前
    老哥,图片看不了啊
    jiny28
        6
    jiny28  
       17 小时 30 分钟前
    ok,已经成功进入
    panbofeng
        7
    panbofeng  
       17 小时 29 分钟前
    gotopage 咋跳转到具体代码的呀,我这边点了后只能跳转到调用 gotopage 的地方
    cpstar
        8
    cpstar  
       17 小时 29 分钟前
    这事么,当年靠 F12 得了 X 程的巴厘岛优惠,也拿过小米初代工程机,现在还在搞一些前端控制的“作弊”比如强制学习之类的系统。

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


    用你这个方法查起来快多了
    bjfane
        45
    bjfane  
    PRO
       14 小时 24 分钟前
    @823805669hehe 牛 虽然下半年失业,看到能退 4000 多,安慰了一下
    uxgnok
        46
    uxgnok  
       14 小时 18 分钟前
    可行。
    dddragonzz
        47
    dddragonzz  
       14 小时 18 分钟前
    @hahahabro 大佬牛!看到了,但是要补两千多,难受哈哈哈
    FrankAdler
        48
    FrankAdler  
       14 小时 12 分钟前
    @hahahabro nice
    sobev
        49
    sobev  
       13 小时 20 分钟前
    牛批
    zooo
        50
    zooo  
       13 小时 16 分钟前
    卧槽我年初换工作,我要补 7000+,我醉了
    lyzy
        51
    lyzy  
       12 小时 48 分钟前
    @823805669hehe #38 牛皮 查到是退税
    hellodigua
        52
    hellodigua  
       12 小时 8 分钟前
    太有工匠精神了
    fzazhao
        53
    fzazhao  
       11 小时 1 分钟前 via Android
    为楼主的钻研精神点赞
    iwh718
        54
    iwh718  
       8 小时 27 分钟前 via Android
    能退个房租钱。可能是因为上半年有几个月待业。
    Tdy95
        55
    Tdy95  
       1 小时 22 分钟前
    前端大师~
    mouseman
        56
    mouseman  
       1 小时 13 分钟前
    @SuspectX #37 低于 400 好像不用补
    Dogergo
        57
    Dogergo  
       50 分钟前
    虽然很厉害,但是,老哥,我一个破坏计算机系统的罪名按上去,没造成破坏,可能是个训诫,你怕不怕
    karmaisbitch
        58
    karmaisbitch  
       31 分钟前
    牛啊
    GalaxyVIP
        59
    GalaxyVIP  
       23 分钟前
    搞定了,应补税 0 元,哎~
    timeromantic
        60
    timeromantic  
       21 分钟前
    高手,你是我的神
    lightattractbugs
        61
    lightattractbugs  
       7 分钟前
    @Dogergo 光速滑跪
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     5795 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 40ms UTC 03:02 PVG 11:02 LAX 19:02 JFK 22:02
    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