• JS前端绕过


    JS前端绕过

    文章仅供学习。切勿用于其他用途。

    web应用对用户上传的文件进行了校验,该校验是通过前端JavaScript代码完成。恶意用户对前端JavaScript进行修改或通过抓包软件篡改上传文件的格式,就能绕过基于JS的前端校验。

    环境准备

    首先打开一个上传环境(靶场是upload-labs)进行实验。
    然后写一个PHP的一句话木马备用https://blog.csdn.net/qq_46023525/article/details/125471341?spm=1001.2014.3001.5501

    判断校验方式

    先上传一个正常的图片。
    在这里插入图片描述
    可以看到已经上传成功了
    现在上传一个文件试试

    在这里插入图片描述
    弹出了一个提示,提示只能上传图片。
    接下来打开burp suite 抓包测试,首先开启抓包监听,再次上传文件,如果上传文件时还没有抓到数据包,但是浏览器提示文件类型不正确,那么可以判断这是一个JS前端校验。

    在这里插入图片描述

    前端修改

    在上传页按F12打开浏览器控制台,找到οnsubmit=“return checkFile()”
    在这里插入图片描述
    然后将""中的return checkFile()删除,再次点击上传。
    在这里插入图片描述
    文件上传成功。
    在这里插入图片描述
    然后按F12打开浏览器控制台定位目标的html代码,查看上传之后的路径。
    在这里插入图片描述
    可以看到上传的路径为./upload/k.php
    然后使用中国蚁剑连接。

    在这里插入图片描述

    抓包篡改

    由于该校验本身只是纯粹的对后缀名进行判断,就可以把写有一句话木马的PHP文件修改为jpg后缀格式的文件,然后在打开burp suite进行抓包监听,上传刚改好jpg后缀文件的一句话木马。
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    然后将抓取到的k.jpg的后缀jpg改为php然后点击提交。
    在这里插入图片描述
    然后按F12打开浏览器控制台定位目标的html代码,查看上传之后的路径。
    在这里插入图片描述
    可以看到上传的路径为./upload/k.php
    然后使用中国蚁剑连接。

    在这里插入图片描述

  • 相关阅读:
    Flutter For Web——一个简单的图片素材网站
    Redis分布式锁
    16位数码管驱动及键盘控制芯片CH456
    建模杂谈系列179 博弈推演模型探索
    线程同步的实现
    Django中间件判断网站的登陆状态
    基于STC89C52单片机空气PM2.5系统设计资料
    wkhtmltoimage/wkhtmltopdf 使用实践
    ansible执行mysql脚本
    树形 DP 总结
  • 原文地址:https://blog.csdn.net/qq_46023525/article/details/125471701