正如 HTTrack 的官方网站上讲的:该工具可以帮你把网站内容从服务器下载到本地的某个目录下,递归的保存所有的目录、HTML、图片、其它文件等。这边文章,我们将使用 HTTrack 下载一个完整的站点。
实施步骤
首先,打开我们的漏洞靶机:Vulnerable_VM 【配置参见:测试环境搭建】
Kali 中默认没有 HTTrack 软件(最新版的有),因此我们需要先安装下:
root@kali:~# apt-get install httrack
创建站点下载保存目录,进入目录,开始下载(最简单的使用方法就是后面跟目标站点的URL):
root@kali:~/test_crawler# mkdir bodgeit_httrack
root@kali:~/test_crawler# cd bodgeit_httrack
root@kali:~/test_crawler/bodgeit_httrack# httrack http://192.168.150.143/bodgeit/
WARNING! You are running this program as root!
It might be a good idea to run as a different user
Mirror launched at 23:24:13 by HTTrack Website Copier/3.48-21 [XR&CO'2014]
mirroring http://192.168.150.143/bodgeit/ with the wizard help..
Done.: 192.168.150.143/bodgeit/advanced.jsp (3027 bytes) - 500
Thanks for using HTTrack!
注意:URL最后的 “/” 不能省略,否则会返回 404,Server的根目录没有文件 bodgeit。
直接从本地离线访问下载的站点:
总结
HTTrack下载的是站点的静态拷贝,一切动态内容都无法获取,如用户输入的响应信息。实际下载到的内容如下:
- 一个以站点名称或地址命名的目录,里面包含下载的所有文件。
- cookies.txt 文件(包含下载站点时所用的cookies信息)
- hts-cache 目录(包含Crawler检测到的待下载文件清单,该清单后续会由HTTrack处理)
- hts-log.txt 文件(包含爬取和下载站点时的错误、告警和其他信息)
- index.html 文件(指向下载站点的原始index.html文件)
除了以上介绍的基本用法外,还可以跟定制化参数实现更高级的功能:
- -rN:设置爬取深度
- -%eN:设置爬取的外部链接的深度
- +[pattern]:根据pattern设置白名单,如 +baidu.com/
- -[pattern]:根据pattern设置黑名单,跳过下载的URL
- -F [user-agent]:指定下载时使用的user-agent
更对帮助信息请参考:
root@kali:~# httrack --help