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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值