{"id":25928,"date":"2019-07-11T16:39:07","date_gmt":"2019-07-11T20:39:07","guid":{"rendered":"https:\/\/mjtsai.com\/blog\/?p=25928"},"modified":"2019-07-17T15:31:53","modified_gmt":"2019-07-17T19:31:53","slug":"why-do-web-browsers-allow-access-to-the-local-network","status":"publish","type":"post","link":"https:\/\/mjtsai.com\/blog\/2019\/07\/11\/why-do-web-browsers-allow-access-to-the-local-network\/","title":{"rendered":"Why Do Web Browsers Allow Access to the Local Network?"},"content":{"rendered":"<p><a href=\"https:\/\/lapcatsoftware.com\/articles\/zoom.html\">Jeff Johnson<\/a>:<\/p>\n<blockquote cite=\"https:\/\/lapcatsoftware.com\/articles\/zoom.html\">\n<p>Since constantly requiring confirmation is obviously incredibly annoying, Apple has conveniently exempted some of its own apps from the requirement. For example, <code>macappstore<\/code> and <code>macappstores<\/code> URLs will automatically open App Store app without your confirmation.<\/p>\n<\/blockquote>\n<p>But, curiously, Safari does prompt for opening the News app.<\/p>\n\n<blockquote cite=\"https:\/\/lapcatsoftware.com\/articles\/zoom.html\">\n<p>Zoom is certainly deserving of criticism. But I&rsquo;ve seen very few people stop to ask, how was Zoom&rsquo;s little trick even possible in the first place? Why does Safari allow a web page, <code>zoom.us<\/code>, to make requests to a localhost server? Is this possibility not surprising to you? It was surprising to me! The problem is actually worse than this. The major browsers I&rsquo;ve tested &mdash; Safari, Chrome, Firefox &mdash; all allow web pages to send requests not only to localhost but also to any IP address on your Local Area Network! Can you believe that? I&rsquo;m both astonished and horrified.<\/p>\n<p>[&#8230;]<\/p>\n<p>Moreover, a web page can even scan your network to find the addresses of your devices. I found a <a href=\"https:\/\/www.forcepoint.com\/sites\/default\/files\/resources\/files\/report-attacking-internal-network-en_0.pdf\">recent paper by Forcepoint<\/a> that discusses in detail these kinds of attacks on your LAN from the web. So security researchers are aware of this possibility, but it seems that the browser vendors are doing nothing to plug the holes in their web browsers!<\/p>\n<\/blockquote>\n\n<p>It seems strange that browsers prohibit access to <a href=\"https:\/\/security.stackexchange.com\/questions\/201208\/why-do-browsers-disallow-accessing-files-from-local-file-system-even-if-the-html\">local files<\/a> but not the local network.<\/p>\n\n<p><a href=\"https:\/\/twitter.com\/bob_burrough\/status\/1149010614423044096\">Bob Burrough<\/a>:<\/p>\n<blockquote cite=\"https:\/\/twitter.com\/bob_burrough\/status\/1149010614423044096\">\n<p>Run some Javascript to scan common local router IP&rsquo;s and save the results to the server. It would even map to your WAN IP so they could start hitting your router externally. The web is an absolute mess.<\/p>\n<\/blockquote>\n\n<p>Previously:<\/p>\n<ul>\n<li><a href=\"https:\/\/mjtsai.com\/blog\/2019\/07\/09\/zoom-vulnerabilities\/\">Zoom Vulnerabilities<\/a><\/li>\n<li><a href=\"https:\/\/mjtsai.com\/blog\/2017\/08\/04\/using-a-downloaded-html-file-to-steal-files-from-a-mac\/\">Using a Downloaded HTML File to Steal Files From a Mac<\/a><\/li>\n<li><a href=\"https:\/\/mjtsai.com\/blog\/2016\/12\/15\/macos-10-12-2-impedes-safari-bookmarklets\/\">macOS 10.12.2 Impedes Safari Bookmarklets<\/a><\/li>\n<li><a href=\"https:\/\/mjtsai.com\/blog\/2016\/05\/31\/1passwordanywhere-no-longer-works-with-dropbox\/\">1PasswordAnywhere No Longer Works With Dropbox<\/a><\/li>\n<\/ul>\n\n<p id=\"why-do-web-browsers-allow-access-to-the-local-network-update-2019-07-15\">Update (2019-07-15): See also: <a href=\"https:\/\/news.ycombinator.com\/item?id=20423388\">Hacker News<\/a>.<\/p>\n\n<p id=\"why-do-web-browsers-allow-access-to-the-local-network-update-2019-07-17\">Update (2019-07-17): <a href=\"https:\/\/twitter.com\/mxswd\/status\/1151234329558654976\">Maxwell Swadling<\/a>:<\/p>\n<blockquote cite=\"https:\/\/twitter.com\/mxswd\/status\/1151234329558654976\">\n<p>re web browsers, use LuLu or Little Snitch. They are great for lots of reasons, not just web browsers.<\/p>\n<\/blockquote>\n<p>Agreed, but unfortunately most people don&rsquo;t even know about such utilities&mdash;hence the argument for browsers providing some security here.<\/p>","protected":false},"excerpt":{"rendered":"<p>Jeff Johnson: Since constantly requiring confirmation is obviously incredibly annoying, Apple has conveniently exempted some of its own apps from the requirement. For example, macappstore and macappstores URLs will automatically open App Store app without your confirmation. But, curiously, Safari does prompt for opening the News app. Zoom is certainly deserving of criticism. But I&rsquo;ve [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"apple_news_api_created_at":"2019-07-11T20:39:09Z","apple_news_api_id":"8c08eac7-c394-4bf1-9479-f13d6f9efee5","apple_news_api_modified_at":"2019-07-17T19:31:58Z","apple_news_api_revision":"AAAAAAAAAAAAAAAAAAAAAQ==","apple_news_api_share_url":"https:\/\/apple.news\/AjAjqx8OUS_GUefE9b57-5Q","apple_news_coverimage":0,"apple_news_coverimage_caption":"","apple_news_is_hidden":false,"apple_news_is_paid":false,"apple_news_is_preview":false,"apple_news_is_sponsored":false,"apple_news_maturity_rating":"","apple_news_metadata":"\"\"","apple_news_pullquote":"","apple_news_pullquote_position":"","apple_news_slug":"","apple_news_sections":"\"\"","apple_news_suppress_video_url":false,"apple_news_use_image_component":false,"footnotes":""},"categories":[2],"tags":[1223,279,456,139,30,39,1609,355,103,48,96,1839],"class_list":["post-25928","post","type-post","status-publish","format-standard","hentry","category-technology","tag-apple-news","tag-firefox","tag-googlechrome","tag-littlesnitch","tag-mac","tag-macappstore","tag-macos-10-14","tag-privacy","tag-safari","tag-security","tag-web","tag-zoom"],"apple_news_notices":[],"_links":{"self":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts\/25928","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/comments?post=25928"}],"version-history":[{"count":3,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts\/25928\/revisions"}],"predecessor-version":[{"id":25986,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts\/25928\/revisions\/25986"}],"wp:attachment":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/media?parent=25928"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/categories?post=25928"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/tags?post=25928"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}