[网络安全]upload-labs Pass-12 解题详析

简介: [网络安全]upload-labs Pass-12 解题详析

姿势

后端逻辑代码:

源码分析如下:


  1. $ext_arr = array('jpg','png','gif');:定义允许上传的文件扩展名数组,只允许上传 jpg、png 和 gif 文件。
  2. $file_ext = substr($_FILES['upload_file']['name'],strrpos($_FILES['upload_file']['name'],".")+1);:从上传的文件名中提取文件扩展名。使用substr函数从最后一个点(.)之后截取字符串,即获取文件扩展名。
  3. if(in_array($file_ext,$ext_arr)){:检查文件扩展名是否在允许上传的扩展名数组中。
  • 4.如果文件扩展名合法,进入条件判断块:
  • $temp_file = $_FILES['upload_file']['tmp_name'];:获取上传文件在服务器上的临时存储路径。
  • $img_path = $_GET['save_path']."/".rand(10, 99).date("YmdHis").".".$file_ext;:将上传文件的保存路径设置为指定的目录(通过$_GET['save_path']获取)加上随机数、当前日期时间和文件扩展名组成的新文件名。

可知文件被重命名,但save_path参数可控


故可使用00截断


00截断是操作系统层的漏洞,由于操作系统是C语言或汇编语言编写的,这两种语言在定义字符串时,都是以\0(即0x00)作为字符串的结尾。操作系统在识别字符串时,当读取到\0字符时,就认为读取到了一个字符串的结束符号。


因此,我们可以通过修改数据包,插入\0字符的方式,达到字符串截断的目的。


抓包:

改包:

放包:

得到图片上传路径:

之后即可构造shell,本文不再赘述。


总结

以上为[网络安全]upload-labs Pass-12 解题详析,后续将分享[网络安全]xss-labs Pass-13 解题详析。

我是秋说,我们下次见。

目录
相关文章
|
2月前
|
存储 安全 生物认证
【网络安全 | 指纹识别工具】WhatWeb使用详析
【网络安全 | 指纹识别工具】WhatWeb使用详析
160 0
【网络安全 | 指纹识别工具】WhatWeb使用详析
|
2月前
|
网络安全 虚拟化
【网络安全 | 工具】Kali虚拟机安装教程及报错详析
【网络安全 | 工具】Kali虚拟机安装教程及报错详析
143 0
【网络安全 | 工具】Kali虚拟机安装教程及报错详析
|
2月前
|
网络协议 Unix Linux
【网络安全 | 信息收集】操作系统判定及端口扫描(全网最详析)
【网络安全 | 信息收集】操作系统判定及端口扫描(全网最详析)
121 0
|
2月前
|
安全 Java 网络安全
【网络安全 | 扫描器】御剑安装及使用教程详析
【网络安全 | 扫描器】御剑安装及使用教程详析
586 0
|
2月前
|
Web App开发 算法 网络安全
【网络安全 | Misc】解码工具Koczkatamas及CyberChef安装及使用详析
【网络安全 | Misc】解码工具Koczkatamas及CyberChef安装及使用详析
278 0
|
2月前
|
前端开发 安全 JavaScript
【网络安全 | 网安工具】御剑WEB指纹识别系统使用详析
【网络安全 | 网安工具】御剑WEB指纹识别系统使用详析
150 0
|
2月前
|
网络安全
[网络安全]sqli-labs Less-26 解题详析
[网络安全]sqli-labs Less-26 解题详析
52 0
|
2月前
|
SQL 网络安全 数据库
[网络安全]sqli-labs Less-26a 解题详析
[网络安全]sqli-labs Less-26a 解题详析
41 0
|
2月前
|
SQL 网络安全
[网络安全]sqli-labs Less-25a 解题详析
[网络安全]sqli-labs Less-25a 解题详析
33 0
|
12小时前
|
安全 算法 网络安全
网络安全与信息安全:保护数据的关键策略
【7月更文挑战第4天】在数字化时代,网络安全和信息安全已成为组织和个人不可忽视的议题。本文将深入探讨网络安全漏洞的成因、当前加密技术的应用以及提升安全意识的重要性。文章旨在为读者提供一套综合性的知识体系,帮助他们更好地理解和应对网络环境中的安全威胁。

热门文章

最新文章