当前位置: 首页 > wzjs >正文

flash 做ppt的模板下载网站网站建设 图纸网

flash 做ppt的模板下载网站,网站建设 图纸网,网站建设 视频教程,自己怎么开网站做销售目录 一、空格绕过方法 二、trim函数 三、源码分析 四、渗透实战 1、构建脚本test7.php 2、打开靶场 3、bp开启拦截 4、点击上传 5、bp拦截 6、后缀名增加空格 7、发包并获取脚本地址 8、访问脚本 本文通过《upload-labs靶场通关笔记系列》来进行upload-labs靶场的渗…

目录

一、空格绕过方法

二、trim函数

三、源码分析

四、渗透实战

1、构建脚本test7.php

 2、打开靶场

3、bp开启拦截

4、点击上传

5、bp拦截

6、后缀名增加空格

7、发包并获取脚本地址

8、访问脚本


本文通过《upload-labs靶场通关笔记系列》来进行upload-labs靶场的渗透实战,本文讲解upload-labs靶场第7关文件空格绕过渗透实战。

一、空格绕过方法

文件上传攻击中的的 空格绕过方法(Space Bypass) 是一种利用文件命名规则或校验逻辑缺陷的攻击方式,攻击者通过在文件名中插入 空格(Space) 或 特殊空白字符,绕过服务器的安全校验(如黑名单过滤、扩展名检测等),从而渗透成功上传恶意文件。

假设目前服务器过滤".php"后缀,但是没有过滤".php "后缀,就是在原有php后缀的尾部加一个空格的情况,可以使用如下方法进行渗透利用,计划上传pass7.php文件,但是由于服务器过滤了"php"后缀,故而无法直接上传该脚本。于是可以通过在将上传脚本的后缀改为“.php ”(末尾带空格)的文件,即改名后的文件名为"pass7.php ",可能被系统存储为 “pass7.php” 并执行。

  • Windows 系统:默认会自动去除文件名末尾的空格,“pass7.php ”→ “pass7.php”

  • Linux/Unix 系统:保留空格,但某些校验逻辑可能忽略空格

二、trim函数

trim() 是 PHP 中用于 去除字符串首尾空白字符(或其他指定字符) 的内置函数,常用于数据清洗、文件名校验等场景。函数原型如下所示。

string trim ( string $str [, string $character_mask = " \t\n\r\0\x0B" ] )
  • 参数

    • $str:要处理的字符串。
    • $character_mask(可选):指定要删除的字符列表(默认去除空白符)。
  • 返回值

    • 返回处理后的字符串,不修改原字符串

trim() 默认会删除如下字符,具体如下所示。

字符描述
" "普通空格
"\t"制表符(Tab)
"\n"换行符(LF)
"\r"回车符(CR)
"\0"空字符(NULL byte)
"\x0B"垂直制表符(Vertical Tab)

三、源码分析

接下来对upload-labs 第 7 关的源码进行审计,很明显这一关卡又是黑名单过滤,与第6关卡一样,相对于第四关和第五关,将“.htacess和.ini”后缀均过滤了,故而无法用第四关和第五关的方法进行渗透。经过详细注释的代码如下所示。

<?php
// 初始化上传状态和消息变量
$is_upload = false;  // 布尔值,标记文件是否上传成功
$msg = null;         // 字符串,用于存储上传过程中的错误信息// 检查用户是否通过POST方法提交了表单(submit按钮被点击)
if (isset($_POST['submit'])) {// 检查上传目录是否存在if (file_exists(UPLOAD_PATH)) {// 定义禁止上传的文件扩展名黑名单(包含常见服务端脚本文件及其变体)$deny_ext = array(// PHP相关扩展名及大小写变体".php", ".php5", ".php4", ".php3", ".php2",".phtml", ".pht", ".pHp", ".pHp5", ".pHp4", ".pHp3", ".pHp2",// HTML相关扩展名及变体".html", ".htm",".Html", ".Htm", ".pHtml",// JSP相关扩展名及变体".jsp", ".jspa", ".jspx", ".jsw", ".jsv", ".jspf", ".jtml",".jSp", ".jSpx", ".jSpa", ".jSw", ".jSv", ".jSpf", ".jHtml",// ASP相关扩展名及变体".asp", ".aspx", ".asa", ".asax", ".ascx", ".ashx", ".asmx", ".cer",".aSp", ".aSpx", ".aSa", ".aSax", ".aScx", ".aShx", ".aSmx", ".cEr",// 其他危险文件类型".sWf", ".swf",    // Flash文件".htaccess",        // Apache配置文件".ini"              // 配置文件);// 获取上传文件的原始名称$file_name = $_FILES['upload_file']['name'];// 调用deldot函数删除文件名末尾的点(防御类似"evil.php."的绕过攻击)$file_name = deldot($file_name);// 获取文件扩展名(从最后一个点开始截取)$file_ext = strrchr($file_name, '.');// 将扩展名转换为小写(统一比较,避免大小写绕过)$file_ext = strtolower($file_ext);// 去除Windows NTFS备用数据流::$DATA(防御特殊绕过)$file_ext = str_ireplace('::$DATA', '', $file_ext);// 检查扩展名是否在黑名单中if (!in_array($file_ext, $deny_ext)) {// 获取上传文件的临时路径$temp_file = $_FILES['upload_file']['tmp_name'];// 生成目标文件名:当前日期时间+随机数+原扩展名(避免文件名冲突)$img_path = UPLOAD_PATH.'/'.date("YmdHis").rand(1000,9999).$file_ext;// 将临时文件移动到目标路径if (move_uploaded_file($temp_file, $img_path)) {$is_upload = true;  // 标记上传成功} else {$msg = '上传出错!';  // 文件移动失败(可能权限不足或磁盘已满)}} else {$msg = '此文件不允许上传';  // 文件类型被禁止}} else {$msg = UPLOAD_PATH . '文件夹不存在,请手工创建!';  // 上传目录不存在}
}
?>

与第6关对比,增加了strtolower故而无法使用大小写绕过方法,但是缺少了函数trim的处理。 正因为源码中没有$file_ext = trim($file_ext);//该语句可以将文件前后的空格过滤,所以可以在文件末尾添加一个空格,这样就可以绕过黑名单的限制。

例如:上传test.php文件,抓包后在文件名后添加一个空格。上传到服务器的时候,得到的后缀就是.php空格,从而绕过黑名单的限制,又因为.php空格不符合windows文件的命名规则,所以服务器存储的时候会将末尾的空格去掉,文件末尾就变回了.php(尾部无空格),这样文件名又恢复成为test.php,可以成功渗透。

四、渗透实战

1、构建脚本test7.php

<?php
phpinfo();
?>

 2、打开靶场

打开靶场第7关,浏览选择该脚本,但不点击上传。

3、bp开启拦截

4、点击上传

5、bp拦截

bp捕获到上传报文,下图红框的部分即为需要修改的文件名,需要将".php"后缀改为".php ",截图如下所示。

6、后缀名增加空格

test7.php后添加一个空格,修改后效果如下所示。

7、发包并获取脚本地址

将bp的inception设置为off,此时修改后的报文发送成功。

回到靶场的Pass07关卡,图片已经上传成功,右键图片获取图片地址。

如下所示获取到图片URL。

http://127.0.0.1/upload-labs/upload/202111191557116954.php

8、访问脚本

 如下所示访问脚本获取到服务器的php信息,证明文件上传成功。

http://www.dtcms.com/wzjs/579780.html

相关文章:

  • php网站开发apiwordpress设置禁止蜘蛛抓取
  • 文库网站建设开发wordpress照片投票插件
  • 企业做门户网站的重要性工作计划及目标
  • 网站建设的市场调研分析wordpress菜鸟教程
  • 腾讯云如何做网站做苗木网站哪家好
  • 网站建设中单页源码建站网站免费
  • 烟台企业网站旅游前 做攻略有什么网站好用
  • 建设部科研申报网站用着不好搜狗不收录 wordpress
  • 江北区城乡建设部网站首页北京培训seo哪个好
  • 通州网站网站建设网站上怎么做通栏的图片
  • 福建省建设局实名制网站wordpress 国内知名
  • 中山企业手机网站建设电子商务网站开发岗位
  • 石排仿做网站专业网站建设公司
  • 免费下载简历模板网站玉环做网站
  • 网站建设前期如何规划免费查公司
  • qq怎么做自己的网站班级网页制作模板
  • 棋牌网站专业建站流程
  • 怎样做网站分流赚钱建国外网站
  • 营销型网站设计招聘做网站通常到哪找图片
  • 台州网站制作咨询薇wordpress空间安装教程视频
  • 艺术学校示范校建设专题网站手机网站源码asp
  • 太原网站建设方案报价代运营推广公司
  • 网站开发总结性报告做窗帘的网站
  • 网站建设的招标文件网站网站开发逻辑
  • 万网主机 网站重做龙泉市住房和城乡建设局网站
  • flash做网站通栏做购物网站的初衷
  • 中科院网站做的好的院所手机网站有吗
  • 哪里长沙网站开发wordpress评论框优化
  • 张家港做英文网站网址大全123
  • 网站建设自助建站服装公司网站建设策划