我如何用前端技術(shù)得到XXOO網(wǎng)站的VIP

查看作者原文

講解素材
網(wǎng)頁如圖袄友,這里只是說明整個網(wǎng)站的一些技術(shù)點挖炬,所以不該看的地方我都打上馬賽克了传泊,讓我們揭開這些網(wǎng)站的整個前端工作原理

image
image

首先剛進(jìn)去的時候顯示一堆亂七八糟的東西雪情,點進(jìn)去其中一個頁面遵岩,下面各種虛假評論,然后每隔幾秒鐘彈出第幾幾幾個會員充值成功巡通,我們先把這個刪掉
image
image

好了尘执,我們繼續(xù)研究這個網(wǎng)站內(nèi)部結(jié)構(gòu)了
正常情況每個頁面的視頻都是試看幾十秒就會提醒你充值,當(dāng)然這是這類網(wǎng)站的常規(guī)套路宴凉,我們在瀏覽器的Network觀察加載的js誊锭,我們可以看到里面這段代碼
image
image

這是一份叫做lsj.mp4.js的代碼的其中一部分,我們可以看到里面有個關(guān)鍵的判斷弥锄,具體就是判斷你是否是會員丧靡,如果是那就根據(jù)類型是否是2返回play_url_arr_oumei數(shù)組和play_url_arr數(shù)組拼接一個url給你蟆沫,如果你不是會員的話就進(jìn)入試看的判斷,很清晰的看到有一個url温治,那就是試看的短視頻的路徑

var isvip = getCookie('lsjyy');
if(isvip != undefined && isvip != ''  && isvip.match(rgExp)){}else{}

上面這兩句還告訴我們第二個關(guān)鍵點就是我們可以根據(jù)isvip的cookie值來偽造身份饭庞,這個cookie就是保存到我們的本地瀏覽器上,所以如果我們能成功改寫它的話我們就能變成會員繞過這個判斷罐盔,這份代碼已經(jīng)封裝好getCookie但绕,所以我們可以在控制臺直接調(diào)用來改寫cookie值救崔,但是問題來了惶看,我們應(yīng)該改成什么值才能繞過判斷呢,我們繼續(xù)看源代碼搜索答案

function getMp4Url() {
        var play_name = getParam('play_name');
        var type = getParam('type');
        var rgExp =/^(v|V)[i|I|p|P|0-9]{2,3}$/g;
        var isvip = getCookie('lsjyy');
        var pic = $('.movie-pic img').attr('src');
        var html = '[站外圖片上傳中……(15)]';
        html = '';
        var play_url = '';
        //vip會員
        if(isvip != undefined && isvip != ''  && isvip.match(rgExp))
        {
            var play_mp4 = getCookie('play_mp4');
            if(type == 2)
            {
                play_url = play_url_arr_oumei[play_rand2];

            }else{
                play_url = play_url_arr[play_rand];

            }
        }
        //試看
        else if(( play_name != '')&&(play_name != 'undefined'))
        {
            
            play_pic = 'http://oewx8de7n.qnssl.com/9e0120cv23/images/'+play_name+'.jpg';
            play_url = 'http://oewx8de7n.qnssl.com/9e0120cv23/images/mp4/'+play_name+'.mp4';
        }
        else
            play_url =  "http://su.cywl5.com/sy/h34.mp4";
        return play_url;
}

在lsj.pay.js?v=256這份代碼的279行中我們又找到了一個線索六孵,我們從代碼看到纬黎,如果支付成功會在本地瀏覽器設(shè)置用戶的cookie值,有兩個關(guān)鍵的值出現(xiàn)了劫窒,分別是lsjlsjyy
lsj

setCookie('lsj', pay_tee, 'd730');

lsjyy

setCookie('lsjyy', 'vip', 'd730');

其實我想了很久這個名字跟vip有什么關(guān)聯(lián)本今,估計這個網(wǎng)站的作者想寫的是老司機(jī)和老司機(jī)YY的意思吧,不過不管它是什么意思主巍,現(xiàn)在只要我們嘗試用它封裝好的setCookie方法自己改寫這兩個cookie值冠息,就能在本地順利成為會員,繞過剛才的判斷條件了
lsj.pay.js

function checkOrderStatus() {
    $.post("./pay/ok.php?action=check&uid="+getCookie('user'), function(data) {
        var pay_tee = Number(data);
        if (pay_tee >= 1) 
        {
            ispay = 1;
            ispay = true;
            var lsj = getCookie('lsj');
            if(lsj == null) lsj = 0; 
            if(pay_tee > lsj)
            {    
                setCookie('lsj', pay_tee, 'd730');
            }
        }   
        if ((pay_tee > 0)&&(pay_tee <= s_v1_money)) 
        {
            setCookie('lsjyy', 'vip', 'd730');
        }
        else if ((pay_tee > s_v1_money)&&(pay_tee <= s_v2_money)) 
        {
            setCookie('lsjyy', 'vip2', 'd730');         
        }
        if (pay_tee >= 1) 
        {
            var dt1 =Math.round(new Date().getTime()/1000);
            setCookie('lsjtime', dt1, 'd730');
            setCookie("isPayClick",0, 'd1');
            var isPayClick = getCookie("isPayClick");
            if (isPayClick == 0)
                window.location.reload(); 
        }
       // el_checkpay.hide();
    })
} 

其實往下也可以看到有一個clearVIP函數(shù)孕索,更肯定了剛才我們的結(jié)論逛艰,VIP和非VIP其實就是這兩個值在作怪,所以我們默認(rèn)的值應(yīng)該就是clearVIP函數(shù)設(shè)置的值

function clearVIP()
{
    setCookie("lsjyy",0, 's1');
    setCookie("lsj",0, 's1');
}

如下圖搞旭,我們在瀏覽器執(zhí)行這兩個函數(shù)散怖,執(zhí)行成功后我們就能看到cookie被成功改寫


image
image

image
image

在這里我設(shè)置lsjyy為vip2,當(dāng)然我在后面測試的時候發(fā)現(xiàn)這兩個值貌似沒什么區(qū)別


image
image

然后我們可以用lsj.pay.js第179行的showpay函數(shù)來檢測是否已經(jīng)是成功變成VIP

function showpay() {
    var rgExp =/^(v|V)[i|I|p|P|0-9]{2,3}$/g;
    var isvip = getCookie('lsjyy');
    if(isvip != undefined && isvip != ''  && isvip.match(rgExp))
    {
        alert('您已經(jīng)是vip了哦.');
        return false;
    }
   //省略后面的代碼
}

如果成功完成上面的步驟肄渗,我們在控制臺輸入showpay()就會看到下圖這個彈窗镇眷,那證明我們已經(jīng)成功升級為VIP...

image
image

我們再次進(jìn)入其中一個帶有視頻的網(wǎng)頁看看變成VIP會會真的有VIP的"待遇",我們發(fā)現(xiàn)頁面內(nèi)容塊變成了空白翎嫡,控制臺報了下面這個錯欠动,那是提示有一個值叫play_rand沒有定義,其實來到這里我們已經(jīng)發(fā)現(xiàn)我們已經(jīng)繞過了剛才會員判斷惑申,進(jìn)入我們是會員的判斷分支翁垂,只是因為一個未定義的值停止了代碼的運行
image
image

image
image

由于這個值我們可以看到是一個數(shù)組的索引值,所以我們在控制臺全局定義

var play_rand = 1

image
image

我們把id為play-html節(jié)點的元素樣式設(shè)置diplay為顯示硝桩,我們就可以看到正常的播放器出來了
image
image

分析源碼得知沿猜,它大概的工作原理就是根據(jù)url的參數(shù),比如play_nameplay_type碗脊,根據(jù)你是否VIP然后加載播放器播放拼接完的URL啼肩,play_name還含有undefined很不科學(xué)橄妆,說明有些視頻根本只有圖沒有源
打開play.html查看里面的源代碼,可以看到視頻的鏈接源
play.html第21行

<script type="text/javascript">
    var cdn_url = 'http://oewx8de7n.qnssl.com/9e0120cv23';
</script>

往下面看我們可以看到剛才play_rand選取的對應(yīng)的那個視頻祈坠,事實上play_url_arr_oumeiplay_url_arr數(shù)組已經(jīng)定義好了VIP可以觀看的這十幾個視頻害碾,所以不管怎么樣付錢后都是看這十幾個里面的其中一個,在這里其實已經(jīng)可以自己拼接對應(yīng)的鏈接進(jìn)入相應(yīng)的視頻
play.html第324行

var play_url_arr_oumei=new Array();
    play_url_arr_oumei[1]=cdn_url+"/vip/2/om_1.mp4";
    play_url_arr_oumei[2]=cdn_url+"/vip/2/om_2.mp4";
    play_url_arr_oumei[3]=cdn_url+"/vip/2/om_3.mp4";
    play_url_arr_oumei[4]=cdn_url+"/vip/2/om_4.mp4";
    play_url_arr_oumei[5]=cdn_url+"/vip/2/om_5.mp4";
    play_url_arr_oumei[6]=cdn_url+"/vip/2/om_6.mp4";
    play_url_arr_oumei[7]=cdn_url+"/vip/try7.mp4";
    play_url_arr_oumei[8]=cdn_url+"/vip/try8.mp4";
    play_url_arr_oumei[9]=cdn_url+"/vip/try9.mp4";
    play_url_arr_oumei[10]=cdn_url+"/vip/try10.mp5";
    var play_url_arr=new Array();
    play_url_arr[1]=cdn_url+"/vip/try1.mp4";
    play_url_arr[2]=cdn_url+"/vip/try2.mp4";
    play_url_arr[3]=cdn_url+"/vip/try3.mp4";
    play_url_arr[4]=cdn_url+"/vip/try4.mp4";
    play_url_arr[5]=cdn_url+"/vip/try5.mp4";
    play_url_arr[6]=cdn_url+"/vip/try6.mp4";
    play_url_arr[7]=cdn_url+"/vip/try7.mp4";
    play_url_arr[8]=cdn_url+"/vip/try8.mp4";
    play_url_arr[9]=cdn_url+"/vip/try9.mp4";
    play_url_arr[10]=cdn_url+"/vip/try10.mp4";

當(dāng)然我們?yōu)榱俗C明我們剛才上面的推測赦拘,我們可以在控制臺把lsj.mp4.jsgetMp4Url函數(shù)執(zhí)行一次

image
image

我們可以看到一個可用的鏈接就這樣出現(xiàn)了
當(dāng)然你可以再執(zhí)行如下代碼慌随,讓它在網(wǎng)頁端執(zhí)行,關(guān)鍵就是用playHtml3函數(shù)加載播放器躺同,并打開拼接好的視頻鏈接阁猜,有時候加載的是一張圖片,更有時候加載的視頻鏈接也根本無法播放蹋艺,其實不管是否會員剃袍,最后也只是播放在頁面最后定義好的那十幾個視頻,支付變成會員只是它們把數(shù)據(jù)入庫捎谨,然后幫你設(shè)置個cookie的過程而已
當(dāng)然這些網(wǎng)站的前端人員的代碼和注釋還是挺可笑的

image
image

image
image

至此民效,就可以看懂這種網(wǎng)站的工作原理了,所以遇到小心上當(dāng)了

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末涛救,一起剝皮案震驚了整個濱河市畏邢,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌检吆,老刑警劉巖舒萎,帶你破解...
    沈念sama閱讀 206,126評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異咧栗,居然都是意外死亡逆甜,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,254評論 2 382
  • 文/潘曉璐 我一進(jìn)店門致板,熙熙樓的掌柜王于貴愁眉苦臉地迎上來交煞,“玉大人,你說我怎么就攤上這事斟或∷卣鳎” “怎么了?”我有些...
    開封第一講書人閱讀 152,445評論 0 341
  • 文/不壞的土叔 我叫張陵萝挤,是天一觀的道長御毅。 經(jīng)常有香客問我,道長怜珍,這世上最難降的妖魔是什么端蛆? 我笑而不...
    開封第一講書人閱讀 55,185評論 1 278
  • 正文 為了忘掉前任,我火速辦了婚禮酥泛,結(jié)果婚禮上今豆,老公的妹妹穿的比我還像新娘嫌拣。我一直安慰自己,他們只是感情好呆躲,可當(dāng)我...
    茶點故事閱讀 64,178評論 5 371
  • 文/花漫 我一把揭開白布异逐。 她就那樣靜靜地躺著,像睡著了一般插掂。 火紅的嫁衣襯著肌膚如雪灰瞻。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 48,970評論 1 284
  • 那天辅甥,我揣著相機(jī)與錄音酝润,去河邊找鬼。 笑死肆氓,一個胖子當(dāng)著我的面吹牛袍祖,可吹牛的內(nèi)容都是我干的底瓣。 我是一名探鬼主播谢揪,決...
    沈念sama閱讀 38,276評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼捐凭!你這毒婦竟也來了拨扶?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 36,927評論 0 259
  • 序言:老撾萬榮一對情侶失蹤茁肠,失蹤者是張志新(化名)和其女友劉穎患民,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體垦梆,經(jīng)...
    沈念sama閱讀 43,400評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡匹颤,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,883評論 2 323
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了托猩。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片印蓖。...
    茶點故事閱讀 37,997評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖京腥,靈堂內(nèi)的尸體忽然破棺而出赦肃,到底是詐尸還是另有隱情,我是刑警寧澤公浪,帶...
    沈念sama閱讀 33,646評論 4 322
  • 正文 年R本政府宣布他宛,位于F島的核電站,受9級特大地震影響欠气,放射性物質(zhì)發(fā)生泄漏厅各。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,213評論 3 307
  • 文/蒙蒙 一预柒、第九天 我趴在偏房一處隱蔽的房頂上張望队塘。 院中可真熱鬧琐鲁,春花似錦、人聲如沸人灼。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,204評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽投放。三九已至奈泪,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間灸芳,已是汗流浹背涝桅。 一陣腳步聲響...
    開封第一講書人閱讀 31,423評論 1 260
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留烙样,地道東北人冯遂。 一個月前我還...
    沈念sama閱讀 45,423評論 2 352
  • 正文 我出身青樓,卻偏偏與公主長得像谒获,于是被迫代替她去往敵國和親蛤肌。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 42,722評論 2 345

推薦閱讀更多精彩內(nèi)容

  • 查看作者原文 講解素材網(wǎng)頁如圖批狱,這里只是說明整個網(wǎng)站的一些技術(shù)點裸准,所以不該看的地方我都打上馬賽克了,讓我們揭開這些...
    秋風(fēng)喵閱讀 3,108評論 2 5
  • 查看作者原文 講解素材網(wǎng)頁如圖赔硫,這里只是說明整個網(wǎng)站的一些技術(shù)點炒俱,所以不該看的地方我都打上馬賽克了,讓我們揭開這些...
    秋風(fēng)喵閱讀 1,266評論 10 13
  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 171,498評論 25 707
  • 今天空曠的街道沒有人 雨水和泥土摻雜著日光 有風(fēng)吹過我的手心和耳邊 從發(fā)跡到帽檐 等了一天的雨水終于成了雪 而我不...
    AFAFRANK閱讀 140評論 0 1
  • 十九歲的雨絲 它還在下嗎 十九歲這年 茫然懵懂的我在路上走著 遙看著遠(yuǎn)方的風(fēng)景 一步一步 走向自己的夢境 然后 又...
    夢雙眸閱讀 170評論 1 9