python框架漏洞_【入门】6.Python WEB框架下集成乌云漏洞查询
前言:
做渗透的时候遇到一个系统可以到网上搜索下这个系统的相关漏洞,众所周知的原因,wooyun关闭了很久,所以我们最好自己搭建一个乌云镜像。
因为现在乌云打不开了,不好直接爬,我们可以爬那些已经搭建好的乌云镜像。
因为应用是搭建在SAE上的,为了节约money,所以采用mysql数据库,
0x01乌云爬虫
因为现在乌云打不开了,不好直接爬,我们可以爬那些已经搭建好的乌云镜像。
这个爬虫是好久之前写的,不仅爬取了每个页面,将所有的漏洞信息、厂商列表、评论都存储了
360桌面截图20161122162316.jpg (128.82 KB, 下载次数: 98)
2016-11-22 16:25 上传
360桌面截图20161122162348.jpg (92.09 KB, 下载次数: 106)
2016-11-22 16:25 上传
360桌面截图20161122162402.jpg (53.68 KB, 下载次数: 84)
2016-11-22 16:25 上传
爬完乌云镜像,只有3w多点数据
clipboard.png (19.61 KB, 下载次数: 113)
2016-11-22 16:28 上传
爬虫是之前写的,好了好久也没有找到
爬虫写起来还是很容易,用beautifulsoup解析网页就都可以出来
这个爬虫不是我们的重点,我们只需要这个数据就行了
导出SQL就有接近200多M了
数据库下载地址:链接: http://pan.baidu.com/s/1hrKYy8W 密码: yrrr
0x02 pyhton flask代码编写
因为我们要用到MySQL数据库,所以我们先安装下MySqldb
[AppleScript] 纯文本查看 复制代码pip MySqldb
因为我们使用的是PYTHON2.7,为了一些不必要的错误,我们先在段首写上
[AppleScript] 纯文本查看 复制代码import sys
reload(sys)
sys.setdefaultencoding('utf-8')
防止编码错误
我们需要展示两个界面,一个是搜索关键词得到的数据界面,一个是漏洞界面,通过MySql的like语句搜索标题中的关键字,然后通过id查询获取详细信息,详细看代码
[AppleScript] 纯文本查看 复制代码#集成wooyun漏洞平台
@app.route('/wooyun',methods=["get","post"])
def wooyun():
searchword = request.args.get('key', '').strip()
log_id = request.args.get('id', '')
data = {}
table = list()
if log_id:
# 使用execute方法执行SQL语句
cursor.execute(MySQLdb.escape_string("SELECT * from emlog_blog where gid=%s"%log_id))
# 使用 fetchone() 方法获取一条数据库。
results = cursor.fetchone()
data["id"] = results[0]
data["text"] = results[2]
data["title"] = results[1]
if searchword:
sql = 'SELECT gid,title from emlog_blog where title like "%%%s%%"'%searchword
cursor.execute(sql)
#cursor.execute('SELECT * from emlog_blog limit 10')
results = cursor.fetchall()
for rows in results:
tdata = {}
tdata["id"] = rows[0]
tdata["title"] = rows[1]
table.append(tdata)
return render_template("wooyun.html",title="乌云漏洞查询",data=data,table=table)
0x03 需要注意的转义问题
为了防止sql语句出现注入的现象,使用MySQLdb.escape_string函数进行转义
0x04 上线新浪SAE
新浪SAE自带mysqldb,所以不需要额外的打包上传,首先要创建Mysql:
clipboard.png (53.1 KB, 下载次数: 109)
2016-11-22 16:32 上传
导入数据库,
clipboard1.png (47.07 KB, 下载次数: 98)
2016-11-22 16:32 上传
通过查询API
clipboard.png (29.3 KB, 下载次数: 106)
2016-11-22 16:32 上传
段首修改下
[AppleScript] 纯文本查看 复制代码#连接数据库操作
MYSQL_DB = sae.const.MYSQL_DB # 数据库名
MYSQL_USER = sae.const.MYSQL_USER # 用户名
MYSQL_PASS = sae.const.MYSQL_PASS # 密码
MYSQL_HOST = sae.const.MYSQL_HOST # 主库域名(可读写)
MYSQL_PORT = int(sae.const.MYSQL_PORT) # 端口,类型为,请根据框架要求自行转换为int
db = MySQLdb.connect(MYSQL_HOST,MYSQL_USER,MYSQL_PASS,MYSQL_DB,port = MYSQL_PORT,charset='utf8' )
cursor = db.cursor()
0x05 上线测试
clipboard.png (39.31 KB, 下载次数: 97)
2016-11-22 16:33 上传
360截图20161122163408128.jpg (73.74 KB, 下载次数: 94)
2016-11-22 16:37 上传
0x06 总结
乌云漏洞目前最全的似乎有8w多,本文只是抛砖引玉下,
整个项目源码 https://github.com/boy-hack/pythonwebhack
python框架漏洞_【入门】6.Python WEB框架下集成乌云漏洞查询相关推荐
- 视频教程-Python全栈开发入门课-Python
Python全栈开发入门课 前百度资深大数据工程师,现在爱奇艺推荐算法架构师,对python使用7年,具备大数据.机器学习.深度学习.推荐算法等多领域的技术能力 裴帅帅 ¥29.00 立即订阅 扫码下 ...
- python框架漏洞_注意!Python中的10个常见安全漏洞及修复方法
编写安全的代码很困难,当你学习一门编程语言.一个模块或框架时,你会学习其使用方法.在考虑安全性时,你需要考虑如何避免代码被滥用,Python也不例外,即使在标准库中,也存在着许多糟糕的实例.然而,许多 ...
- python bottle框架搭建_[深度分析] Python Web 开发框架 Bottle
Bottle 是一个非常精致的WSGI框架,它提供了 Python Web开发中需要的基本支持:URL路由,Request/Response对象封装,模板支持,与WSGI服务器集成支持.整个框架的全部 ...
- python中常见的漏洞_注意!Python中的10个常见安全漏洞及修复方法
原标题:注意!Python中的10个常见安全漏洞及修复方法 源 /Python程序员 编写安全的代码很困难,当你学习一门编程语言.一个模块或框架时,你会学习其使用方法.在考虑安全性时,你需要考虑如何避 ...
- python框架大全_常用的Python开源框架有哪些?列举这3个
随着人工智能快速发展,不仅在各个领域应用日益广泛,同时也引发了教学内容的变革和创新.人工智能的火热得益于成功的开源以及深度学习框架的不断涌现.而Python作为一种脚本语言,具有易学.易维护等优点,它 ...
- python django 动态网页_Django-手撸简易web框架-实现动态网页-wsgiref初识-jinja2初识-python主流web框架对比-00...
自己动手实现一个简易版本的web框架 在了解python的三大web框架之前,我们先自己动手实现一个. 备注: 这部分重在掌握实现思路,代码不是重点 代码中也有许多细节并未考虑,重在实现思路 手撸一个 ...
- python怎么执行代码漏洞_如何使用python查找网站漏洞
展开全部 如果你的Web应用中存在Python代码注入e69da5e6ba9062616964757a686964616f31333361326363漏洞的话,攻击者就可以利用你的Web应用来向你后台 ...
- python开发框架大全_最常用Python开源框架有哪些?
Python开源框架有很多,像Django.Flask.webpy等等,但哪些是最常用到的呢?我们收集了一些Python使用者的宝贵意见,把他们认为最常用的Python开源框架简单的介绍给大家. 一. ...
- 基于python的深度学习框架有_《用Python实现深度学习框架》上市
朋友们,<用Python实现深度学习框架>已经由人民邮电出版社出版上市了.在这本书中,我们带领读者仅用Python+Numpy实现一个基于计算图的深度学习框架MatrixSlow.本书讲解 ...
最新文章
- python计算时间差
- Learn from mistake, i.e. 和 e.g. 是不同的
- xheditor 内容保存时 不转义html特殊字符,xheditor编辑器上传图片(示例代码)
- Springboot 常见请求方式
- h5-plus.webview
- Fact Table and Dimension Table In My Opinion
- 第一次马拉松_成为数据科学家是一场马拉松而不是短跑
- JupyterHub on Kubernetes-Helm安装
- python assert_python assert使用说明
- python输入时间限制_用Python计算用户输入时间
- JS保证输入框里面的数值是数字
- linux7离线安装docker19,centos7离线安装docker
- 数据过多,程序运行失败
- 什么叫51单片机最小系统
- 在鹅厂如何带薪刷视频?
- 关于迅雷播放器的模仿
- 2021SC@SDUSC山东大学软件学院软件工程应用与实践--YOLOV5代码分析(十三)metrics.py-1
- UG NX C#.NET 二次开发步骤
- MP:精神疾病患者和正常发育人群皮层特征的共同模式
- ERROR [io.undertow.request] UT005023: Exception handling request 报错处理