0x00 前言
我們在學習前端的時候,總是會想着去學習其他人網站是如何制作的,或者我們遇到一些比較有用的知識點的時候,我們可能會選擇通過 Ctrl + C / Ctrl + V
去扒下內容,然而我並非是鼓勵這種扒網站的行為,不過只要是開源的,不用於商業用途,我覺得大家都可以相互借鑒一下的啦,畢竟重復造輪子的事情就是在浪費時間。而通過 Ctrl + C / Ctrl + V
這種方式過於麻煩,並且現在的圖片基本上都有防盜鏈了,或者路徑由圖床改成了本地的相對路徑,單純的復制粘貼很難把網站的相關內容扒的干凈,於是我們有了如下的思考:如何才能將一個網站的內容完整的 clone 下來呢?
初學的時候,我們通過 view-source:https://xxx.xxx.xxx
這種方式查看網頁的源代碼,新建一個 index.html 文件,然后將內容復制粘貼到 index.html 內容中,或者直接 wget 下來也是可以的。但就像我上面說的那樣,沒有辦法完整的拷貝網頁上的全部內容。隨着學習的深入,了解到了 python 爬蟲的時候,有過這種實例,但是在實現效果上並不是那么友好。
隨着學習的進一步深入,有了專門針對網站克隆的軟件,如 WebZip
、awwwb.com
等等,據說挺好用的,咱也沒試過,咱也不確定啊(多年不用 Windows )。今天我給大家介紹一款開源且超好用的網站克隆機 httrack
。
0x01 什么是 HTTrack?
HTTrack 是一個免費並易於使用的線下瀏覽器工具,全稱是 HTTrack Website Copier for Windows,它能夠讓你從互聯網上下載指定的網站進行線下瀏覽(離線瀏覽),也可以用來收集信息(甚至有網站使用隱藏的密碼文件),一些仿真度極高的偽網站(為了騙取用戶密碼),也是使用類似工具做的。瀏覽線下站點和線上並沒有什么不同。
HTTrack 同樣可以進行線下線上站點同步,支持斷點續傳。HTTrack 是一個可全面配置並包括全面的幫助系統的工具。對於傳統的像存在 Robots.txt 的網站,如果程序運行的時候不做限制,在默認的環境下程序不會把網站鏡像,簡單來說 HTTPrack 跟隨基本的 JavaScript 或者 APPLet、flash 中的鏈接,對於復雜的鏈接(使用函數和表達式創建的鏈接)或者服務器端的 ImageMap 則不能鏡像。一般不用挖的太深就能獲取目標信息比如網站的物理地址,電話號碼,電子郵箱地址,運營時間,商業關系,員工的姓名,與社會關系,以及公開的一些花絮。做滲透測試時新聞其實也很重要,公司時常會公開一些自己感到驕傲的事情,這些報到中可能會泄露有用的信息,企業兼並服務器運轉的情況等等。
用 Httrack 可以將一個網站拷貝下來,以此進行下線的探測發現,以此減少對目標網站的直接交互。Httrack 的使用很簡單,只需要根據其向導按步驟進行就好了。
HTTrack 已經被預安裝在以下 Linux 系統中:
如沒有可以自行參考以下的安裝方式進行下載安裝。
0x02 HTTrack 的安裝和使用
HTTrack 支持 Windows、Linux 和 MacOS 等主流的操作系統,且針對 Windows 而言,HTTrack 有可視化界面的支持,效果如下:
最新版的 HTTrack 可以通過以下方式進行下載使用。
Windows 下安裝:
通過 http://www.httrack.com/page/2/en/index.html,Download 下載對應的版本即可。
Linux 下安裝:
# Debian/Ubuntu下安裝
sudo apt install httrack
# CentOS/Fedora下安裝
sudo yum install httrack
# Gentoo下安裝
sudo emerge httrack
Mac OSX 下安裝:
sudo port install httrack
# 或者
brew install httrack
直接通過源碼編譯下安裝:
git clone https://github.com/xroche/httrack.git --recurse
cd httrack
./configure --prefix=$HOME/usr && make -j8 && make install
具體參考:http://www.httrack.com/page/2/en/index.html
常用的參數選項可以通過 httrack --help
查看。
0x03 克隆網站站點演示
環境准備
- Mac OSX 10.11
- httrack 工具
下面我以某一測試站點 https://progit.bootcss.com/
為例,來演示其操作過程。
克隆過程
1、httrack 進入操作界面
在安裝好 httrack 的 Mac OSX 10.11 的系統中,打開 shell 終端,直接輸入 httrack 即可。
2、輸入必要的信息
接下來我們要填入如下相關信息:
Welcome to HTTrack Website Copier (Offline Browser) 3.49-2
Copyright (C) 1998-2017 Xavier Roche and other contributors
To see the option list, enter a blank line or try httrack --help
# 1. 輸入待生成的項目名稱
Enter project name :progit
# 2. 輸入待保存的項目所在的路徑
Base path (return=/Users/apple/websites/) :/Users/apple/Desktop
# 3. 輸入需要克隆的網站的 url
Enter URLs (separated by commas or blank spaces) :https://progit.bootcss.com/
Action:
(enter) 1 Mirror Web Site(s)
2 Mirror Web Site(s) with Wizard
3 Just Get Files Indicated
4 Mirror ALL links in URLs (Multiple Mirror)
5 Test Links In URLs (Bookmark Test)
0 Quit
:
# 4. 沒有特別要求直接回車即可
Proxy (return=none) :
You can define wildcards, like: -*.gif +www.*.com/*.zip -*img_*.zip
# 5. 沒有特別要求直接回車即可
Wildcards (return=none) :
You can define additional options, such as recurse level (-r<number>), separated by blank spaces
To see the option list, type help
# 6. 沒有特別要求直接回車即可
Additional options (return=none) :
---> Wizard command line: httrack https://progit.bootcss.com/ -O "/Users/apple/Desktop/progit" -%v
Ready to launch the mirror? (Y/n) :Y
Mirror launched on Thu, 15 Aug 2019 11:54:40 by HTTrack Website Copier/3.49-2 [XR&CO'2014]
mirroring https://progit.bootcss.com/ with the wizard help..
Done.
Thanks for using HTTrack!
*
3、完成克隆
克隆效果如下:
克隆下來的網頁幾乎與原網站毫無差別,效果超級的 nice。
也可以通過查看 help 選項采用不同的選項方式進行克隆。
鏡像下來的網頁可以在離線的方式,進行滲透分析,傳統的在網站主機上瀏覽網頁,你瀏覽的和摸索的時間越多,活動可能被網站跟蹤,哪怕是隨意的瀏覽網站,也會被記錄蹤跡,只要屬於目標資源,任何時候與之直接交互,都可能留下數字痕跡。
但是,在沒有進行授權的時候千萬不要使用該軟件進行鏡像網站上的網頁,像部署了安全狗或者其他防火牆的專業軟件可能會記錄這種行為為攻擊性質。