網頁掛馬與 SEO 暗鏈是網站被入侵後最常見的兩種變現形式,前者竊取訪客資產,後者盜竊搜尋引擎權重。本文系統梳理定義、注入原理、10 大常見掛馬類型代碼特徵、ECSHOP 實戰案例、以及全鏈路防禦清單。
| 概念 | 定義 | 攻擊者獲益 |
|---|---|---|
| 網頁掛馬 | 在正常網頁植入惡意代碼/腳本,誘導訪客瀏覽器自動下載執行木馬 | 竊取賬號、勒索軟體、組建殭屍網絡、APT 跳板 |
| SEO 暗鏈 | 利用獲取的網站權限,在源碼隱蔽處插入指向自身站點的反向鏈接 (可見性: hidden/display:none/負縮進) | 提升目標關鍵字排名、權重轉移、黑帽 SEO 變現 |
攻擊者利用漏洞 (Web應用/伺服器/插件/弱口令)
↓
獲得寫入權限 (Web目錄/FTP/資料庫/後台)
↓
植入惡意代碼 (靜態文件/資料庫字段/模板/緩存)
↓
訪客訪問 → 瀏覽器執行惡意腳本
↓
利用瀏覽器/插件/系統 0day/NDay 漏洞 (IE/Flash/PDF/字體解析)
↓
執行 Shellcode → 下載執行木馬載荷
| 類型 | 代碼特徵 | 檢測關鍵字 |
|---|---|---|
| 1. Iframe 框架 | <iframe src=惡意網址 width=0 height=0></iframe> | iframe width=0 height=0 |
| 2. JS 外鏈 | <script src=惡意.js></script> / document.write('<iframe...>') | script src= 非本域 |
| 3. JS 加密變形 | <script language=JScript.Encode> / eval(unescape('%xx...')) | JScript.Encode, eval, unescape |
| 4. Body 注入 | <body onload=...> / <body>惡意碼</body> | body onload, body><script |
| 5. 隱蔽 DOM 操作 | document.body.innerHTML += '<iframe...>' | innerHTML +=, appendChild |
| 6. CSS 跨站腳本 | background-image: url('javascript:...') / expression(...) | javascript: 在 css, expression( |
| 7. Java Applet | <applet code=惡意.class archive=惡意.jar></applet> | applet code=, archive= |
| 8. 圖片偽裝 | <img src=惡意.php> / polyglot 圖片含腳本 | img src= 非圖片後綴 |
| 9. 偽裝調用 | <frameset rows="*,0"><frame src=惡意></frameset> | frameset rows/cols 包含 0 |
| 10. 高級欺騙 | <a href=正常網址 onclick=window.open(惡意)> | onclick=window.open, onmouseover |
<a href="..." style="display:none">ugg</a> 等隱蔽鏈接。ugg、display:none、visibility:hidden、text-indent:-9999px。
insert_ads.php、cls_template.php 存在任意代碼執行漏洞,攻擊者寫入模板緩存實現持久化。temp/caches/、temp/compiled/ 所有文件;升級官方補丁;修改後台/資料庫/FTP 強密碼。find /web -mtime -1 -type f -name "*.php" -exec grep -l "eval\|base64_decode\|iframe" {} \; 掃描異常文件。SELECT/INSERT/UPDATE,無 DROP/ALTER/FILE。「預防為主、檢測為輔、響應為底」構建網站免疫體系,將掛馬暗鏈風險壓縮至最低。