使用Node.js抓取sebug漏洞目录


发布人:admin分类:网络安全浏览量:23发布时间:2017-12-12

在10月份的时候为了准备一个竞赛,需要收集公开漏洞和EXP,而且比赛过程中不能连接外网。便尝试用Node.js对sebug漏洞库进行了整站抓取,成功”快照“了两万多个漏洞和exp。写一下大概过程和代码,希望对有类似需求的同学有所帮助。

主要利用了jQuery来进行HTTP下载和关键信息提取(需要操作DOM,可能效率不是很高)的工作。

sebug有一个地址可以按顺序列出全部漏洞:http://sebug.net/vuldb/vulnerabilities?start=1

将start参数修改为具体的翻页即可遍历出所有的项目。之前还发现了一个小BUG,把start参数改成-1之类,会输出比较详细的错误信息,包括出错的源文件路径、具体的SQL查询语句,一下就暴露了表结构和后端的系统(web.py+MYSQL)。sebug似乎发现了这个问题,现在只是简单地输出一句HTTP 500。

接下来就是信息的提取了。跟浏览器前端完全一致的函数接口(querySelector等,甚至可以直接用jQuery)是我喜欢用Node.js抓取网页的原因,感觉就像是在自己的网页上写前端代码一样。比如我要提取出第1页中所有漏洞的链接,只需要使用CSS查询“.li_list > ul > li”即可。对网页正文的提取类似。

sebug在漏洞详情中夹带了广告,这是我不需要的。可以这样去掉:

dom.find("#isad").remove();

sebug上很多漏洞并没有直接给出细节,而是贴上一个外链了事。对于需要离线环境使用的我来说,一个链接怎么够?还好遇到了神器PhamtomJS。它的强大功能不多做废话,这里我只需要用到一个特性,将指定URL的网页几乎原汁原味地渲染成PDF格式。

剩下的就是耐心等待了。sebug对频繁的访问会返回HTTP 503,只好在脚本中使用队列和setTimeOut解决,这就完全把以“非阻塞”为卖点的Node彻底弄残了。如果能搞到几个不同的公网IP再做简单的分配,抓取速度将会大为提高。

最后抓取的结果光是数据库就有近100M,而PDF格式的网页快照有111M,就不传gitHub了。

展示界面用express随便写了一个站,只写了index和404的模版,其余的全靠AJAX和动态修改DOM,所以界面这块并没有写多少代码。感觉真是非常的爽啊。

代码地址:https://github.com/ChiChou/offlineSebug

赶工做出来的代码比较潦草,可能以后有精力再重构了,请轻微吐槽。


被黑站点统计 - 文章版权1、本主题所有言论和图片纯属会员个人意见,与本文章立场无关
2、本站所有主题由该文章作者发表,该文章作者与被黑站点统计享有文章相关版权
3、其他单位或个人使用、转载或引用本文时必须同时征得该文章作者和被黑站点统计的同意
4、文章作者须承担一切因本文发表而直接或间接导致的民事或刑事法律责任
5、本帖部分内容转载自其它媒体,但并不代表本站赞同其观点和对其真实性负责
6、如本帖侵犯到任何版权问题,请立即告知本站,本站将及时予与删除并致以最深的歉意
7、被黑站点统计管理员有权不事先通知发贴者而删除本文

免责声明

本站主要通过网络搜集国内被黑网站信息,统计分析数据,为部署安全型网络提供强有力的依据.本站所有工作人员均不参与黑站,挂马或赢利性行为,所有数据均为网民提供,提交者不一定是黑站人,所有提交采取不记名,先提交先审核的方式,如有任何疑问请及时与我们联系.

admin  的文章


微信公众号

微信公众号


Copyright © 2012-2022被黑网站统计系统All Rights Reserved
页面总访问量:21264392(PV) 页面执行时间:55.054(MS)
  • xml
  • 网站地图