首页
社区
课程
招聘
[旧帖] 求解一个网址的构成方式 0.00雪花
发表于: 2011-1-10 11:58 2585

[旧帖] 求解一个网址的构成方式 0.00雪花

2011-1-10 11:58
2585
<script src="js/date.js"></script>
        <script src="js/get_state.js"></script>
<script>
var code = '1A0001';
var now = 1277277577;
var datapath_bbd = escape("http://www.gzvip.com/level2/?do=get_xml&code=1A0001&app=%2A%2BBMDQ%28%296I%3Fc%28901DQ%26%2B6ANc%2A--QD%5D%2B%296IDi%28135%21%23%249D96iW%5D%2A39%25%2BQR93%3F%271%21%29NKY%21%60%5D%28199D%21YAr%3F;
var oldstate = get_state(now);
document.getElementById('net_flash').innerHTML = flash_html(oldstate);

function flash_html(state)
{
        return "<object classid=\"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\" codebase=\"http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0\" width=\"870\" height=\"350\"><param name=\"FlashVars\" value=\""+((state==1) ? "interval=60&":"")+"mmld=0&line_arr=ddjc_super,new&line_lable=超级资金净差Super Funds,"+((code==399001)?"深证成指":"上证指数")+"&line_showunit=true,false&line_arr2=ddje_super,&line_lable2=超级资金净额,"+((code==399001)?"深证成指":"上证指数")+"&plotarea_title="+((code==399001)?"深证A股":"上证A股")+"当日Super Funds与"+((code==399001)?"深证成指":"上证指数")+"走势比较&plotarea_titlesize=12&plotarea_panelx=600&chart_fromcolor=#000000&chart_tocolor=#000000&chart_border=0&chart_bordercolor=#000000&plotarea_fromcolor=#000000&plotarea_tocolor=#000000&plotarea_border=1&plotarea_bordercolor=#ffff00&plotarea_fontcolor=#ffff00&plotarea_titlecolor=#ffff00&plotarea_dashcolor=#7b7900&plotarea_lineshadowcolor=#666666&dataPath="+datapath_bbd+"\" /><param name=\"movie\" value=\"bbd.swf\" /><param name=\"quality\" value=\"high\" /><param name=\"wmode\" value=\"Opaque\" /><embed src=\"/bbd.swf\" quality=\"high\" pluginspage=\"http://www.macromedia.com/go/getflashplayer\" type=\"application/x-shockwave-flash\" width=\"870\" height=\"350\" /></object>";
}

function update_flash()
{
        var newstate = get_state(now);
        if(newstate != oldstate)
        {
                document.getElementById('net_flash').innerHTML = flash_html(newstate);
                oldstate = newstate;
        }
        now += 1;
}

setInterval(update_flash, 1000);
</script>
这个网址后缀每天都在变化,  我想知道这个网址后缀是如何得到的,我知道他是通过escape加密的 可是怎么才能找到他后缀的 基址呢?或者说他的规律!! 麻烦高手来解答下!

其中的调用的js代码如下

date.js

//仿php中的date函数
function date(format, timestamp){
    var a, tal=[], jsdate=(
        (typeof(timestamp) == 'undefined') ? new Date() : // Not provided
        (typeof(timestamp) == 'number') ? new Date(timestamp*1000) : // UNIX timestamp
        new Date(timestamp) // Javascript Date()
    );
    var pad = function(n, c){
        if( (n = n + "").length < c ) {
            return new Array(++c - n.length).join("0") + n;
        } else {
            return n;
        }
    };
    var ret = '';
    var txt_weekdays = ["Sunday","Monday","Tuesday","Wednesday",
        "Thursday","Friday","Saturday"];
    var txt_ordin = {1:"st",2:"nd",3:"rd",21:"st",22:"nd",23:"rd",31:"st"};
    var txt_months =  ["", "January", "February", "March", "April",
        "May", "June", "July", "August", "September", "October", "November",
        "December"];

    var f = {
        // Day
            d: function(){
                return pad(f.j(), 2);
            },
            D: function(){
                var t = f.l();
                return t.substr(0,3);
            },
            j: function(){
                return jsdate.getDate();
            },
            l: function(){
                return txt_weekdays[f.w()];
            },
            N: function(){
                return f.w() + 1;
            },
            S: function(){
                return txt_ordin[f.j()] ? txt_ordin[f.j()] : 'th';
            },
            w: function(){
                return jsdate.getDay();
            },
            z: function(){
                return (jsdate - new Date(jsdate.getFullYear() + "/1/1")) / 864e5 >> 0;
            },

        // Week
            W: function(){
                var a = f.z(), b = 364 + f.L() - a;
                var nd2, nd = (new Date(jsdate.getFullYear() + "/1/1").getDay() || 7) - 1;

                if(b <= 2 && ((jsdate.getDay() || 7) - 1) <= 2 - b){
                    return 1;
                } else{

                    if(a <= 2 && nd >= 4 && a >= (6 - nd)){
                        nd2 = new Date(jsdate.getFullYear() - 1 + "/12/31");
                        return date("W", Math.round(nd2.getTime()/1000));
                    } else{
                        return (1 + (nd <= 3 ? ((a + nd) / 7) : (a - (7 - nd)) / 7) >> 0);
                    }
                }
            },

        // Month
            F: function(){
                return txt_months[f.n()];
            },
            m: function(){
                return pad(f.n(), 2);
            },
            M: function(){
                var t;
                t = f.F(); return t.substr(0,3);
            },
            n: function(){
                return jsdate.getMonth() + 1;
            },
            t: function(){
                var n;
                if( (n = jsdate.getMonth() + 1) == 2 ){
                    return 28 + f.L();
                } else{
                    if( n & 1 && n < 8 || !(n & 1) && n > 7 ){
                        return 31;
                    } else{
                        return 30;
                    }
                }
            },

        // Year
            L: function(){
                var y = f.Y();
                return (!(y & 3) && (y % 1e2 || !(y % 4e2))) ? 1 : 0;
            },
            o: function(){
                if (f.n() === 12 && f.W() === 1) {
                    return jsdate.getFullYear()+1;
                }
                if (f.n() === 1 && f.W() >= 52) {
                    return jsdate.getFullYear()-1;
                }
                return jsdate.getFullYear();
            },
            Y: function(){
                return jsdate.getFullYear();
            },
            y: function(){
                return (jsdate.getFullYear() + "").slice(2);
            },

        // Time
            a: function(){
                return jsdate.getHours() > 11 ? "pm" : "am";
            },
            A: function(){
                return f.a().toUpperCase();
            },
            B: function(){
                // peter paul koch:
                var off = (jsdate.getTimezoneOffset() + 60)*60;
                var theSeconds = (jsdate.getHours() * 3600) +
                                 (jsdate.getMinutes() * 60) +
                                  jsdate.getSeconds() + off;
                var beat = Math.floor(theSeconds/86.4);
                if (beat > 1000) beat -= 1000;
                if (beat < 0) beat += 1000;
                if ((String(beat)).length == 1) beat = "00"+beat;
                if ((String(beat)).length == 2) beat = "0"+beat;
                return beat;
            },
            g: function(){
                return jsdate.getHours() % 12 || 12;
            },
            G: function(){
                return jsdate.getHours();
            },
            h: function(){
                return pad(f.g(), 2);
            },
            H: function(){
                return pad(jsdate.getHours(), 2);
            },
            i: function(){
                return pad(jsdate.getMinutes(), 2);
            },
            s: function(){
                return pad(jsdate.getSeconds(), 2);
            },
            u: function(){
                return pad(jsdate.getMilliseconds()*1000, 6);
            },

        // Timezone
            e: function () {
//                var abbr='', i=0;
//                if (this.php_js && this.php_js.default_timezone) {
//                    return this.php_js.default_timezone;
//                }
//                if (!tal.length) {
//                    tal = timezone_abbreviations_list();
//                }
//                for (abbr in tal) {
//                    for (i=0; i < tal[abbr].length; i++) {
//                        if (tal[abbr][i].offset === -jsdate.getTimezoneOffset()*60) {
//                            return tal[abbr][i].timezone_id;
//                        }
//                    }
//                }
                return 'UTC';
            },
            I: function(){
                var DST = (new Date(jsdate.getFullYear(),6,1,0,0,0));
                DST = DST.getHours()-DST.getUTCHours();
                var ref = jsdate.getHours()-jsdate.getUTCHours();
                return ref != DST ? 1 : 0;
            },
            O: function(){
               var t = pad(Math.abs(jsdate.getTimezoneOffset()/60*100), 4);
               if (jsdate.getTimezoneOffset() > 0) t = "-" + t; else t = "+" + t;
               return t;
            },
            P: function(){
                var O = f.O();
                return (O.substr(0, 3) + ":" + O.substr(3, 2));
            },
            T: function () {
//                var abbr='', i=0;
//                if (!tal.length) {
//                    tal = timezone_abbreviations_list();
//                }
//                if (this.php_js && this.php_js.default_timezone) {
//                    for (abbr in tal) {
//                        for (i=0; i < tal[abbr].length; i++) {
//                            if (tal[abbr][i].timezone_id === this.php_js.default_timezone) {
//                                return abbr.toUpperCase();
//                            }
//                        }
//                    }
//                }
//                for (abbr in tal) {
//                    for (i=0; i < tal[abbr].length; i++) {
//                        if (tal[abbr][i].offset === -jsdate.getTimezoneOffset()*60) {
//                            return abbr.toUpperCase();
//                        }
//                    }
//                }
                return 'UTC';
            },
            Z: function(){
               var t = -jsdate.getTimezoneOffset()*60;
               return t;
            },

        // Full Date/Time
            c: function(){
                return f.Y() + "-" + f.m() + "-" + f.d() + "T" + f.h() + ":" + f.i() + ":" + f.s() + f.P();
            },
            r: function(){
                return f.D()+', '+f.d()+' '+f.M()+' '+f.Y()+' '+f.H()+':'+f.i()+':'+f.s()+' '+f.O();
            },
            U: function(){
                return Math.round(jsdate.getTime()/1000);
            }
    };

    return format.replace(/[\\]?([a-zA-Z])/g, function(t, s){
        if( t!=s ){
            // escaped
            ret = s;
        } else if( f[s] ){
            // a date function exists
            ret = f[s]();
        } else{
            // nothing special
            ret = s;
        }

        return ret;
    });
}

getdate.js

function get_state(time)
{
        var w = date("w", time);
        if(w >=1 && w <= 5){
                var Hi = date("Hi", time);
                if((Hi>='0930' && Hi<='1140') || (Hi>='1250' && Hi<='1520')) return 1;
        }
        return 0;
}

[课程]Android-CTF解题方法汇总!

收藏
免费 0
支持
分享
最新回复 (0)
游客
登录 | 注册 方可回帖
返回
//