取文件 shell_webshell文件上传分析溯源

            由于最近比较忙,暂时没有时间更新,所以分享分享一些其他博主文章,大家敬请谅解

摘要: dirbuster扫描目录发现几个有用的东东/admin/upload.php/admin/upload1.php/admin/upload2.php访问的时候最后都会跳转到/admin/upload...

dirbuster扫描目录发现几个有用的东东

/admin/upload.php
/admin/upload1.php
/admin/upload2.php

访问的时候最后都会跳转到/admin/upload2.php 前端没任何东西

但是/admin/upload1.php会有一个弹窗,查看一下前端代码

view-source:http://219.153.49.228:43799/admin/upload1.php

会发现

Markup

<script language=javascript>alert('您无权限访问!');window.open('upload2.php','_top');script>    
<form enctype="multipart/form-data" action="upload_file.php" method="post">
Send this file: <input name="filename" type="file">
<input type="hidden" name="verify" value="f8fc6604c7150e1d"/>
<input type="submit" value="Send File">
form>

第一行调用了javascript,我们在浏览器里把JavaScript禁用就能正常访问了

而且这里有个亮眼的点

先抓一下访问包,再抓一下上传包

a230beb90952dec8deedd56b7b835192.png

d6c7c2b296a8cfc2d67510b32a8af181.png

可以看到,upload_file.php是用来处理数据的,upload1.php我猜测是来生成cookie的它读取服务器上的一个txt文件,这里很有可能存在文件包含漏洞

尝试一下把uploadmd5的值改为upload_file.php

读取一下后端代码d4c24e06baa3e01e70e186d8028d8c84.png 

对这段代码进行分析

PHP

<?php 
$path="uploadfile/";//上传路径
$verify=$_POST["verify"];//接收verify参数
$time=date("Ymd");//取当前日期,今天是20200515
if($_FILES["filename"]["name"])
{
$file1=$_FILES["filename"]["name"];//取上传文件名
$file2 = $path.$time.'_'.$verify.'_'.$file1; //拼接字符串,分析一下大概就是/uploadfile/20200515_f8fc6604c7150e1d_shell.php
$flag=1;
}
if($flag) $result=move_uploaded_file($_FILES["filename"]["tmp_name"],$file2);
if($result) echo "上传成功!";

?>

菜刀链接即可

PHP

http://219.153.49.228:43799/admin/uploadfile/20200515_f8fc6604c7150e1d_shell.php?a=1Q2W3E

bf136888b65799886af0c72102ab8b1b.png

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

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

相关文章

7系统软raid_使用图形界面来配置RAID

RAID 配置起来要比 LVM 方便&#xff0c;因为它不像 LVM 那样分了物理卷、卷组和逻辑卷三层&#xff0c;而且每层都需要配置。我们在图形安装界面中配置 RAID 1和 RAID 5&#xff0c;先来看看 RAID 1 的配置方法。RAID 1 配置配置 RAID 1 时同样需要启动图形安装程序&#xff0…

合并相同数据的行_R语言笔记(六):数据框重塑(reshape2)

数据处理主要内容包括&#xff1a;1. 特殊值处理1.1 缺失值1.2 离群值1.3 日期2. 数据转换&#xff08;base vs. dplyr&#xff09;2.1 筛选&#xff08;subset vs. filter/select/rename&#xff09;2.2 排序&#xff08;order vs. arrange&#xff09;2.3 转换&#xff08;tr…

启动linux_使用 UEFI 双启动 Windows 和 Linux | Linux 中国

这是一份在同一台机器上设置 Linux 和 Windows 双重启动的速成解释&#xff0c;使用统一可扩展固件接口&#xff08;UEFI&#xff09;。来源&#xff1a;https://linux.cn/article-12891-1.html作者&#xff1a;Alan Formy-duval译者&#xff1a;郑&#xff08;本文字数&#x…

mysql+odbc+ado_MFC ado+mysql+odbc技术分享

第一步&#xff1a;建立数据库假设有一个sql文件mysql>use dbname; //创建一个数据库名为dbname的数据库(空数据库)mysql>set names utf8; //编码&#xff0c;mysql>source D:/dbname.sql; //导入一个数据库源文件创建数据库内容我做…

js 用下标获取map值_javascript怎么获取map的值?

Map对象保存键/值对&#xff0c;是键/值对的集合。任何值(对象或者原始值) 都可以作为一个键或一个值。Object结构提供了“字符串—值”的对应&#xff0c;Map结构提供了“值—值”的对应。JavaScript获取map值示例&#xff1a;map对象如下&#xff1a;var mapObject {id1001:…

python attention机制_从零开始学Python自然语言处理(26)—— 强大的Attention机制...

前文传送门&#xff1a;在上一次面试失利后&#xff0c;我回来仔细研究了一下Attention机制&#xff0c;研究完我不禁感悟&#xff0c;这机制真的厉害啊&#xff01;因为我之前面试被问到的Encoder - Decoder框架中有个瓶颈是编码的结果以固定长度的中间向量表示&#xff0c;这…

[机器人-2]:开源MIT Min cheetah机械狗设计(二):机械结构设计

目录 1、四肢朝向的选择 2、电机布局形式的选择 3、电机的选型及测试&#xff08;非常重要&#xff09; 4、结构优化 5、尺寸效应 6、其他 1、四肢朝向的选择 机械狗的结构设计&#xff0c;第一个摆在我们面前的就说四肢的朝向问题&#xff0c;如下图&#xff0c;我们是…

mysql用户权限表join_MyBatis映射利用mysql left join 解决N+1查询问题

1.权限是几乎每个系统都需要的2.一般在用户请求某个url的时候&#xff0c;都需要验证用户是否拥有该url的访问权限3.最简单的权限系统需要 用户表&#xff0c;角色表&#xff0c;用户角色表&#xff0c;权限表&#xff0c;角色权限表# Host: 127.0.0.1 (Version: 5.6.22)# Date…

python 爬取贝壳网小区名称_如何使用 python 爬取全国小区名称

前言笔者在做一个 NLPNLPNLP 项目时&#xff0c;需要识别小区名&#xff0c;因此想要查询网上是否有相关的数据集。经过一番搜索后一无所获…从而决定自己来爬取这份数据。由于爬取网站的内容信息之后可能会发生变更&#xff0c;因此此处给出具体的爬虫思路&#xff0c;便于应对…

python获取手机通知栏消息_Python编写简单的通知栏脚本启动工具

随着自己编写的脚本与安装的工具越来越多,电脑的桌面和文件夹也越来越乱了。就在前几天因为一个不小心,我把自己的一个项目给删了,所以决定将电脑整理一下。不过这一整理我很多脚本和工具的位置我就忘记了,所以决定写个小工具来快速启动一些常用的脚本或工具这里选择Python是因…

java 发送邮件昵称_利用JavaMail发送QQ邮件

一、RFC882文档简单说明RFC882文档规定了如何编写一封简单的邮件(纯文本邮件)&#xff0c;一封简单的邮件包含邮件头和邮件体两个部分&#xff0c;邮件头和邮件体之间使用空行分隔。邮件头包含的内容有&#xff1a;from字段   --用于指明发件人to字段    --用于指明收件…

java 访问控制权限_Java访问控制权限有哪些?区别是什么?

原标题&#xff1a;Java访问控制权限有哪些&#xff1f;区别是什么?Java中的类和方法等都是有访问控制权限的&#xff0c;用来控制方法、类、属性等的生效范围&#xff0c;Java有四种访问控制权限&#xff0c;其中比较常用的就是public和private&#xff0c;今天华清远见Java学…

java 规格overview_《Java數據結構和算法》- OverView

Q: 不同數據結構的優缺點&#xff1f;數據結構優點缺點數組(Array)快速訪問&#xff0c;如果知道下標&#xff0c;就可以非常快地存取查找慢&#xff0c; 插入或刪除慢&#xff0c; 大小固定有序數組(OrderedArray)比無序的數組查找快插入或刪除慢&#xff0c;大小固定棧(Stack…

mysql 集群怎么卸载节点_Greenplum移除节点

基于某某原因&#xff0c;我们的Greenplum需要卸载一个节点(测试环境的Greenplum集群)&#xff0c;由于该集群使用了很久&#xff0c;里面有许多开发所需要的数据&#xff0c;所以在卸掉一个节点后&#xff0c;还要保证数据不会丢失。当然&#xff0c;期间也遇到了点问题&#…

python中不论类的名字是什么歌_Python自动猜歌名,还愁排名上不去嘛?

前言相传&#xff0c;就在前几日&#xff0c;在网上闲逛时&#xff0c;刷到了一个猜歌的小程序。这个小程序通过播放歌曲部分片段&#xff0c;然后让用户来猜它的歌名&#xff0c;大概是这样的&#xff1a;作为一个脑热的听歌爱好者&#xff0c;于是他越陷越深&#xff0c;越刷…

trace java_使用java动态字节码技术简单实现arthas的trace功能。

参考资料用过[Arthas]的都知道&#xff0c;Arthas是alibaba开源的一个非常强大的Java诊断工具。不管是线上还是线下&#xff0c;我们都可以用Arthas分析程序的线程状态、查看jvm的实时运行状态、打印方法的出入参和返回类型、收集方法中每个代码块耗时&#xff0c;甚至可以监控…

打印狗的健康值Java_嵌入式狗的JAVA之路 HTML 补课

学了JAVA WEB应用&#xff0c;补充一下HTML的标签&#xff0c;常用的&#xff0c;不然页面都画不出来了~~test 标题&#xff0c;h1h2h3 3个字号test 段落link 链接 使用 Target 属性&#xff0c;你可以定义被链接的文档在何处显示。下面的这行会在新窗口打开文档&#xff1a;Vi…

python 角度传感器模拟_python树莓派红外反射传感器

本文实例为大家分享了python树莓派红外反射传感器的程序&#xff0c;供大家参考&#xff0c;具体内容如下1、工具rpi3&#xff0c;微雪ARPI600&#xff0c;Infrared Reflective Sensor2、基本原理Infrared Reflective Sensor 输出数字和模拟信号模拟信号通过ARPI600上的AD转换芯…

java构造方法赋值内存图_java 面向对象(九):类的结构:构造器(一)简介;属性赋值顺序;JavaBean的概念...

1.构造器(或构造方法)&#xff1a;Constructor构造器的作用&#xff1a;* 1.创建对象* 2.初始化对象的信息2.使用说明&#xff1a;* 1.如果没显式的定义类的构造器的话&#xff0c;则系统默认提供一个空参的构造器* 2.定义构造器的格式&#xff1a;权限修饰符 类名(形参列表){}…

java 集合modcount_源码|jdk源码之LinkedList与modCount字段

链表是对上一篇博文所说的顺序表的一种实现。与ArrayList思路截然不同&#xff0c;链表的实现思路是&#xff1a;不同元素实际上是存储在离散的内存空间中的。每一个元素都有一个指针指向下一个元素&#xff0c;这样整个离散的空间就被“串”成了一个有顺序的表。从链表的概念来…