• iwebsec靶场 文件上传漏洞通关笔记1-第01关 前端js过滤绕过


    目录

    第01关 前端js过滤绕过

    1.禁用js法

    (1)禁用js

    (2)刷新页面使生效

    (3)上传脚本

    (4)开启js并刷新页面

    2.修改页面法1

    (1)右键查询元素

    (2)搜索关键字check

    (3)删除函数调用

    (4)上传脚本

     (5)访问脚本

    3.bp改包法

    (1)分析源码

    (2)将脚本后缀改为jpg

    (3)上传info.jpg并bp抓包

    (4)bp中将info.jpg改名为info.php并发送

    (5)访问脚本


    第01关 前端js过滤绕过

    打开第一关靶场iwebsec 靶场漏洞库iwebsecicon-default.png?t=M85Bhttp://iwebsec.com:81/upload/01.php

    构造脚本info.php,内容为显示php的版本信息 如下所示

    随手上传info.php,提示失败

    右键查询源码,发现源码中过滤文件后缀的函数checkFile是通过前端的js代码实现的,如下所示

    1.禁用js法

    (1)禁用js

    使用firefox的禁用js插件,如下图所示js标签红色时代表启动js,js标签为灰色时代表禁用js

    (2)刷新页面使生效

    禁用js后刷新页面使禁用生效

     

    (3)上传脚本

    再次将构造的info.php进行上传 ,此时点击上传后显示成功

    访问info.php,http://iwebsec.com:81/upload/uploads/info.php 如下所示渗透成功。

    (4)开启js并刷新页面

    为了避免关掉js对之后造成影响,做完了禁用js的操作后,需要开启js并且刷新当前页面使其生效

    2.修改页面法

    (1)右键查询元素

    (2)搜索关键字check

    在搜索框内输入check,找到源码分析中的函数调用处 return checkFile,如下所示

    (3)删除函数调用

    将双引号包含的return checkFile()选中后删除,如下所示

    (4)上传脚本

    在删除函数调用后,不刷新当前页面,直接上传info.php脚本

    如下所示提示上传成功

     (5)访问脚本

     访问info.php,http://iwebsec.com:81/upload/uploads/info.php 如下所示渗透成功。

    3.bp改包法

    (1)分析源码

    过滤函数的作用是判断文件的后缀,使用白名单的方法(只允许jpg,jpeg,png,gif,bmp这几种类型后缀),如下所示

    根据源码,可以将info.php改名为info.jpg在客户端绕过过滤,然后使用burpsuite抓包并将报文再次由info.jpg改回info.php发送,这样即可实现上传绕过 。

    (2)将脚本后缀改为jpg

    将info.php改名为info.jpg,如下所示:

    (3)上传info.jpg并bp抓包

    bp开启拦截模式

    将info.jpg上传

    在bp中抓包,并将此包发送给repeater

    (4)bp中将info.jpg改名为info.php并发送

    将filename中的info.jpg改为info.php

    修改后如下所示,并点击发送

     如上所示,等待报文相应后可知脚本上传已成功。

    (5)访问脚本

      访问info.php,http://iwebsec.com:81/upload/uploads/info.php 如下所示渗透成功。

    如上所示,渗透成功

     

  • 相关阅读:
    【蓝桥杯选拔赛真题63】Scratch云朵降雨 少儿编程scratch图形化编程 蓝桥杯选拔赛真题解析
    基于STM32+微信小程序设计的智能宠物喂养系统_2023升级版
    Linksys RE7000 “AccessControlList ”命令执行漏洞(CVE-2024-25852 )
    [论文精读|博士论文]面向文本数据的关系抽取关键技术研究
    mmdetection用mmclassification的backbone
    记一次edu站点并拿下的过程cnvd
    Python机器学习基础知识和相关术语
    Spring Boot集成pf4j实现插件开发功能
    【408篇】C语言笔记-第十章(线性表)
    Docker-harbor私有仓库部署与管理
  • 原文地址:https://blog.csdn.net/mooyuan/article/details/128062514