本地搭建wooyun整站镜像

by Web全栈工程师 on 2016 年 07 月 11 日

项目来源:https://github.com/hanc00l/wooyun_public
一、安装相关组件
  • python 2.7和pip
  • mongodb
  • scrapy (pip install scrapy)
  • flask (pip install Flask)
  • pymongo (pip install pymongo)
二、爬虫(现在已经关站,不能使用了)
  1. 乌云公开漏洞和知识库的爬虫分别位于目录scrapy/wooyun和scrapy/wooyun_drops
  2. 运行scrapy crawl wooyun -a page_max=1 -a local_store=false -a update=false,有三个参数用于控制爬取:
    • -a page_max: 控制爬取的页数,默认为1,如果值为0,表示所有页面
    • -a local_store: 控制是否将每个漏洞离线存放到本地,默认为false
    • -a update:控制是否重复爬取,默认为false
  3. 第一次爬取全部内容时,用scrapy crawl wooyun -a page_max=0 -a update=true
  4. 平时只爬取最近的更新时,用scrapy crawl wooyun -a page_max=1,可以根据自己的爬取频率和网站更新情况调整page_max的值
  5. 全部公开漏洞的列表和每个漏洞的文本内容存在mongodb中,大概约2G内容;如果整站爬全部文本和图片作为离线查询,大概需要10G空间;爬取全部知识库,总共约500M空间。
三、搜索
  1. 漏洞搜索使用了Flask作为web server,bootstrap作为前端
  2. 启动web server :在flask目录下运行python app.py,默认端口是5000
  3. 搜索:在浏览器通过http://localhost:5000进行搜索漏洞,多个关键字可以用空格分开
四、为mongodb数据库创建索引
  • 如果不创建索引,可能导致返回结果报错
  • mongo use wooyun db.wooyun_list.ensureIndex({“datetime”:1}) db.wooyun_drops.ensureIndex({“datetime”:1})
五、虚拟机镜像
  • 源自2016年6月底使用scrapy爬虫爬取的4W公开漏洞和知识库,虚拟机为ubuntu14.04,采用python2+mongodb+flask(tornado)和Elasticsearch搜索引擎。
  • 虚拟机下载地址:https://pan.baidu.com/s/1HkR4ggvAwTikshsjcKYBuA ,提取密码:8wnb(2018.4.23更新)
  • 使用方法:
    1. 压缩包解压后是一个vmware虚拟机的镜像,可以由vmware直接打开运行;
    2. 由于在制作压缩包时虚拟机为“挂起”状态,当前虚拟机的IP地址可能和宿主机的IP地址段不一致,请将虚拟机重启后重新获取IP地址,虚拟机用户密码为hancool/qwe123;
    3. 进入wooyun_public目录,先用git更新一下到最新的代码git pull; 4、进入wooyun_public/flask目录,运行./app.py;
    4. 打开浏览器,输入 http://ip:5000 , ip为虚拟机的网卡地址(使用ifconfig eth0查看)

Comments on this entry are closed.

Previous post:

Next post: