V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
cnkuner
V2EX  ›  问与答

宽带 WEB 验证求助。

  •  
  •   cnkuner · 2015-09-15 08:03:32 +08:00 · 2187 次点击
    这是一个创建于 3350 天前的主题,其中的信息可能已经有所发展或是发生改变。

    最近刚上班,确信现实永远比想象的操蛋。
    公司( G*V )是需要 WEB 验证才能访问外网,但是,由路由共享的网笔记本验证了,手机还得验证。我修改了路由 LAN 口的子网掩码,这个问题算是解决了。

    验证需要保证那个验证网页一直打开,只要关闭就不行。抓包发现该页面不定时(确实不定时)和网关进行通信, POST 链接。发一个含有账号的通信内容。

    有没有路由能破。

    10 条回复    2015-09-15 09:26:53 +08:00
    shierji
        1
    shierji  
       2015-09-15 08:14:43 +08:00
    装个 curl 定期 post ?
    所有 openwrt 路由器都可以吧
    cnkuner
        2
    cnkuner  
    OP
       2015-09-15 08:21:40 +08:00
    @shierji
    请求正文是
    username=用户名&userip=内网 IP&secret=15 位的字符串
    问题在于那个 15 位的字符串每次登陆后都会改变。
    另外,只有个刷了潘多拉的小米路由 MINI 。
    roychan
        3
    roychan  
       2015-09-15 08:23:48 +08:00
    这个有心跳包的啊,那就完全模拟浏览器行为吧。。。
    yov123456
        4
    yov123456  
       2015-09-15 08:34:15 +08:00 via iPhone
    写个 python 脚本啊→_→
    GPU
        5
    GPU  
       2015-09-15 08:37:44 +08:00
    锐捷都能搞掂 , 这个真不算什么 。
    cnkuner
        6
    cnkuner  
    OP
       2015-09-15 08:50:51 +08:00
    @roychan
    @yov123456
    @GPU
    求解决方案。

    //----------------keeep alive---------------
    function getCookie (name ) {
    var arr = document.cookie.match (new RegExp ("(^| )"+name+"=([^;]*)(;|$)"));
    if (arr != null )
    return unescape (arr[2]);
    return null;
    }
    function webauthkeepalive_fun (username,userip,secret ) {
    $.ajax ({
    url: 'auth_submit.php?act=keepalive&t=' + Math.random (),
    type: 'POST',
    data: 'username='+encodeURI (username )+'&userip='+userip+'&secret='+secret,
    timeout: 30000,
    async:false,
    error: ajaxErrorLoad,
    success: function (data ) {
    var sh = '';
    if (data.indexOf ('0#') > -1 ){
    $('.login_success_div').hide ();
    $('.login_div').show ();
    clearTimeout (sh );
    }
    else{
    var arr = data.split ('$');
    var time = arr[4];
    time = parseInt (time ) * 1000;
    if (time > 0 ){
    var sh = setTimeout ('webauthkeepalive_fun (\''+arr[0]+'\',\''+arr[2]+'\',\''+arr[3]+'\')',time );
    $('#keepalive_Prompt').html ('请在上网期间保持此页面打开');
    }else
    $('#keepalive_Prompt').html ('');
    var arr = data.split ('$');
    $('.login_success_div').show ();
    $('.login_div').hide ();
    $('#login_username').html (arr[0]);
    $('#login_time').html (arr[1]);
    $('#login_ip').html (arr[2]);
    if (arr[5]){
    $('#login_duration').html (time_To_hhmmss (parseInt (arr[5])));
    $('#login_duration_timer').val (arr[5]);
    }
    }
    }
    });
    }
    Mac
        7
    Mac  
       2015-09-15 08:55:37 +08:00
    深信服的 SSL VPN ?
    GPU
        8
    GPU  
       2015-09-15 08:56:15 +08:00
    @cnkuner 不知道我的判断对不对 。这个所谓的 secret 就是一个时间来的 ,可能是用了 base64 加密了一下
    GPU
        9
    GPU  
       2015-09-15 09:00:42 +08:00   ❤️ 1
    楼主还是直接吧整个 js 文件 用 gist 贴出来吧。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2792 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 12:56 · PVG 20:56 · LAX 04:56 · JFK 07:56
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.