php漏洞 乌云,灵活布置、可二次开发的乌云公开漏洞及知识库搜索
*本文原创作者:grt1stnull,本文属FreeBuf原创奖励计划,未经许可禁止转载
感谢hanc00l爬取了wooyun的网页,才使乌云关闭后,大家依旧可以访问以前的漏洞库、知识库。hanc00l发布了基于flask或者torndo的乌云公开漏洞、知识库搜索的github项目,同时发布了已经配置好的虚拟机,允许大家直接把乌云搭建在了本地。
为了方便的在本地进行乌云搜索,我准备把乌云搜索搭建在树莓派上。但是,hanc00l使用的数据库是mangodb,总数据在6GB左右。32位的mangodb支持的总共数据大小最大是2GB,而我的树莓派正是32位,所以我没办法在树莓派上布置。于是利用静态的乌云漏洞库、知识库,我自己建立了数据库、搜索页面,实现了可在apache、nginx等上布置,基于mysql数据库的乌云知识库、漏洞库搜索项目。
我的项目使用python依次处理静态页面,用正则抽取出信息再批量插入数据库;之后又写了个php,实现了对数据库的搜索。
二.python的经验分享
我在python中利用的扩展库是BeautifulSoup与MySQLdb。关于这两个库的介绍有很多,下面我主要介绍下我对这两个库的操作。
1)beautifulsoup的使用from bs4 import BeautifulSoup #引用库
soup=BeautifulSoup(html,"html.parser") #创建BeautifulSoup对象,html为目标
corps=soup.find_all('p',class_='words') #从对象中查找类名为words的p的标签
大家可以输出一下试试
2)MySQLdb的使用import MySQLdb #引用库
try: #错误处理
conn=MySQLdb.connect(host='localhost',port=3306,user='root',passwd='',db='wooyun',charset='utf8') #建立连接,host主机、port端口(默认3306)、user用户、passwd密码、db操作的库、charset字符编码
cur=conn.cursor() #获取操作游标
reload(sys)
sys.setdefaultencoding('utf-8') #设置编码
tmp=(title1,date1,author1[0],type1[0],corp1[0],docs) #要插入的数组
cur.execute("INSERT INTO `bugs`(`title`,`dates`,`author`,`type`,`corp`,`doc`) VALUES(%s,%s,%s,%s,%s,%s)",tmp) #插入数据库
conn.commit() #提交操作,插入时不可省
cur.close()
conn.close() #关闭连接,释放资源
except MySQLdb.Error,e:
print "Mysql Error %d: %s" % (e.args[0], e.args[1]) #如果出错,输出错误
对于mysql不是很熟悉的同学如果有phpmyadmin的话可以在phpmyadmin中操作一下数据库,可以预览mysql语句。也可以在mysql命令行中执行语句尝试。
三.php的经验分享
虽然以前一直会php和css,但是这是第一次真正写一个动态页面。
首先对参数进行过滤。判断是否为整数数字:if(is_numeric($_GET['page'])&&is_int($_GET['page']+0)){
#code
}
php中标签的输出是这样的!echo "
haha
";
bootstrap很好用!
推荐链接:
php对数据库的处理:
现在版本的php不再推荐MYSQL函数了,建议使用PDO或者mysqli
本来想使用pdo的,想感受一下预处理。但是pdo会对参数中的某些字符进行转义。无论我怎么处理都会报错,最终我决定使用mysqli了。//mysql建立连接
$db=new mysqli('localhost','root','','wooyun'); //localhost:3307
//sql对象错误检查
if(mysqli_connect_errno()){
echo '
Error:Please try again later.';
exit();
}
参数如上,不解释了。host有两种方式,默认端口是localhost;指定端口是localhost:3307$query0="SELECT count(*) FROM `".$kind."` WHERE `title` LIKE '%".$keywords."%'"; #mysql语句
$num=$db->query($query0); #执行该语句
$row=$num->fetch_row(); #取得结果
四.后记
在课业之余用了10天时间搭建完成,见识了很多扩展,很有帮助。
*本文原创作者:grt1stnull,本文属FreeBuf原创奖励计划,未经许可禁止转载
php漏洞 乌云,灵活布置、可二次开发的乌云公开漏洞及知识库搜索相关推荐
- 谷歌漏洞披露规则增加30天补丁缓冲期;Reddit 公开漏洞奖励计划
聚焦源代码安全,网罗国内外最新资讯! 编译:奇安信代码安全卫士 本周,Reddit 宣布在 HackerOne 平台推出公开漏洞奖励计划,最高赏金为1万美元.谷歌 Project Zero 更改漏洞 ...
- 微信开发sdk_二次开发微信API更新日志
微信开发sdk_二次开发微信API更新日志 微信开发sdk_二次开发微信API更新日志 2.6.35 清粉优化 小于1k的图片发送失败的问题 联系人资料新增电话号码和描述 发布2.6.31->2 ...
- php漏洞 乌云,GitHub - grt1st/wooyun_search: 乌云公开漏洞、知识库搜索 search from wooyun.org...
wooyun_search 乌云公开漏洞.知识库搜索 0x00.介绍 灵感来源于hanc00l的github项目wooyun_public wooyun_public基于flask或者tornado, ...
- 乌云公开漏洞查询api 查看乌云最新安全漏洞
通过乌云公开漏洞查询api,查看乌云最新提交/确认/公开/待认领的安全漏洞. 接口名称:乌云公开漏洞查询api 接口平台:api 接口地址:http://op.juhe.cn/wooyun/index ...
- 如何选择一个合适的B2B2C商城系统,并能支持灵活的二次开发?
B2B2C是把"供应商→生产商→经销商→消费者"各个产业链紧密连接在一起.整个供应链是一个从创造增值到价值变现的过程,把从生产.分销到终端零售的资源进行全面整合,不仅大大增强了整体 ...
- PHP漏洞利用工具开发,PHPcms二次开发,PHPcms,DEDEcms简单代码审计
PHP工具开发 文章目录 PHP工具开发 PHP小马 一句话木马 PHP大马分析 实现大马后门 编写大马 PHP的cms二次开发 PHP常见CMS的漏洞分析 PHPstorm调试模式 PHPCMSv9 ...
- Rational AppScan 标准版可扩展性和二次开发能力简介
下载:IBM® Rational® AppScan 标准版 | Web 应用安全与 IBM Rational AppScan 工具包 获取免费的 Rational 软件工具包系列,下载更多的 R ...
- ASP和PHP开源CMS系统,可作为二次开发
网站内容管理系统(CMS)简单介绍: CMS(Content Management System),译为网站内容管理系统,大概2004以前,如果想进行网站内容管理,基本上都是靠手工维护,但千变万化的信 ...
- 从YARN迁移到k8s,滴滴机器学习平台二次开发是这样做的
整理 | 夕颜 出品 | AI科技大本营(ID:rgznai100) [导读]人工智能时代,机器学习已经渗透进每个领域,改变了这些领域的业务模式.技术架构以及方法论.随着深度学习技术近年来快速发展,高 ...
最新文章
- 【错误记录】执行 Python 程序报错 ( NameError: name ‘reload‘ is not defined )
- 《编写高质量代码:改善C#程序的157个建议》勘误表
- 10个关于人工智能和机器学习的有趣开源项目
- TransactionProducer(事务消息)
- OS- -文件系统(一)
- spring mvc 返回json数据的四种方式
- 通过python 爬取网址url 自动提交百度
- 玩转 SpringBoot 2 之发送邮件篇
- socket.io插件调用的demo
- 算法与数据结构1800题 树和二叉树
- 2021年下半年软考信息安全工程师下午案例题及解析
- 好看的皮囊 · 也是大自然的杰作 · 全球高质量 · 美图 · 集中营 · 美女 · 2017-08-29期...
- 基于Zookeeper实现简易的负载均衡
- python实现中文数字转为阿拉伯数字
- CSS——去除iframe边框
- mysql数据库中 join 和 left join 的区别
- notion函数_高效工作必备,手把手教你玩转 Notion 模板(附下载)
- 小米投的力玄运动冲刺上交所:拟募资20亿 吴银昌家族色彩浓厚
- dbeaver 设置编码_宝鼎伺服马达编码器磨损维修
- iTunes的资料库中没有书籍(图书)选项的解决方法