php漏洞 乌云,GitHub – grt1st/wooyun_search: 乌云公开漏洞、知识库搜索 search from wooyun.org…

php漏洞 乌云,GitHub – grt1st/wooyun_search: 乌云公开漏洞、知识库搜索 search from wooyun.org…wooyun_search乌云公开漏洞、知识库搜索0x00.介绍灵感来源于hanc00l的github项目wooyun_publicwooyun_public基于flask或者tornado,而本项目可以布置在apache、nginx等web服务器上。如果你有wooyun的静态网页数据,那么我们可以开始了!整个项目包括两个部分,第一部分是索引,将网页信息存储进数据库;第二部分是搜索,从数据库中查找…

wooyun_search

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

330231ceeab8484f4f16257b4ba78102.png

b90234033566ae860e86403fe68a58fa.png

e33970296ce3b50360879d997d648150.png

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。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/234252.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • dirsearch使用方法_in search of的用法

    dirsearch使用方法_in search of的用法文章目录dirsearch扫描的目标扫描的字典类型字典格式设置响应结果的过滤请求相关设置连接相关设置通用设置输出模式常见的用法TIPSdirsearch扫描的目标-u,–url目标url-l,–url-list=FILE目标url文件路径–stdin从标准输入中指定url–cidr目标网段–raw=File从文件

    2022年10月6日
  • 谷歌域名大全_www.google.vcom

    谷歌域名大全_www.google.vcom谷歌域名大全google各国网址  美国www.google.com  加拿大www.google.ca  墨西哥www.google.com.mx  巴西www.google.com.br  智利www.google.cl  阿根廷www.google.com.ar  秘鲁www.google.com.pe  哥伦比亚www.google.com.c

    2022年10月3日
  • veryCD名言「建议收藏」

    veryCD名言「建议收藏」电骡文化:1.快并快乐着!2.共享世界,有你才精彩!3.你共享一小文件,对于你来说是一小文件,但对于世界上的骡友来说是一个大文件。来自VeryCD 的原创(VeryCD 名人名言):(!)4.分享互联网5.梦里寻她千百度,蓦然回首,那资源竟在VeryCD 下载处。●———————————————————————————————————————————————————…

    2022年8月10日
  • linux内核编程_linux内核是什么

    linux内核编程_linux内核是什么什么是操作系统?指在系统中负责完成最基本功能和系统管理的部分,操作系统有哪些组成部分?内核——操作系统的内在核心 设备驱动程序 启动引导程序 命令行shell 其他种类的用户界面—-操作系统的外在表象 基本的文件管理工具和系统工具Linux内核的组成Linux内核源代码目录结构是什么,各目录有什么含义?arch:包含和硬件体系结构相关的代码,每种平台占一…

    2022年10月8日
  • SpringApplication.run(MyApplication.class, args)运行流程源码分析[通俗易懂]

    SpringApplication.run(MyApplication.class, args)运行流程源码分析[通俗易懂]SpringApplication.run(MyApplication.class,args);如何启动springBoot项目的run()一个静态的辅助方法,可以使用默认设置和用户提供的参数从指定源运行SpringApplicationConfigurableApplicationContext大多数应用程序上下文(如果不是全部的话)将实现SPI(服务提供者)接口。除了Applicat…

    2022年9月9日
  • 分析方法3—PEST

    分析方法3—PEST什么时候需要进行行业分析呢?当个人在对自己进行职业规划,思考选择哪个行业更好的时候;当公司需要对外部环境或者行业竞争对手有所了解,制定发展规划的时候;当面对重大问题,需要分析行业问题的时候。如何进行行业分析呢?就是用PEST分析方法。PEST分析方法是对公司发展宏观环境的分析,所以经常用于行业分析。通常是从政策、经济、社会和技术这四个方面来分析的.2.3.2如何使用行业分析方法?现在通过一个具体的例子来看下如何应用PEST分析方法。政策环境主要包括政府的政策、法律等。例如可以从这样几个问题

    2022年5月29日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号