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.rhkb.cn/news/277713.html

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

相关文章

数字后端 EDA 软件分享

数字后端 EDA 软件分享 推荐这几家的EDA工具吧&#xff0c;虽说我也支持国产工具&#xff0c;但是我还是选择了这几家的工具 apache cadence mentor synopsys 下图我现在用的eda环境&#xff0c;利用网上的资源&#xff0c;自己独立在vmware上搭建好的EDA环境 除去pdk&#…

Linux基础开发工具之yum与vim

1. Linux软件包管理器——yum 1.1 什么是软件包&#xff1f; 在Linux下安装软件, 一个通常的办法是下载到程序的源代码, 并进行编译, 得到可执行程序. 但是这样太麻烦了, 于是有些人把一些常用的软件提前编译好, 做成软件包(可以理解成windows上的安装程序)放在一个服务器上, …

海外媒体宣发套餐推广攻略实现品牌全球化-华媒舍

如今&#xff0c;在全球经济一体化的浪潮下&#xff0c;品牌全球化已成为企业成功的重要因素之一。海外市场作为一个巨大而具有潜力的机会&#xff0c;吸引着越来越多的企业前往探索。而在海外市场的推广过程中&#xff0c;海外媒体宣发套餐成为了重要的推广方式之一。本文将为…

设计模式在芯片验证中的应用——装饰器

一、装饰器模式 装饰器模式(Decorator)是一种结构化软件设计模式&#xff0c;它提供了一种通过向类对象添加行为来修改类对象的方法&#xff0c;而不会影响同一类的其它对象行为。该模式允许在不修改抽象类的情况下添加类功能。它从本质上允许基类代码对不可预见的修改具有前瞻…

解决Linux中Eclipse启动时找不到Java环境的问题

按照报错的意思是没有在/usr/local/eclipse/jre/bin/java下找到java环境&#xff0c;我检查了一下eclipse的目录结构发现在/usr/local/eclipse没有jre/bin/java&#xff0c;我的想法是自己建对应文件夹然后软连接到我的java环境 cd /usr/local/eclipse sudo mkdir jre cd jre s…

python实现--二叉搜索树

什么是二叉搜索树 二叉搜索树&#xff08;Binary Search Tree&#xff0c;BST&#xff09;是一种特殊类型的二叉树&#xff0c;它具有以下性质&#xff1a; 每个节点最多有两个子节点&#xff0c;分别称为左子节点和右子节点。 对于任意节点&#xff0c;其左子树中的所有节点的…

jwt以及加密完善博客系统

目录 一、背景 二、传统登陆功能&强制登陆功能 1、传统的实现方式 2、session存在的问题 三、jwt--令牌技术 1、实现过程 2、令牌内容 3、生成令牌 4、检验令牌 四、JWT登陆功能&强制登陆功能 1、JWT实现登陆功能 2、强制登陆功能 3、运行效果 五、加密/加…

C++之多态

目录 1、为什么要用多态&#xff1f; 2、虚函数的定义 3、虚函数的实现机制 4、哪些函数不能被设置为虚函数&#xff1f; 5、虚函数的访问 5.1、指针访问 5.2、引用访问 5.3、对象访问 5.4、成员函数中访问 5.5、构造函数和析构函数中访问 6、纯虚函数 7、抽象类 …

串变换dfs

分析&#xff1a; DFS,注意判断是否遍历结束&#xff0c;返回false 代码示例&#xff1a; #include<bits/stdc.h> using namespace std; int n,k; string s,t; struct {int op;int x;int y; }cha[10]; int vis[10]; bool dfs(int dep){if(st)return true;if(depk1)retu…

Qt教程 — 3.3 深入了解Qt 控件:Input Widgets部件(2)

目录 1 Input Widgets简介 2 如何使用Input Widgets部件 2.1 QSpinBox组件-窗口背景不透明调节器 2.2 DoubleSpinBox 组件-来调节程序窗口的整体大小 2.3 QTimeEdit、QDateEdit、QDateTimeEdit组件-编辑日期和时间的小部件 Input Widgets部件部件较多&#xff0c;将分为三…

滑动窗口最大值(leetcode hot100)

给你一个整数数组 nums&#xff0c;有一个大小为 k 的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的 k 个数字。滑动窗口每次只向右移动一位。 返回 滑动窗口中的最大值 。 示例 1&#xff1a; 输入&#xff1a;nums [1,3,-1,-3,5,3,6,7], k 3 输…

C++:菱形继承与虚继承

看下面这个示例代码 class A{ public: int num10; A(){cout<<"A构造"<<endl;} virtual void fun(){cout<<"A虚函数"<<endl;} };class B:public A{ public: B(){cout<<"B构造"<<endl;} void fun(){cout<…

基于Matlab的车牌识别算法,Matlab实现

博主简介&#xff1a; 专注、专一于Matlab图像处理学习、交流&#xff0c;matlab图像代码代做/项目合作可以联系&#xff08;QQ:3249726188&#xff09; 个人主页&#xff1a;Matlab_ImagePro-CSDN博客 原则&#xff1a;代码均由本人编写完成&#xff0c;非中介&#xff0c;提供…

高可用系统有哪些设计原则

1.降级 主动降级&#xff1a;开关推送 被动降级&#xff1a;超时降级 异常降级 失败率 熔断保护 多级降级2.限流 nginx的limit模块 gateway redisLua 业务层限流 本地限流 gua 分布式限流 sentinel 3.弹性计算 弹性伸缩—K8Sdocker 主链路压力过大的时候可以将非主链路的机器给…

telnet命令使用

window启用telnet telnet命令连接服务端 启动netty服务端后&#xff0c;使用如下cmd命令连接服务端&#xff0c;按enter&#xff0c;将连接到netty服务端 再按CTRL ]&#xff0c;进入命令交互界面 输入 help&#xff0c;查看命令介绍 发送消息&#xff0c;再断开连接&…

一起学数据分析_2

写在前面&#xff1a;代码运行环境为jupyter&#xff0c;如果结果显示不出来的地方就加一个print()函数。 一、数据基本处理 缺失值处理&#xff1a; import numpy as np import pandas as pd#加载数据train.csv df pd.read_csv(train_chinese.csv) df.head()# 查看数据基本…

Python环境安装及Selenium引入

Python环境安装 环境下载 Download Python | Python.org 环境安装 需使用管理员身份运行 查看环境是否安装成功 python --version 如果未成功则检查环境变量配置 安装 Selenium 库 pip install selenium Selenium 可以模拟用户在浏览器中的操作&#xff0c;如点击按钮、填写…

Springboot 整合 Elasticsearch(五):使用RestHighLevelClient操作ES ②

&#x1f4c1; 前情提要&#xff1a; Springboot 整合 Elasticsearch&#xff08;三&#xff09;&#xff1a;使用RestHighLevelClient操作ES ① 目录 一、Springboot 整合 Elasticsearch 1、RestHighLevelClient API介绍 1.1、全查询 & 分页 & 排序 1.2、单条件查询…

接口幂等性问题和常见解决方案

接口幂等性问题和常见解决方案 1.什么是接口幂等性问题1.1 会产生接口幂等性的问题1.2 解决思路 2.接口幂等性的解决方案2.1 唯一索引解决方案2.2 乐观锁解决方案2.3 分布式锁解决方案2.4 Token解决方案(最优方案) 3 Token解决方案落地3.1 token获取、token校验3.2 自定义注解,…

java过滤器Filter相关知识点汇总

1.Filter概述 Servlet Filter又称Servlet过滤器&#xff0c;它是在Servlet2.3规范中定义的&#xff0c;能够对Servlet容器传给Web资源的request对象和response对象执行检查和修改。 Filter不是Servlet&#xff0c;不能直接访问&#xff0c;其本身也不能生成request对象和resp…