最后再来分析high级别的代码:

这里首先有一条语句需要理解:

$uploaded_ext = substr($uploaded_name, strrpos($uploaded_name, '.') + 1);

在这条语句里,首先利用strrpos() 函数来查找“.”在变量$uploaded_name中出现的位置,然后将得到的数值加1,最后利用substr()函数从变量$uploaded_name的指定位置截取部分字符串。

总之,这条语句的作用就是从我们所上传的文件名中截取出扩展名部分。

接下来就用if语句来判断这个扩展名是否是大写或小写的jpg/jpeg,如果不是的话则不允许上传,因而这里就是定义了一份白名单,这也是安全性比较高的一种防御措施。

最后总结一下,如果要挖掘上传漏洞,那么就可以在网页代码中搜索$_FILES这个用于接收上传文件的变量,或是搜索move_uploaded_file这个用于执行上传操作的函数,然后再分析是否采取了过滤措施。

上传漏洞作为一种主流的***方式,其形式是非常多样的,单纯就DVWA中这种上传漏洞而言,定义白名单就是一种不错的防御方式。

转载于:https://blog.51cto.com/yttitan/1732397

DVWA系列之24 high级别上传漏洞相关推荐

  1. DVWA系列之23 medium级别上传漏洞分析与利用

    下面再来分析medium级别的代码: 这里分别通过"$_FILES['uploaded']['type']"和"$_FILES['uploaded']['size']&q ...

  2. 文件上传漏洞——DVWA练习

    前言:文件上传漏洞是很常见的漏洞,也非常有趣,接下来就在DVWA靶场中边学边练. 文件上传漏洞: 文件上传漏洞是指由于程序员在对用户文件上传部分的控制不足或者处理缺陷,而导致的用户可以越过其本身权限向 ...

  3. DVWA的搭建以及文件上传漏洞各个等级测试

    文章目录 DVWA的安装环境 下载DVWA DVWA--File Upload Low级别测试 medium级别测试 High级别测试 制作一句话图片木马 DVWA的安装环境 phpstudy 集成了 ...

  4. dvwa中的文件上传漏洞

    环境: Metasploitable2: 192.168.11.157 dvwa版本:Version 1.0.7 (Release date: 08/09/10) kail机器:192.168.11. ...

  5. DVWA之PHP文件上传漏洞(File Upload)

    文件上传漏洞是指由于服务器对于用户上传部分的控制不严格导致攻击者可以上传一个恶意的可执行的文件到服务器.简单点说,就是用户直接或者通过各种绕过方式将webshell上传到服务器中进而执行利用. 首先保 ...

  6. 【Web安全】中国蚁剑+DVWA(本地文件上传漏洞Upload)

    文章目录 1 中国蚁剑 2 文件上传漏洞(Upload) 2.1 准备hack.php 2.2 从DVWA上传hack.php 3 使用蚁剑来连接获得webshell 1 中国蚁剑 中国蚁剑是一款开源 ...

  7. dvwa上传php文件,DVWA之文件上传漏洞

    File Upload,即文件上传漏洞,通常是由于对上传文件的类型.内容没有进行严格的过滤.检查,使得攻击者可以通过上传木马获取服务器的webshell权限,因此文件上传漏洞带来的危害常常是毁灭性的, ...

  8. DVWA靶机-文件上传漏洞(File Upload)

    DVWA靶机-文件上传漏洞(File Upload) 文件上传漏洞的四个等级,low,medium,high,impossible,今天我们针对于不同的等级进行基于文件上传漏洞的攻击 DVWA靶机-暴 ...

  9. weblogic系列漏洞整理————8、WebLogic 两处任意文件上传漏洞动态分析(CVE-2018-2894)

    0x01 前言 CNCERT前几天发公告称发现Oracle公司出品的基于JavaEE结构的中间件WebLogic产品存在一个远程上传漏洞,并得到了厂商的确认,危害程度评分高达9.8分.鉴于厂商已进行了 ...

最新文章

  1. oracle 10g rac重建crs
  2. WCF之元数据交换 (Metadata Exchange)
  3. Springboot项目因为kackson版本问题启动报错解决方案
  4. 最新 Docker 部署nginx Tocmat跑项目(解决springBoot启动两次的问题)
  5. python的map怎么用_python中的map怎么使用
  6. 基于LVS对LAMP做负载均衡集群
  7. 格力关联公司公开“菜谱的推荐方法”相关专利
  8. nodejs对文件进行分页
  9. MySQL 中的共享表空间与独立表空间,用哪个好呢?
  10. spring aop示例_Spring批处理示例
  11. XLSTransformer 导出Excel数据
  12. 数据库修改服务器,服务器数据库修改
  13. 万维钢【思考的乐趣1:为学而学】
  14. www.050604.pw ub.php,《UFIDA用友软件维护工具》050604版使用说明
  15. 从零搭建Pytorch模型教程(一)数据读取
  16. php判断是否是浏览器请求,php 判断请求是否来自“手机浏览器”
  17. 判断空间四点(多点)共面的计算方法
  18. 2022年安全员-B证试题及模拟考试
  19. 深度学习之灾难性遗忘问题
  20. [区块链文章之其一] 成为加密货币矿工容易吗?我该如何入门?

热门文章

  1. 51nod 1040最大公约数和(欧拉函数)
  2. mybatis 2 -常用数据操作
  3. mahout学习笔记4
  4. correct ways to define variables in python
  5. oracle中使用子查询为何取到大于自然数1 rownum 浅度解析
  6. How to: Display a Gradient Fill
  7. c++ 箭头符号怎么打_焊接图纸符号标注图解示例,焊接符号标注实例及方法
  8. 学计算机需要多少内存,电脑内存多大才够用
  9. windows2003 apache php mysql_Windows 2003搭建Apache PHP MySQL环境经验分享
  10. 计算机科学学院陈瑜,浙江大学城市学院计算机与计算科学学院 计算机科学与技术 陈则伦...