1. 程式人生 > >我如何用前端技術得到XXOO網站的VIP

我如何用前端技術得到XXOO網站的VIP

講解素材
網頁如圖,這裡只是說明整個網站的一些技術點,所以不該看的地方我都打上馬賽克了,讓我們揭開這些網站的整個前端工作原理
image
首先剛進去的時候顯示一堆亂七八糟的東西,點進去其中一個頁面,下面各種虛假評論,然後每隔幾秒鐘彈出第幾几几個會員充值成功,我們先把這個刪掉
image
好了,我們繼續研究這個網站內部結構了
正常情況每個頁面的視訊都是試看幾十秒就會提醒你充值,當然這是這類網站的常規套路,我們在瀏覽器的Network觀察載入的js,我們可以看到裡面這段程式碼
image
這是一份叫做lsj.mp4.js的程式碼的其中一部分,我們可以看到裡面有個關鍵的判斷,具體就是判斷你是否是會員,如果是那就根據型別是否是2返回play_url_arr_oumei

陣列和play_url_arr陣列拼接一個url給你,如果你不是會員的話就進入試看的判斷,很清晰的看到有一個url,那就是試看的短視訊的路徑

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

上面這兩句還告訴我們第二個關鍵點就是我們可以根據isvip的cookie值來偽造身份,這個cookie就是儲存到我們的本地瀏覽器上,所以如果我們能成功改寫它的話我們就能變成會員繞過這個判斷,這份程式碼已經封裝好getCookie

,所以我們可以在控制檯直接呼叫來改寫cookie值,但是問題來了,我們應該改成什麼值才能繞過判斷呢,我們繼續看原始碼搜尋答案

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 = '<img src="'+pic+'" style="height:auto; width:100%;display: none;">'; 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行中我們又找到了一個線索,我們從程式碼看到,如果支付成功會在本地瀏覽器設定使用者的cookie值,有兩個關鍵的值出現了,分別是lsjlsjyy
lsj

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

lsjyy

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

其實我想了很久這個名字跟vip有什麼關聯,估計這個網站的作者想寫的是老司機和老司機YY的意思吧,不過不管它是什麼意思,現在只要我們嘗試用它封裝好的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函式,更肯定了剛才我們的結論,VIP和非VIP其實就是這兩個值在作怪,所以我們預設的值應該就是clearVIP函式設定的值

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

如下圖,我們在瀏覽器執行這兩個函式,執行成功後我們就能看到cookie被成功改寫
image
image
在這裡我設定lsjyy為vip2,當然我在後面測試的時候發現這兩個值貌似沒什麼區別
image

然後我們可以用lsj.pay.js第179行的showpay函式來檢測是否已經是成功變成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('您已經是vip了哦.');
        return false;
    }
   //省略後面的程式碼
}

如果成功完成上面的步驟,我們在控制檯輸入showpay()就會看到下圖這個彈窗,那證明我們已經成功升級為VIP…
image
我們再次進入其中一個帶有視訊的網頁看看變成VIP會會真的有VIP的”待遇”,我們發現頁面內容塊變成了空白,控制檯報了下面這個錯,那是提示有一個值叫play_rand沒有定義,其實來到這裡我們已經發現我們已經繞過了剛才會員判斷,進入我們是會員的判斷分支,只是因為一個未定義的值停止了程式碼的執行
image
image
由於這個值我們可以看到是一個數組的索引值,所以我們在控制檯全域性定義

var play_rand = 1

image
我們把id為play-html節點的元素樣式設定diplay為顯示,我們就可以看到正常的播放器出來了
image
分析原始碼得知,它大概的工作原理就是根據url的引數,比如play_nameplay_type,根據你是否VIP然後載入播放器播放拼接完的URL,play_name還含有undefined很不科學,說明有些視訊根本只有圖沒有源
開啟play.html檢視裡面的原始碼,可以看到視訊的連結源
play.html第21行

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

往下面看我們可以看到剛才play_rand選取的對應的那個視訊,事實上play_url_arr_oumeiplay_url_arr陣列已經定義好了VIP可以觀看的這十幾個視訊,所以不管怎麼樣付錢後都是看這十幾個裡面的其中一個,在這裡其實已經可以自己拼接對應的連結進入相應的視訊
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";

當然我們為了證明我們剛才上面的推測,我們可以在控制檯把lsj.mp4.jsgetMp4Url函式執行一次

image

我們可以看到一個可用的連結就這樣出現了
當然你可以再執行如下程式碼,讓它在網頁端執行,關鍵就是用playHtml3函式載入播放器,並開啟拼接好的視訊連結,有時候載入的是一張圖片,更有時候載入的視訊連結也根本無法播放,其實不管是否會員,最後也只是播放在頁面最後定義好的那十幾個視訊,支付變成會員只是它們把資料入庫,然後幫你設定個cookie的過程而已
當然這些網站的前端人員的程式碼和註釋還是挺可笑的
image

image
至此,就可以看懂這種網站的工作原理了,所以遇到小心上當了

———————-update 2016.12.26————————–
技術本身不可恥,可恥的是濫用技術的人!
後續更多內容可關注作者本人@Wscats或者star本文

相關推薦

如何用前端技術得到XXOO網站VIP

講解素材 網頁如圖,這裡只是說明整個網站的一些技術點,所以不該看的地方我都打上馬賽克了,讓我們揭開這些網站的整個前端工作原理 首先剛進去的時候顯示一堆亂七八糟的東西,點進去其中一個頁面,下面各種虛假評論,然後每隔幾秒鐘彈出第幾几几個會員充值成功,我們

這些年,過的良心網站,分享給大家

HR family 音樂 mba 高清 導航 vip 排版 下載器 百度文庫下載器免費下載文檔下載卷文庫會員vip http://www.1234866.com/ 冰點文庫下載器V3.2.4, 無需積分就可以自由下載百度、豆丁、丁香、MBALib、道客巴巴、Book11

base標簽抓取錯誤:不再discuz程序建設門戶網站[圖]

deb 成了 discuz log 一個 總結 自動 ESS 技術分享 以前我是采用discuz程序的門戶來建設網站的,因為我一開始創建地方論壇的時候就采用了這套程序,不得不說的是,discuz論壇程序是國內最好的論壇系統,也得到了廣泛的使用,而比較令我們開心的是,這套程序

Django搭網站(1)-新浪微博登錄

nsh 編輯 打開 p s php 賬號 rst .py 測試 新浪微博第三方登錄使用的是OAuth2.0,開發前提已經註冊開發者帳號,是開發者。 OAuth簡介 OAuth: OAuth(開放授權)是一個開放標準,允許用戶授權第三方網站訪問他們存儲在另外的服務提供者上

PHP 結合前端 ajax 爬取網站信息後, 向指定戶發送指定短信;

icloud identity coo 請求頭 array -type aid 前端 之前 &lt;?php /** * Description * @authors Your Name ([email protected]) * # 根據時時彩的最新一期的號碼

女朋友躲著玩手機?Python了!在她不知情的情況下解密碼!

如果你想參與漏洞研究、逆向工程和滲透,我建議你時候用Python語言。Python已經有很多完善可用的庫,我將在這裡把他們列出來。 這個清單裡的工具大部分都是Python寫成的,一部分是現有C庫的Python繫結,這些庫在Python中都可以簡單使用。 一些強力工具(pentest fram

Python把雙色球的網站“黑”了!下個1.5億大獎會是嗎?

本篇主要介紹爬取500彩票網,獲取所有雙色球的開獎結果,寫入到csv檔案。     (1) 分析標題 通過分析,發現標題資訊在如下地方顯示:       進群:548377875  即可獲取

Python實現了一個小說網站雛形

前言 前段時間做了一個爬取妹子套圖的小功能,小夥伴們似乎很有興趣,為了還特意組建了一個Python興趣學習小組,來一起學習。十個python九個爬,在大家的印象中好像Python只能做爬蟲。然而並非如此,Python 也可以做Web開發,接下來給大家展示一下如何做一個小說站點。 相關軟體

百度前端技術學院:第三十一到第三十三天:是精明的小賣家(一)

var regionGroup = document.getElementById("region-radio-wrapper"); var productGroup = document.getElementById("product-radio-wrapper");

【yundashi168.com】https://www.yundashi168.com 專業技術資料分享,歡迎訪問的個人技術網站

Android實戰開發 Android 優秀專案推薦,開發經驗分享,歡迎掃一掃。 QQ群:Android實戰開發 151909524 【需答問題】

想在家看VIP電影,python做了個破解軟體,她很開心!

執行平臺: Windows Python版本: Python3.x IDE: Sublime text3 一、前言 沒有會員,想線上觀看或下載愛奇藝、PPTV、優酷、網易公開課、騰訊視訊、搜狐視訊、樂視、土豆、A站、B站等主流視訊網站的VIP視訊?又不想充會員怎麼辦?博主本次寫的VI

前端技術只能來打輔助嗎?

最近看了左耳朵耗子(陳皓)的程式設計師練級攻略,最後提到前端技術(終端)只能在計算機世界打輔助,做前端的程式設計師怎麼想呢? 有程式設計師回覆說 絕大多數web前端都只不過是會用點vue/angular/react/bootstrap做點普通的單頁應用而已,這樣的前端自然是最廉價的。

Python暴力破解人家網站,獲取VIP賬戶密碼!

今天極度無聊,不知道爬些什麼,就在各大網站逛啊逛啊,無意中逛到了某小網站,該網站竟然還設定了各種Vip才能使用的特權。我看到了瞬間就怒火中燒,都是些小功能,竟然還要各種充錢。   在這及不理智的情況下,我暴力破解了人家網站。具體思路與步驟如下: 爆破思路與分析: 1

阿里伺服器建立samba踩

###前言 一時興起用Linux。想著我之前在阿里雲買的一個伺服器,就開始動手安裝samba,以下是我做的測試和我踩得坑。 ###流程 1) 安裝軟體 2) 配置 3) 使用windws 訪問Linux的samba共享 ####1.安裝 Yum

前端之路(技術探索歷程一)

深海探索開始 2017年七月五日,我來到5班開始了我的前端學習之路,當時我的確什麼準備,只是接到一個通知就去了,也許其他學生在去學習之前,已經想了無數次要怎麼怎麼努力學習呀,可是我沒有!!!沒有更多的準備 當時去了第一天,老師開始講JavaScript,因為

PHP影象技術做了一個有趣的貼鬍子程式,準確率達到98%

http://blog.jobbole.com/89526/最近微軟推出的年齡識別軟體可謂是火爆了朋友圈,聽說好像是通過識別臉上皺紋來判斷年齡的,而我,通過抓取知乎100萬用戶也小小火了一把,於是我想繼續發掘PHP的潛能,看看有沒有更多的可能性,做一個有趣的東西出來。別人識別

公司內部技術分享會:覆盤前端成長

公眾號斷更的這幾天,土哥的全部精力都撲在了公司的專案上,還有團隊技術培訓,連vlog都懶得折騰了,畢竟個人精力有限。說到技術培訓,之前很多在土哥知識星球裡的球友都問過我,說「土哥,啥時候講講你這幾年的技術成長經歷啊」 其實,覆盤我的前端成長這件事,我很早就想在公司內部搞一次了,因為有聽眾基礎,我司前端組的小

實戰! Wireshark 讓你“看見“ TCP

每日一句英語學習,每天進步一點點: 前言 為了讓大家更容易「看得見」 TCP,我搭建不少測試環境,並且資料包抓很多次,花費了不少時間,才抓到比較容易分析的資料包。 接下來丟包、亂序、超時重傳、快速重傳、選擇性確認、流量控制等等 TCP 的特性,都能「一覽無雲」。 沒錯,我把 TCP 的"衣服扒光"了,就

知識全聚集 .Net Core 技術突破 | C#手把手教你玩微信自動化一

# 知識全聚集 .Net Core 技術突破 | 我用C#手把手教你玩微信自動化一 # 教程 [01 | 模組化方案一](https://www.cnblogs.com/MrChuJiu/p/13689123.html) [02 | 模組化方案二](https://www.cnblogs.com/M

web前端技術框架選型參考

hub 社區 規範 應用設計 one 屬於 webpack body 數據流 一、出發點   隨著Web技術的不斷發展,前端架構框架、UI框架、構建工具、CSS預處理等層出不窮,各有千秋。太多的框架在形成初期,都曾在web領域 掀起過一場技術浪潮,可有些卻僅僅是曇花