{"id":73,"date":"2014-06-05T17:24:49","date_gmt":"2014-06-05T15:24:49","guid":{"rendered":"https:\/\/hacksecproject.com\/?p=73"},"modified":"2018-11-23T17:01:21","modified_gmt":"2018-11-23T17:01:21","slug":"yahoo-ssrfxspa-vulnerability","status":"publish","type":"post","link":"https:\/\/hacksecproject.com\/?p=73","title":{"rendered":"Yahoo! SSRF\/XSPA Vulnerability"},"content":{"rendered":"<p>First of describing how i was able to find this bug, i would prefer to introduce the SSRF\/XSPA Vulnerability.<\/p>\n<p>An application is vulnerable to Cross Site Port Attacks if the application processes user supplied URLs and does not verify\/sanitize the backend response received from remote servers before sending it back to the client. An attacker can send crafted queries to a vulnerable web application to proxy attacks to external Internet facing servers, intranet devices and the web server itself using the advertised functionality of the vulnerable web application. The responses, in certain cases, can be studied to identify service availability (port status, banners etc.) and even fetch data from remote services in unconventional ways.XSPA allows attackers to target the server <!--more--><\/p>\n<p>infrastructure, mostly the intranet of the web server, the web server itself and any public Internet facing server as well. This Vulnerability can be used for:<br \/>\n1) Port Scanning remote Internet facing servers, intranet devices and the local web server itself. Banner grabbing is also possible in some cases.<br \/>\n2) Exploiting vulnerable programs running on the Intranet or on the local web server<br \/>\n3) Fingerprinting intranet web applications using standard application default files &amp; behavior<br \/>\n4) Attacking internal\/external web applications that are vulnerable to GET parameter based vulnerabilities (SQLi via URL, parameter manipulation etc.)<br \/>\n5) Reading local web server files using the file:\/\/\/ protocol handler.<\/p>\n<p>In this blogpost i&#8217;m describing how i used the Yahoo! Server to portscan a remote host to see if a port is in open,filtered or closed state.This is the Bug Report i sent to Yahoo! Security.<\/p>\n<p>I&#8217;ve found a SSRF in <a title=\"http:\/\/add.yahoo.com\" href=\"http:\/\/add.yahoo.com\" target=\"_blank\" rel=\"noopener\">http:\/\/add.yahoo.com<\/a><br \/>\nThese are the steps to reproduce the issue:<br \/>\n1)Go to <a title=\"http:\/\/dir.yahoo.com\/recreation\/games\/video_games\/titles\/action\/\" href=\"http:\/\/dir.yahoo.com\/recreation\/games\/video_games\/titles\/action\/\" target=\"_blank\" rel=\"noopener\">http:\/\/dir.yahoo.com\/recreation\/games\/video_games\/titles\/action\/<\/a><br \/>\n2)Now click on the &#8220;Suggest a Site&#8221; button and subsequently click on the &#8220;Standard Consideration&#8221;<br \/>\n3)Now click on the &#8220;Continue&#8221; button<br \/>\nNow in this page we have to fill in 4 forms.In the &#8220;Site Title&#8221; i&#8217;ve inserted &#8216;asdf&#8217; as value<br \/>\nNow in the &#8220;Security Email ID&#8221; and &#8220;Contact Person&#8221; forms we have to insert values of our choice.<br \/>\nNow in the &#8220;URL&#8221; form we have to insert the target site to see if a certain port is in state filtered,open or closed<br \/>\nLet&#8217;s suppose that the port 20 of <a href=\"http:\/\/www.targeturl.com\" target=\"_blank\" rel=\"noopener\">www.targeturl.com<\/a> is closed,so in the &#8220;URL&#8221; form we have to insert &#8220;<a title=\"http:\/\/www.targeturl.com:20\" href=\"https:\/\/www.targeturl.com:20\" target=\"_blank\" rel=\"noopener\">http:\/\/www.targeturl.com:20<\/a>&#8221;<br \/>\nNow that we have filled in all the form values we have to click on the &#8220;Submit&#8221; button.Now we will receive an error like this &#8220;The following resulted when trying to access your document:<\/p>\n<p>connect: Connection refused&#8221; telling us that the port is closed.<br \/>\nLet&#8217;s suppose that the port 23 of <a href=\"https:\/\/www.targeturl.com\" target=\"_blank\" rel=\"noopener\">www.targeturl.com<\/a> is filtered,so in the &#8220;URL&#8221; form we have to insert &#8220;<a title=\"http:\/\/www.targeturl.com:23\" href=\"https:\/\/www.targeturl.com:23\" target=\"_blank\" rel=\"noopener\">http:\/\/www.targeturl.com:23<\/a>&#8221;<br \/>\nif the port is filtered we will receive the following message &#8220;The following resulted when trying to access your document:<\/p>\n<p>Request Timeout&#8221;<br \/>\nLet&#8217;s suppose that the port 21 of <a href=\"https:\/\/www.targeturl.com\" target=\"_blank\" rel=\"noopener\">www.targeturl.com<\/a> is open,so in the &#8220;URL&#8221; form we have to insert &#8220;<a title=\"http:\/\/www.targeturl.com:21\" href=\"https:\/\/www.targeturl.com:21\" target=\"_blank\" rel=\"noopener\">http:\/\/www.targeturl.com:21<\/a>&#8221;<br \/>\nIf the port is open we will receive the following message &#8220;Document contains no data&#8221;.Based on these three errors we can understand if a port of a remote host is open,filtered or closed.<\/p>\n<p>Now the bug has been fixed.To write this blogpost I referred to <a href=\"http:\/\/www.riyazwalikar.com\/2012\/11\/cross-site-port-attacks-xspa-part-1.html\">this<\/a> article which is in my opinion one of the best tutorial on SSRF\/XSPA Vulnerability.<\/p>\n<p>This is the Video PoC:<\/p>\n<p><iframe loading=\"lazy\" src=\"\/\/www.youtube.com\/embed\/6jBJaHg8CAQ?rel=0\" width=\"640\" height=\"360\" frameborder=\"0\" allowfullscreen=\"allowfullscreen\"><\/iframe><\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>First of describing how i was able to find this bug, i would prefer to introduce the SSRF\/XSPA Vulnerability. An application is vulnerable to Cross Site Port Attacks if the application processes user supplied URLs and does not verify\/sanitize the backend response received from remote servers before sending it back to the client. An attacker &hellip; <a href=\"https:\/\/hacksecproject.com\/?p=73\" class=\"more-link\">Leggi tutto<span class=\"screen-reader-text\"> &#8220;Yahoo! SSRF\/XSPA Vulnerability&#8221;<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":31,"comment_status":"closed","ping_status":"closed","sticky":true,"template":"","format":"standard","meta":{"footnotes":""},"categories":[2],"tags":[],"class_list":["post-73","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-uncategorized-en"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.5 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Yahoo! SSRF\/XSPA Vulnerability -<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/hacksecproject.com\/?p=73\" \/>\n<meta property=\"og:locale\" content=\"it_IT\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Yahoo! SSRF\/XSPA Vulnerability -\" \/>\n<meta property=\"og:description\" content=\"First of describing how i was able to find this bug, i would prefer to introduce the SSRF\/XSPA Vulnerability. An application is vulnerable to Cross Site Port Attacks if the application processes user supplied URLs and does not verify\/sanitize the backend response received from remote servers before sending it back to the client. An attacker &hellip; Leggi tutto &quot;Yahoo! SSRF\/XSPA Vulnerability&quot;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/hacksecproject.com\/?p=73\" \/>\n<meta property=\"article:published_time\" content=\"2014-06-05T15:24:49+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2018-11-23T17:01:21+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/hacksecproject.com\/wp-content\/uploads\/2018\/04\/yahoo.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1438\" \/>\n\t<meta property=\"og:image:height\" content=\"807\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Medu554\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Scritto da\" \/>\n\t<meta name=\"twitter:data1\" content=\"Medu554\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tempo di lettura stimato\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minuti\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/hacksecproject.com\\\/?p=73#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/hacksecproject.com\\\/?p=73\"},\"author\":{\"name\":\"Medu554\",\"@id\":\"https:\\\/\\\/hacksecproject.com\\\/#\\\/schema\\\/person\\\/526444cfaef818c23a7b4e4519573689\"},\"headline\":\"Yahoo! SSRF\\\/XSPA Vulnerability\",\"datePublished\":\"2014-06-05T15:24:49+00:00\",\"dateModified\":\"2018-11-23T17:01:21+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/hacksecproject.com\\\/?p=73\"},\"wordCount\":593,\"image\":{\"@id\":\"https:\\\/\\\/hacksecproject.com\\\/?p=73#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/hacksecproject.com\\\/wp-content\\\/uploads\\\/2018\\\/04\\\/yahoo.jpg\",\"articleSection\":[\"Uncategorized\"],\"inLanguage\":\"it-IT\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/hacksecproject.com\\\/?p=73\",\"url\":\"https:\\\/\\\/hacksecproject.com\\\/?p=73\",\"name\":\"Yahoo! SSRF\\\/XSPA Vulnerability -\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/hacksecproject.com\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/hacksecproject.com\\\/?p=73#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/hacksecproject.com\\\/?p=73#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/hacksecproject.com\\\/wp-content\\\/uploads\\\/2018\\\/04\\\/yahoo.jpg\",\"datePublished\":\"2014-06-05T15:24:49+00:00\",\"dateModified\":\"2018-11-23T17:01:21+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/hacksecproject.com\\\/#\\\/schema\\\/person\\\/526444cfaef818c23a7b4e4519573689\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/hacksecproject.com\\\/?p=73#breadcrumb\"},\"inLanguage\":\"it-IT\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/hacksecproject.com\\\/?p=73\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"it-IT\",\"@id\":\"https:\\\/\\\/hacksecproject.com\\\/?p=73#primaryimage\",\"url\":\"https:\\\/\\\/hacksecproject.com\\\/wp-content\\\/uploads\\\/2018\\\/04\\\/yahoo.jpg\",\"contentUrl\":\"https:\\\/\\\/hacksecproject.com\\\/wp-content\\\/uploads\\\/2018\\\/04\\\/yahoo.jpg\",\"width\":1438,\"height\":807},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/hacksecproject.com\\\/?p=73#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/hacksecproject.com\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Yahoo! SSRF\\\/XSPA Vulnerability\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/hacksecproject.com\\\/#website\",\"url\":\"https:\\\/\\\/hacksecproject.com\\\/\",\"name\":\"\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/hacksecproject.com\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"it-IT\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/hacksecproject.com\\\/#\\\/schema\\\/person\\\/526444cfaef818c23a7b4e4519573689\",\"name\":\"Medu554\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"it-IT\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/29ba1a61e7548d882dbad311db32d5e08fdc44eee25a59452ea4ac5a94ed80b3?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/29ba1a61e7548d882dbad311db32d5e08fdc44eee25a59452ea4ac5a94ed80b3?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/29ba1a61e7548d882dbad311db32d5e08fdc44eee25a59452ea4ac5a94ed80b3?s=96&d=mm&r=g\",\"caption\":\"Medu554\"},\"url\":\"https:\\\/\\\/hacksecproject.com\\\/?author=2\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Yahoo! SSRF\/XSPA Vulnerability -","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/hacksecproject.com\/?p=73","og_locale":"it_IT","og_type":"article","og_title":"Yahoo! SSRF\/XSPA Vulnerability -","og_description":"First of describing how i was able to find this bug, i would prefer to introduce the SSRF\/XSPA Vulnerability. An application is vulnerable to Cross Site Port Attacks if the application processes user supplied URLs and does not verify\/sanitize the backend response received from remote servers before sending it back to the client. An attacker &hellip; Leggi tutto \"Yahoo! SSRF\/XSPA Vulnerability\"","og_url":"https:\/\/hacksecproject.com\/?p=73","article_published_time":"2014-06-05T15:24:49+00:00","article_modified_time":"2018-11-23T17:01:21+00:00","og_image":[{"width":1438,"height":807,"url":"https:\/\/hacksecproject.com\/wp-content\/uploads\/2018\/04\/yahoo.jpg","type":"image\/jpeg"}],"author":"Medu554","twitter_card":"summary_large_image","twitter_misc":{"Scritto da":"Medu554","Tempo di lettura stimato":"3 minuti"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/hacksecproject.com\/?p=73#article","isPartOf":{"@id":"https:\/\/hacksecproject.com\/?p=73"},"author":{"name":"Medu554","@id":"https:\/\/hacksecproject.com\/#\/schema\/person\/526444cfaef818c23a7b4e4519573689"},"headline":"Yahoo! SSRF\/XSPA Vulnerability","datePublished":"2014-06-05T15:24:49+00:00","dateModified":"2018-11-23T17:01:21+00:00","mainEntityOfPage":{"@id":"https:\/\/hacksecproject.com\/?p=73"},"wordCount":593,"image":{"@id":"https:\/\/hacksecproject.com\/?p=73#primaryimage"},"thumbnailUrl":"https:\/\/hacksecproject.com\/wp-content\/uploads\/2018\/04\/yahoo.jpg","articleSection":["Uncategorized"],"inLanguage":"it-IT"},{"@type":"WebPage","@id":"https:\/\/hacksecproject.com\/?p=73","url":"https:\/\/hacksecproject.com\/?p=73","name":"Yahoo! SSRF\/XSPA Vulnerability -","isPartOf":{"@id":"https:\/\/hacksecproject.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/hacksecproject.com\/?p=73#primaryimage"},"image":{"@id":"https:\/\/hacksecproject.com\/?p=73#primaryimage"},"thumbnailUrl":"https:\/\/hacksecproject.com\/wp-content\/uploads\/2018\/04\/yahoo.jpg","datePublished":"2014-06-05T15:24:49+00:00","dateModified":"2018-11-23T17:01:21+00:00","author":{"@id":"https:\/\/hacksecproject.com\/#\/schema\/person\/526444cfaef818c23a7b4e4519573689"},"breadcrumb":{"@id":"https:\/\/hacksecproject.com\/?p=73#breadcrumb"},"inLanguage":"it-IT","potentialAction":[{"@type":"ReadAction","target":["https:\/\/hacksecproject.com\/?p=73"]}]},{"@type":"ImageObject","inLanguage":"it-IT","@id":"https:\/\/hacksecproject.com\/?p=73#primaryimage","url":"https:\/\/hacksecproject.com\/wp-content\/uploads\/2018\/04\/yahoo.jpg","contentUrl":"https:\/\/hacksecproject.com\/wp-content\/uploads\/2018\/04\/yahoo.jpg","width":1438,"height":807},{"@type":"BreadcrumbList","@id":"https:\/\/hacksecproject.com\/?p=73#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/hacksecproject.com\/"},{"@type":"ListItem","position":2,"name":"Yahoo! SSRF\/XSPA Vulnerability"}]},{"@type":"WebSite","@id":"https:\/\/hacksecproject.com\/#website","url":"https:\/\/hacksecproject.com\/","name":"","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/hacksecproject.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"it-IT"},{"@type":"Person","@id":"https:\/\/hacksecproject.com\/#\/schema\/person\/526444cfaef818c23a7b4e4519573689","name":"Medu554","image":{"@type":"ImageObject","inLanguage":"it-IT","@id":"https:\/\/secure.gravatar.com\/avatar\/29ba1a61e7548d882dbad311db32d5e08fdc44eee25a59452ea4ac5a94ed80b3?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/29ba1a61e7548d882dbad311db32d5e08fdc44eee25a59452ea4ac5a94ed80b3?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/29ba1a61e7548d882dbad311db32d5e08fdc44eee25a59452ea4ac5a94ed80b3?s=96&d=mm&r=g","caption":"Medu554"},"url":"https:\/\/hacksecproject.com\/?author=2"}]}},"_links":{"self":[{"href":"https:\/\/hacksecproject.com\/index.php?rest_route=\/wp\/v2\/posts\/73","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/hacksecproject.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/hacksecproject.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/hacksecproject.com\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/hacksecproject.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=73"}],"version-history":[{"count":3,"href":"https:\/\/hacksecproject.com\/index.php?rest_route=\/wp\/v2\/posts\/73\/revisions"}],"predecessor-version":[{"id":287,"href":"https:\/\/hacksecproject.com\/index.php?rest_route=\/wp\/v2\/posts\/73\/revisions\/287"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/hacksecproject.com\/index.php?rest_route=\/wp\/v2\/media\/31"}],"wp:attachment":[{"href":"https:\/\/hacksecproject.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=73"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/hacksecproject.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=73"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/hacksecproject.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=73"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}