php漏洞 乌云,GitHub - grt1st/wooyun_search: 乌云公开漏洞、知识库搜索 search from wooyun.org...
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...相关推荐
- php漏洞 乌云,灵活布置、可二次开发的乌云公开漏洞及知识库搜索
*本文原创作者:grt1stnull,本文属FreeBuf原创奖励计划,未经许可禁止转载 感谢hanc00l爬取了wooyun的网页,才使乌云关闭后,大家依旧可以访问以前的漏洞库.知识库.hanc00 ...
- 乌云公开漏洞查询api 查看乌云最新安全漏洞
通过乌云公开漏洞查询api,查看乌云最新提交/确认/公开/待认领的安全漏洞. 接口名称:乌云公开漏洞查询api 接口平台:api 接口地址:http://op.juhe.cn/wooyun/index ...
- 邬迪:乌云完成了使命 | 乌云回忆录(一)
点击有惊喜 <乌云回忆录>,是科技自媒体浅黑科技出品的专题. 2016年漏洞平台乌云关停.时隔一年,我试图走访那些和乌云相关的人,了解他们对网络安全.白帽子黑客,以及这个世界的看法.愿这些 ...
- 谷歌漏洞披露规则增加30天补丁缓冲期;Reddit 公开漏洞奖励计划
聚焦源代码安全,网罗国内外最新资讯! 编译:奇安信代码安全卫士 本周,Reddit 宣布在 HackerOne 平台推出公开漏洞奖励计划,最高赏金为1万美元.谷歌 Project Zero 更改漏洞 ...
- SAP SolMan 严重漏洞的自动化 exploit 代码遭公开
聚焦源代码安全,网罗国内外最新资讯! 编译:奇安信代码卫士团队 SAP Solution Manager (SolMan) 版本7.2 中存在一个漏洞,编号为CVE-2020-6207.目前该漏洞的 ...
- 火眼公司发布公开漏洞奖励计划
聚焦源代码安全,网罗国内外最新资讯! 编译:奇安信代码卫士团队 经过几个月的非公开漏洞奖励计划运营后,火眼公司宣布在 Bugcrowd 平台上开放其漏洞奖励计划. 火眼公司表示,Bugcrowd 平 ...
- [爬虫练习]爬取同程安全应急响应公开漏洞列表以及详情
附图一张: 今天闲来无事做,就想起同程SRC有一个公开漏洞模块.然而闲的蛋疼的我就有了对其写一个爬虫将漏洞列表爬下来的冲动.有两个版本,一个是单线程的.另一个是多线程的版本. 单线程版本: #codi ...
- 澳大利亚莫纳什大学推出公开漏洞奖励计划
聚焦源代码安全,网罗国内外最新资讯! 编译:代码卫士 澳大利亚莫纳什大学推出公开漏洞奖励计划,以助力维护其数字化平台的安全性. 这项新的漏洞奖励计划托管在 Bugcrowd 平台,将为合法漏洞颁发最 ...
- 提高警惕!黑客在 GitHub 上利用虚假 PoC 漏洞钓鱼
公众号关注 「奇妙的 Linux 世界」 设为「星标」,每天带你玩转 Linux ! 莱顿高级计算机科学研究所的研究人员在GitHub上发现了数以千计存在问题的存储库,这些存储库为各种漏洞提供虚假的概 ...
最新文章
- python自动化测试-D8-学习笔记之一(面向对象编程)
- Springboot中使用Google 的Kaptcha工具实现验证码校验
- 2013年 833c语言程序 江南大学 (A卷)
- ny225 小明求素数积
- pgslq表的字段类型_Python 爬取微信公众号文章和评论 (基于 Fiddler 抓包分析)
- 互联网项目管理流程(SOP)总结
- 洛谷——P1317 低洼地
- iOS 使用fopen返回null
- 斐波那契字符串_KMP
- 十分钟让你对C++ Traits大彻大悟
- 调用sap函数接口_部署在SAP云平台CloudFoundry环境的应用如何消费SAP Leonardo机器学习API...
- 【制作】基于51单片机的蓝牙遥控小车方案
- STM32芯片无法正常工作的现象及原因分析集锦
- [转载]Spring zuul日志配置
- JavaScript刷LeetCode拿offer-贪心算法
- 基于Android的火灾报警
- 行业调研:Platform Ops
- crh寄存器_STM32 学习笔记(寄存器)---2
- 美刊评选出25年十大牛股 微软思科甲骨文入选
- beanstalkd 安装 入门