关于在flask框架上进行web文件上传漏洞测试的杂记

关于在flask框架上进行web文件上传漏洞测试的杂记

昨天不是刚把服务器给部署好了嘛,其中针对sql注入,xss以及文件上传做了一定程度的防范,可是不知道防护效果如何,今天就花了几个小时对文件上传做了些简单的测试。

简单说明

首先来说下我后端针对文件上传做的基本防护吧。

第一就是针对文件名进行处理,在后端进行文件后缀名截取,只允许png,jpg,jpeg格式的图片上传,对不满足条件的文件进行删除并在前端输出相关提示。当然这个工作其实在前端也可以做。

第二就是用python的imghdr.what()函数进行文件的头文件识别,发现不是jpeg以及png格式的文件进行删除并输出相关提示。嗯,检查头文件的时候,jpeg和jpg是相同的头文件。

第三是对图片里面的内容进行识别。因为我服务器要求上传的是QR码,所以就用pyzbar库的decode函数对QR码进行解码。解码成功说明是QR码,进行下一步,解码不成功说明不是收款码进行删除处理并输出相关提示。

第四是对QR码里面的内容进行识别。因为我要求上传的是支付宝收款码,是QR码的一种。对支付宝收款码里面包含的收款地址进行正则匹配,不符合相关格式就进行删除处理,符合就进行下一步。

第五是对收款码地址进行查询,查询数据库里面有没有一样的,有就对文件进行删除并输出相关提示,没有就进行下一步。

简单测试

测试环节

首先用txt写了一句话木马01.php。

<?php eval($_POST['ant']); ?>

1.上传01.php 。上传失败,提示错误。因为要验证木马有没有被删除,就用蚁剑进行了连接测试。失败。
2.修改文件后缀名进行上传。上传失败,蚁剑连接失败。
3. 上传图片测试。提示不是png,

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值