wooyun_search

乌云公开漏洞、知识库搜索

0x00.介绍

灵感来源于hanc00l的github项目wooyun_public

wooyun_public基于flask或者tornado,而本项目可以布置在apache、nginx等web服务器上。

如果你有wooyun的静态网页数据,那么我们可以开始了!

整个项目包括两个部分,第一部分是索引,将网页信息存储进数据库;第二部分是搜索,从数据库中查找信息。轻量级,支持进行二次开发。

静态网页网盘链接:

bugs 链接: https://pan.baidu.com/s/1n_kkUaZZxcTEa4-v6sGa9Q 密码: sg98 (20180707)

drops 链接: https://pan.baidu.com/s/1r2Y7rfntwnjglX6HtzDk6w 密码: 738f (20180707)

0x01.依赖组件及说明

python 2.7和pip

python依赖:MySQLdb,lxml(推荐)

mysql,php及任意web服务器(php需开启pdo-mysql模块

将本项目放进web服务器目录下,bugs目录下为漏洞库文件,drops目录下为知识库文件。

文件说明:

app_bugs.py bugs的索引,依赖lxml

app_drops.py drops的索引,依赖lxml

index.html 搜索的主页

search.php 执行搜索的页面

config.php php配置文件

./bugs bugs静态文件的目录

./drops drops静态文件的目录

0x02.索引配置

app_bugs.py为建立bugs索引的脚本,app_drops为建立drops索引的脚本。

因为python脚本中open()函数打开的文件名不能为中文,建议将drops目录下的中文文件名改为英文(例如,安全运维-xxxx.html=>safe-xxxx.html)

python脚本运行前需要修改如下语句,更改参数如主机、端口号、用户名、密码。

conn=MySQLdb.connect(host='localhost',port=3306,user='root',passwd='',db='wooyun',charset='utf8')

在mysql中建立数据库wooyun,数据表bugs、drops,分别建立字段title,dates,author,type,corp,doc与title,dates,author,type,doc。

CREATE DATABASE `wooyun` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

create table bugs(title VARCHAR(500),dates DATETIME, author CHAR(255),type CHAR(255),corp CHAR(255),doc VARCHAR(200) PRIMARY KEY);

create table drops(title VARCHAR(500),dates DATETIME, author CHAR(255),type CHAR(255),doc VARCHAR(200) PRIMARY KEY);

注意mysql编码如下,需要为utf-8(character_set_server不为utf-8要修改mysql配置文件

use wooyun;

show variables like 'character%'; #查看编码

+--------------------------+----------------------------+

| Variable_name | Value |

+--------------------------+----------------------------+

| character_set_client | utf8 |

| character_set_connection | utf8 |

| character_set_database | utf8 |

| character_set_filesystem | binary |

| character_set_results | utf8 |

| character_set_server | utf8 |

| character_set_system | utf8 |

| character_sets_dir | /usr/share/mysql/charsets/ |

+--------------------------+----------------------------+

如果编码错误会报错,比如:

Warning: Incorrect string value: '\xE5\xBB\xB6\xE9\x95\xBF...' for column 'title' at row 1

cur.execute("INSERT INTO `drops`(`title`,`dates`,`author`,`type`,`doc`) VALUES(%s,%s,%s,%s,%s)", tmp)

在mysql里查看会发现有一堆???

之后就可以建立索引了

sudo python ./app_bugs.py

sudo python ./app_drops.py

bugs数目为40280,drops数目为1264

use wooyun;

select count(*) from bugs;

select count(*) from drops;

0x03.搜索配置

修改config.php中修改如下语句中参数,分别是主机、端口、用户名、密码与数据库。

$config['host'] = '127.0.0.1';

$config['port'] = '3306';

$config['user'] = 'root';

$config['passwd'] = '';

$config['database'] = 'wooyun';

index.html与search.php样式来自于前端静态资源托管库。f12进入开发者模式,如果样式文件访问不到可以使用本地或cdn的样式(bootstrap3.3.7、jquery3.1.0)。只需要更改两个网页里面的如下内容。

为了防止因为web服务器配置不正确,导致访问http(s)://example.link/bugs/或者http(s)://example.link/drops/而进入index of页面泄露所有文件,在目录下放置内容为空的index.html即可。

linux下由于selinux可能会导致无法连接数据库,可以使用如下命令:

getenforce //查看selinux状态

setenforce 0 //暂时关闭selinux

0x04.问题

drops很奇怪的会都需web目录下的js而不是本身目录里的js,所以drops的页面会有些乱。开发者模式看一下,缺少的js为web目录/static/drops/css与web目录/static/drops/js。新建目录再把drops下的css、js文件夹复制过去即可

0x05.更新日志

2016.10.08更新:上传了bugs.py。由于bugs部分页面(约143条)的author带有js,正则匹配出的信息出错,所以上传了bugs.py用于修正,在app.py后执行,python bugs.py。(2016.11.09已修正,无需执行bugs.py)

2016.10.10更新:重写了search.php和search.css,基本适配了各种浏览器和移动端。

2016.11.09更新:匹配索引将BeautifulSoup换成了lxml,运行速度更快。优化了匹配(感谢@tuola)。

2017.01.01更新:增加了作者搜索,优化了分页逻辑。

2017.3.7更新:重写了前端,优化了php代码。

欢迎反馈问题。可以提问issue也可以通过grt1stnull@gmail.com联系我。后续也会进行其他细节优化。

0x06.后记

本来打算把wooyun_public布置在我的树莓派上,因为一些原因失败,所以萌生了自己搭建的念头

总共搭建了十天,接触了js、bootstarap、beautifulsoup、mysqldb、mysqli和pdo。虽然以前也会css与php,但这是第一次真正写一个动态网页,感觉很棒。

0x07.其他

本程序只用于技术研究和个人使用,程序组件均为开源程序,漏洞和知识库来源于乌云公开漏洞,版权归wooyun.org。

php漏洞 乌云,GitHub - grt1st/wooyun_search: 乌云公开漏洞、知识库搜索 search from wooyun.org...相关推荐

  1. php漏洞 乌云,灵活布置、可二次开发的乌云公开漏洞及知识库搜索

    *本文原创作者:grt1stnull,本文属FreeBuf原创奖励计划,未经许可禁止转载 感谢hanc00l爬取了wooyun的网页,才使乌云关闭后,大家依旧可以访问以前的漏洞库.知识库.hanc00 ...

  2. 乌云公开漏洞查询api 查看乌云最新安全漏洞

    通过乌云公开漏洞查询api,查看乌云最新提交/确认/公开/待认领的安全漏洞. 接口名称:乌云公开漏洞查询api 接口平台:api 接口地址:http://op.juhe.cn/wooyun/index ...

  3. 邬迪:乌云完成了使命 | 乌云回忆录(一)

    点击有惊喜 <乌云回忆录>,是科技自媒体浅黑科技出品的专题. 2016年漏洞平台乌云关停.时隔一年,我试图走访那些和乌云相关的人,了解他们对网络安全.白帽子黑客,以及这个世界的看法.愿这些 ...

  4. 谷歌漏洞披露规则增加30天补丁缓冲期;Reddit 公开漏洞奖励计划

     聚焦源代码安全,网罗国内外最新资讯! 编译:奇安信代码安全卫士 本周,Reddit 宣布在 HackerOne 平台推出公开漏洞奖励计划,最高赏金为1万美元.谷歌 Project Zero 更改漏洞 ...

  5. SAP SolMan 严重漏洞的自动化 exploit 代码遭公开

     聚焦源代码安全,网罗国内外最新资讯! 编译:奇安信代码卫士团队 SAP Solution Manager (SolMan) 版本7.2 中存在一个漏洞,编号为CVE-2020-6207.目前该漏洞的 ...

  6. 火眼公司发布公开漏洞奖励计划

     聚焦源代码安全,网罗国内外最新资讯! 编译:奇安信代码卫士团队 经过几个月的非公开漏洞奖励计划运营后,火眼公司宣布在 Bugcrowd 平台上开放其漏洞奖励计划. 火眼公司表示,Bugcrowd 平 ...

  7. [爬虫练习]爬取同程安全应急响应公开漏洞列表以及详情

    附图一张: 今天闲来无事做,就想起同程SRC有一个公开漏洞模块.然而闲的蛋疼的我就有了对其写一个爬虫将漏洞列表爬下来的冲动.有两个版本,一个是单线程的.另一个是多线程的版本. 单线程版本: #codi ...

  8. 澳大利亚莫纳什大学推出公开漏洞奖励计划

     聚焦源代码安全,网罗国内外最新资讯! 编译:代码卫士 澳大利亚莫纳什大学推出公开漏洞奖励计划,以助力维护其数字化平台的安全性. 这项新的漏洞奖励计划托管在 Bugcrowd 平台,将为合法漏洞颁发最 ...

  9. 提高警惕!黑客在 GitHub 上利用虚假 PoC 漏洞钓鱼

    公众号关注 「奇妙的 Linux 世界」 设为「星标」,每天带你玩转 Linux ! 莱顿高级计算机科学研究所的研究人员在GitHub上发现了数以千计存在问题的存储库,这些存储库为各种漏洞提供虚假的概 ...

最新文章

  1. python自动化测试-D8-学习笔记之一(面向对象编程)
  2. Springboot中使用Google 的Kaptcha工具实现验证码校验
  3. 2013年 833c语言程序 江南大学 (A卷)
  4. ny225 小明求素数积
  5. pgslq表的字段类型_Python 爬取微信公众号文章和评论 (基于 Fiddler 抓包分析)
  6. 互联网项目管理流程(SOP)总结
  7. 洛谷——P1317 低洼地
  8. iOS 使用fopen返回null
  9. 斐波那契字符串_KMP
  10. 十分钟让你对C++ Traits大彻大悟
  11. 调用sap函数接口_部署在SAP云平台CloudFoundry环境的应用如何消费SAP Leonardo机器学习API...
  12. 【制作】基于51单片机的蓝牙遥控小车方案
  13. STM32芯片无法正常工作的现象及原因分析集锦
  14. [转载]Spring zuul日志配置
  15. JavaScript刷LeetCode拿offer-贪心算法
  16. 基于Android的火灾报警
  17. 行业调研:Platform Ops
  18. crh寄存器_STM32 学习笔记(寄存器)---2
  19. 美刊评选出25年十大牛股 微软思科甲骨文入选
  20. beanstalkd 安装 入门

热门文章

  1. Unity3d Ugui 18 LayoutElement
  2. arcgis10.2安装lisense后无法启动的问题
  3. linux下如何创建txt文件
  4. VMWare Workstation安装Windows7镜像(保姆级教程)
  5. Linux操作系统(一)——Unix、Linux、Ubuntu之间的关系
  6. 访问jersey生存的wadl文件
  7. 海康摄像机视频rtsp转rtmp,windows下搭建nginx流媒体服务器,使用ffmpeg推流。
  8. 电子词典(用map改写)
  9. 期货浮动盈亏(期货浮动盈亏和盯市盈亏)
  10. 【WINDOWS / DOS 批处理】for命令详解(四)