upload-labs第一关

上一篇文章中搭建好了upload-labs环境,接下来进行第一关的尝试,我也是第一次玩这个挺有意思。

1、第一关的界面是这样的先不看其他的源码,手动尝试下试试。
在这里插入图片描述
2、写一个简单的php一句话木马
在这里插入图片描述
在这里插入图片描述
3、直接上传,提示必须要照片格式的文件才能上传。
在这里插入图片描述
4、我改了下文件名想试试他的后缀名检查是不是只匹配到就行,发现不行检查较为严格。
在这里插入图片描述
5、接下来我想到在bp里抓包看看把文件后缀改了,结果发现不是后端验证的,那就是前端了。
在这里插入图片描述
6、那就看看前端代码,右键检查确实是在前端做的限制,之前看谁说一切在前端做的限制都是纸老虎,哈哈哈,对我这个小白就感觉是真老虎了,遇见一堆麻烦。
在这里插入图片描述
7、我改一下改个php试试,结果不行
在这里插入图片描述
8、查了查这里面,删除后缀名检测函数checkFile() ,发现还是不行
在这里插入图片描述
9、按理说是可以的我用的微软的edge浏览器,换了火狐浏览器发现可以,但是木马没有上传成功,下面显示找不到文件夹请手动创建,这个文件夹应该是上传木马存放的文件夹,但是我是创建了的,我又回头看了我上一篇文章没问题,后来找到了原因,是我改了config.php里的路径导致的,我又修改了一下好了,代码如下:

在这里插入图片描述

<?php
header("Content-type: text/html;charset=utf-8");
error_reporting(0);define("WWW_ROOT",$_SERVER['DOCUMENT_ROOT']);
define("APP_ROOT",str_replace('\\','/',$_SERVER['DOCUMENT_ROOT']));
define("APP_URL_ROOT",str_replace(WWW_ROOT,"",APP_ROOT));
//~V~G件~L~E~P~O~^~]
define("INC_VUL_PATH",APP_URL_ROOT . "/include.php");
//设置~J| ~[~U
$UPLOAD_ADDR = "../upload/";
?>

10、接着说浏览器的问题为啥火狐浏览器就可以edge就不行,搞不懂,但是可以在edge浏览器开发者里把JavaScript给禁用了,那它前端做的限制就没用了哈哈哈,试了一下是ok的,下面两个文件就是分别删除后缀名函数和禁用JavaScript上传的木马。
在这里插入图片描述
11、两种方法上传的木马

在这里插入图片描述
12、上传木马成功的界面

在这里插入图片描述
13、接下来就是看上传的木马的绝对路径了,在上传的图片上右键复制图像链接,看到了木马的绝对路径如下:

http://upload-labs/upload/test.php

在这里插入图片描述
14、接下来就是用中国蚁剑连webshell

在这里插入图片描述
15、第一下还连接失败了,编码器改成了base64连接成功!进入文件管理查看
在这里插入图片描述
16、到此结束

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/541789.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

NFT Insider #123:Solana NFT 市场 Tensor 将发行 TNSR 治理代币

引言&#xff1a;NFT Insider由NFT收藏组织WHALE Members &#xff08;https://twitter.com/WHALEMembers&#xff09;、BeepCrypto &#xff08;https://twitter.com/beep_crypto&#xff09;联合出品&#xff0c;浓缩每周NFT新闻&#xff0c;为大家带来关于NFT最全面、最新鲜…

Windows上Git LFS的安装和使用

到Git LFS官网下载 传送门 初始化GitHub LFS和Git仓库 在仓库目录中运行&#xff1a; git lfs install再运行&#xff1a; git init跟踪大文件 git lfs track "*.zip"添加并提交文件 git add . git commit -m "Add large files"上传到我的github 配…

cron表达式

发现了一个好用测cron表达式组件 一个基于vue3Ant-Design-vue的cron表达式组件 项目地址 效果图 使用方式 前置条件&#xff1a;项目基于vueAnt-Design-vue开发&#xff08;用到Ant-Design-vue相关组件&#xff09; 第一步安装组件npm i shiyzhangcron 或 pnpm i shiyzhangcro…

Linux下Arthas(阿尔萨斯)的简单使用-接口调用慢排查

使用环境 k8s容器内运行了一个springboot服务&#xff0c;服务的启动方法是main()方法 下载并启动 arthas curl -O https://arthas.aliyun.com/arthas-boot.jar java -jar arthas-boot.jar选择应用 java 进程 就一个进程org.apache.catalina.startup.Bootstrap&#xff0c;输…

java-ssm-jsp-基于java的客户管理系统的设计与实现

java-ssm-jsp-基于java的客户管理系统的设计与实现 获取源码——》公主号&#xff1a;计算机专业毕设大全

Qt学习--this指针的使用

在 C 中&#xff0c;this 指针是一个特殊的指针&#xff0c;它指向当前对象的实例。 在 C 中&#xff0c;每一个对象都能通过 this 指针来访问自己的地址。 this是一个隐藏的指针&#xff0c;可以在类的成员函数中使用&#xff0c;它可以用来指向调用对象。 当一个对象的成员…

Vue.js+SpringBoot开发个人健康管理系统

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 健康档案模块2.2 体检档案模块2.3 健康咨询模块 三、系统展示四、核心代码4.1 查询健康档案4.2 新增健康档案4.3 查询体检档案4.4 新增体检档案4.5 新增健康咨询 五、免责说明 一、摘要 1.1 项目介绍 基于JAVAVueSpri…

网络学习:IPV6地址详解

目录 前言&#xff1a; 一、IPV6的由来 二、什么是IPV6地址&#xff1f; IPV6地址结构&#xff1a; 前言&#xff1a; IPV6&#xff08;Internet Protocol Version 6&#xff09;是网络层协议的第二代标准协议&#xff0c;也被称为IPng&#xff08;IP Next Generation&…

Springboot——JSR303校验

1. 请求参数的合法性校验 使用基于JSR303的校验框架实现&#xff0c;Springboot提供了JSR-303的支持&#xff0c;它就是spring-boot-starter-validation&#xff0c;他包括了很多的校验规则&#xff0c;只需要在模型中通过注解指定校验规则&#xff0c;在Controller方法上开启校…

RocketMQ学习笔记三(黑马)大神级

课程来源:6.RocketMQ安装_哔哩哔哩_bilibili (时长:19.5h) 讲解版本:4.5版本(我是以4.8版本实践的) 目录 第一部分 核心功能 第1章 RocketMQ的下载、安装、启动和测试(Linux环境) 启动: 测试: 第2章 RocketMQ集群搭建 2.1 集群特点 2.2 集群模式 2.3 双主…

米哈游一面前端开发岗面试题,你会做几道?

&#x1f31f; 前言 欢迎来到我的技术小宇宙&#xff01;&#x1f30c; 这里不仅是我记录技术点滴的后花园&#xff0c;也是我分享学习心得和项目经验的乐园。&#x1f4da; 无论你是技术小白还是资深大牛&#xff0c;这里总有一些内容能触动你的好奇心。&#x1f50d; &#x…