开发者俱乐部

标题: 懒人工作通OA任意文件上传 [打印本页]

作者: true    时间: 2016-5-30 23:43
标题: 懒人工作通OA任意文件上传
【转】

前言.也是无意中看到这个工作系统
0x00: http://www.job18.net/
0x01:于是就下载下来看看,
0x02:翻到了“lesktop/Upload.aspx”代码如下
  1. <%@ Page Language="C#" AutoEventWireup="true" Inherits="Upload" %>

  2. <%@ Register Src="Script/SubScript.ascx" TagName="SubScript" TagPrefix="uc1" %>
  3. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  4. <html xmlns="http://www.w3.org/1999/xhtml">
  5. <head runat="server">
  6.     <meta http-equiv="X-UA-Compatible" content="IE=EmulateIE8"/><title>无标题页</title>
  7.     <uc1:SubScript ID="SubScript1" runat="server" />
  8.     <style type="text/css">
  9.         html
  10.         {
  11.             padding: 0px;
  12.             margin: 0px;
  13.             overflow: hidden;
  14.             border: 0px;
  15.         }
  16.         body
  17.         {
  18.             padding: 6px;
  19.             margin: 0px;
  20.             background-color: #EFF0F2;
  21.             overflow: hidden;
  22.             font-family: 宋体;
  23.             font-size: 12px;
  24.             border: 0px;
  25.         }
  26.         #UploadFile
  27.         {
  28.             width: 100%;
  29.         }
  30.         #BtnOk
  31.         {
  32.             font-family: 宋体;
  33.             font-size: 12px;
  34.             height: 24px;
  35.         }
  36.     </style>

  37.     <script language="javascript" type="text/javascript">
  38.         function init() {
  39.             var data_str = document.getElementById("data").value;
  40.             if (data_str != "") {
  41.                 var data = Core.Utility.ParseJson(data_str);
  42.                 if (data.Result) CurrentWindow.GetTag().AfterUpload(data.Path);
  43.                 else Core.Utility.ShowError(data.Exception.toString());
  44.             }
  45.         }
  46.         //增加图片判断
  47.         function BtnOk_onclick() {
  48.             if (Core.Params["Type"] != undefined && Core.Params["Type"] == "Img") {
  49.                 var objFileUpload = document.getElementById('UploadFile'); //FileUpload
  50.                 var fileName = new String(objFileUpload.value); //文件名
  51.                 var extension = new String(fileName.substring(fileName.lastIndexOf(".") + 1, fileName.length)); //文件扩展名
  52.                 if (extension.toUpperCase() == "JPG" || extension.toUpperCase() == "GIF"
  53.                 || extension.toUpperCase() == "JPEG" || extension.toUpperCase() == "PMG"
  54.                 || extension.toUpperCase() == "PNG" || extension.toUpperCase() == "JPE" || extension.toUpperCase() == "BMP")//你可以添加扩展名
  55.                 {
  56.                 }
  57.                 else {
  58.                     Core.Utility.ShowWarning("请选择正确的图片格式!正确格式包含(.JPG|.GIF|.JPEG|.PMG|.PNG|.JPE|.BMP)");
  59.                     return false;
  60.                 }
  61.             }
  62.             if (document.getElementById("UploadFile").value == "") {
  63.                 Core.Utility.ShowWarning("请选择要上传的文件!");
  64.                 return false;
  65.             }
  66.             CurrentWindow.Waiting("正在上传文件...");
  67.         }

  68.     </script>

  69. </head>
  70. <body>
  71.     <form id="form1" runat="server">
  72.     <div>
  73.         <div id="divMsg">
  74.         </div>
  75.         <br />
  76.         <asp:FileUpload ID="UploadFile" runat="server" /></div>
  77.     <div style="text-align: right; margin-top: 12px;">
  78.         <input id="BtnOk" name="BtnOk" type="submit" value="确 定" onclick="return BtnOk_onclick()" /></div>
  79.     <input runat="server" type="hidden" id="data" name="data" />

  80.     <script>
  81.         if (Core.Params["Type"] != undefined && Core.Params["Type"] == "Img") {
  82.             if (document.getElementById("divMsg") != undefined)
  83.                 document.getElementById("divMsg").innerHTML = "图片格式|*.png;*.gif;*.jpg;*.jpeg;*.bmp;*.jpe";
  84.         }
  85.     </script>

  86.     </form>
  87. </body>
  88. </html>
复制代码

0x03:相比看到了那么简单的一个上传漏洞,来看一下案列,话说这个软件的案列藏得可真深。

0x04:那我们跟着案列来到这里;
0x05:    . . . . :8864/Lesktop/Upload.aspx

0x05:这里一般有人会用burp,其实直接审查元素修改上传类型,看代码
  1. <script>
  2.         if (Core.Params["Type"] != undefined && Core.Params["Type"] == "Img") {
  3.             if (document.getElementById("divMsg") != undefined)
  4.                 document.getElementById("divMsg").innerHTML = "图片格式|*.png;*.gif;*.aspx;*.jpeg;*.bmp;*.jpe";
  5.         }
  6.     </script>
复制代码




0x07:测试效果

目前新版本已经修复



作者: zmr123456    时间: 2016-5-31 14:16
我们的oa就是不能传文件夹,可麻烦了





欢迎光临 开发者俱乐部 (http://xodn.com/) Powered by Discuz! X3.2