{"id":17870,"date":"2021-11-18T12:33:53","date_gmt":"2021-11-18T07:03:53","guid":{"rendered":"https:\/\/www.varutra.com\/?p=17870"},"modified":"2022-12-02T11:31:24","modified_gmt":"2022-12-02T06:01:24","slug":"android-weak-host-validation","status":"publish","type":"post","link":"https:\/\/www.varutra.com\/varutravrt3\/android-weak-host-validation\/","title":{"rendered":"Android Weak Host Validation"},"content":{"rendered":"<p><img loading=\"lazy\" decoding=\"async\" width=\"1920\" height=\"1080\" src=\"https:\/\/varutra-1a3b6.kxcdn.com\/wp-content\/uploads\/2021\/11\/Android-Weak-Host-Validation-1024x535.png\"  class=\"sh-overlay-item sh-table-cell ls-is-cached lazyloaded\" data-rel=\"lightcase\" title=\"Android Weak Host Validation - Varutra Consulting\"><br \/>\nIn this blog we are going to discuss about android weak host validation and see how android application is not validating weak host for the android apps.<\/p>\n<p>Requirements:<\/p>\n<ul>\n<li>ADB (Android Debug Bridge)<\/li>\n<li>JADX (Android Decompiler)<\/li>\n<li>Android Emulator (Genymotion)<\/li>\n<\/ul>\n<p>For the testing purposes, we are using <a href=\"https:\/\/docs.insecureshopapp.com\/\">InsecureShop<\/a> vulnerable android application.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-17874 size-full\" src=\"https:\/\/www.varutra.com\/wp-content\/uploads\/2021\/11\/Post-login-interface.png\" alt=\"Post login interface for Android Weak Host Validation\" width=\"308\" height=\"338\" srcset=\"https:\/\/www.varutra.com\/varutravrt3\/wp-content\/uploads\/2021\/11\/Post-login-interface.png 308w, https:\/\/www.varutra.com\/varutravrt3\/wp-content\/uploads\/2021\/11\/Post-login-interface-273x300.png 273w\" sizes=\"(max-width: 308px) 100vw, 308px\" \/><\/p>\n<p style=\"text-align: center\"><strong>Fig1:<\/strong> Post login interface<\/p>\n<p>&nbsp;<\/p>\n<p>First, we need to decompile insecureshop.apk in the JADX decompiler. In the below screenshot, we can see the source code of the insecureshop android application.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-17878 aligncenter\" src=\"https:\/\/www.varutra.com\/wp-content\/uploads\/2021\/11\/Source-code-of-insecureshop-1.png\" alt=\"Source code of insecureshop\" width=\"573\" height=\"248\" srcset=\"https:\/\/www.varutra.com\/varutravrt3\/wp-content\/uploads\/2021\/11\/Source-code-of-insecureshop-1.png 573w, https:\/\/www.varutra.com\/varutravrt3\/wp-content\/uploads\/2021\/11\/Source-code-of-insecureshop-1-300x130.png 300w\" sizes=\"(max-width: 573px) 100vw, 573px\" \/><\/p>\n<p style=\"text-align: center\"><strong>Fig2:<\/strong> Source code of insecureshop<\/p>\n<p>Check for the androidmanifest.xml file. There you will have to look for the structure and components of the application. Also, look for the exported activity permissions provided by the developers in the source code of the application.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-17879 aligncenter\" src=\"https:\/\/www.varutra.com\/wp-content\/uploads\/2021\/11\/Androidmanifest.png\" alt=\"Androidmanifest\" width=\"573\" height=\"294\" srcset=\"https:\/\/www.varutra.com\/varutravrt3\/wp-content\/uploads\/2021\/11\/Androidmanifest.png 573w, https:\/\/www.varutra.com\/varutravrt3\/wp-content\/uploads\/2021\/11\/Androidmanifest-300x154.png 300w\" sizes=\"(max-width: 573px) 100vw, 573px\" \/><\/p>\n<p style=\"text-align: center\"><strong>Fig3:<\/strong> Androidmanifest.xml<\/p>\n<p>In the fig3: androidmanifest.xml screenshot, you can see there is an activity that is used as \u201c&lt;activity android:name=&#8221;com.insecureshop.WebViewActivity&#8221;&gt;\u201d<\/p>\n<p>&nbsp;<\/p>\n<h3><strong>What is Activity?<\/strong><\/h3>\n<p>An Activity is a single representation in an app. Pass the intent to startActivity() and begin your new Activity. The intent is an Activity that has to be started to carry the essential data. You can also visit\u00a0<a href=\"https:\/\/developer.android.com\/reference\/android\/app\/Activity\">developer.android.com<\/a>\u00a0for more details.<\/p>\n<p>In the following diagram, you can see the important state paths of an Activity. The callback methods are represented by a colorless rectangles dialog box. When an Activity is transferred between states it will be used for implementation to perform operations. The colored boxes represent the major states of the Activity.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-17872 aligncenter\" src=\"https:\/\/www.varutra.com\/wp-content\/uploads\/2021\/11\/important-state-paths-of-an-Activity.png\" alt=\"important state paths of an Activity\" width=\"308\" height=\"334\" srcset=\"https:\/\/www.varutra.com\/varutravrt3\/wp-content\/uploads\/2021\/11\/important-state-paths-of-an-Activity.png 308w, https:\/\/www.varutra.com\/varutravrt3\/wp-content\/uploads\/2021\/11\/important-state-paths-of-an-Activity-277x300.png 277w\" sizes=\"(max-width: 308px) 100vw, 308px\" \/><\/p>\n<p>Check the deep link for an activity in the image below<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-17881 aligncenter\" src=\"https:\/\/www.varutra.com\/wp-content\/uploads\/2021\/11\/Deeplink-in-androidmanifest.png\" alt=\"Deeplink in androidmanifest\" width=\"608\" height=\"118\" srcset=\"https:\/\/www.varutra.com\/varutravrt3\/wp-content\/uploads\/2021\/11\/Deeplink-in-androidmanifest.png 608w, https:\/\/www.varutra.com\/varutravrt3\/wp-content\/uploads\/2021\/11\/Deeplink-in-androidmanifest-300x58.png 300w\" sizes=\"(max-width: 608px) 100vw, 608px\" \/><\/p>\n<p style=\"text-align: center\"><strong>Fig4:<\/strong> Deeplink in androidmanifest.xml<\/p>\n<ul>\n<li><strong>Intent-filter<\/strong>: It can be defined as the capability of an activity component that is based on the type of URI.<\/li>\n<li>&lt;action&gt; Specify the ACTION_VIEW intent action. This procedure is carried out so that any search engine like Google, DuckDuckGo, or more can reach out to intent filter anytime.<\/li>\n<li>&lt;category&gt; Include the BROWSABLE category. It is required as it will ensure that the intent filter gets accessible from a web browser. Without it, just clicking on the link that was opened in the browser won\u2019t be resolved to your app.<\/li>\n<li>Also, include the DEFAULT category. It allows the app to respond to implicit intents. Without it, the activity can\u2019t be started until intent specifies your app component name.<\/li>\n<li>Additional\u00a0<a href=\"https:\/\/developer.android.com\/guide\/topics\/manifest\/data-element\">&lt;data&gt;\u00a0<\/a>tags are to be added as they represent a URI format that revolves around the activity. It is recommended that the &lt;data&gt; tag is to be included in the\u00a0<a href=\"https:\/\/developer.android.com\/guide\/topics\/manifest\/data-element#scheme\">android:scheme\u00a0<\/a>attribute.<\/li>\n<\/ul>\n<p>In the figure below, you can see that deeplink invokes webview by looking at the android activity name. You can also visit\u00a0<a href=\"https:\/\/www.varutra.com\/all-you-need-to-know-about-android-webview-vulnerabilities\/\">the blog<\/a>\u00a0to know more about webview.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-17880 aligncenter\" src=\"https:\/\/www.varutra.com\/wp-content\/uploads\/2021\/11\/WebView-Activity-in-androidmanifest.png\" alt=\"WebView Activity in androidmanifest\" width=\"608\" height=\"118\" srcset=\"https:\/\/www.varutra.com\/varutravrt3\/wp-content\/uploads\/2021\/11\/WebView-Activity-in-androidmanifest.png 608w, https:\/\/www.varutra.com\/varutravrt3\/wp-content\/uploads\/2021\/11\/WebView-Activity-in-androidmanifest-300x58.png 300w\" sizes=\"(max-width: 608px) 100vw, 608px\" \/><\/p>\n<p style=\"text-align: center\"><strong>Fig5:<\/strong> WebViewActivity in androidmanifest.xml<\/p>\n<p>In Jadx, to open the code in a new tab, you will have to press hold\u00a0the ctrl\u00a0key and click on the activity name.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-17871 aligncenter\" src=\"https:\/\/www.varutra.com\/wp-content\/uploads\/2021\/11\/Webview-activity-source-code.png\" alt=\"Webview activity source code\" width=\"608\" height=\"236\" srcset=\"https:\/\/www.varutra.com\/varutravrt3\/wp-content\/uploads\/2021\/11\/Webview-activity-source-code.png 608w, https:\/\/www.varutra.com\/varutravrt3\/wp-content\/uploads\/2021\/11\/Webview-activity-source-code-300x116.png 300w\" sizes=\"(max-width: 608px) 100vw, 608px\" \/><\/p>\n<p style=\"text-align: center\"><strong>Fig6:<\/strong> Webview activity source code<\/p>\n<ul>\n<li>onCreate() is a life cycle event that is found in Android. There are 6 core set of life cycle events in Android\u2019s activity lifecycle, i.e.,\u00a0<a href=\"https:\/\/developer.android.com\/reference\/android\/app\/Activity#onCreate(android.os.Bundle)\">onCreate()<\/a>,\u00a0<a href=\"https:\/\/developer.android.com\/reference\/android\/app\/Activity#onStart()\">onStart()<\/a>,\u00a0<a href=\"https:\/\/developer.android.com\/reference\/android\/app\/Activity#onResume()\">onResume()<\/a>,\u00a0<a href=\"https:\/\/developer.android.com\/reference\/android\/app\/Activity#onPause()\">onPause()<\/a>,\u00a0<a href=\"https:\/\/developer.android.com\/reference\/android\/app\/Activity#onStop()\">onStop()<\/a>, and\u00a0<a href=\"https:\/\/developer.android.com\/reference\/android\/app\/Activity#onDestroy()\">onDestroy()<\/a>.<\/li>\n<li>webview settings for the defined webview activity.<\/li>\n<li>getIntent() fetches the intent and stores it in the intent object.<\/li>\n<li>intent.getData() fetches the URI and stores it in the URI object. It then checks if the URI is empty.<\/li>\n<\/ul>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-17877 aligncenter\" src=\"https:\/\/www.varutra.com\/wp-content\/uploads\/2021\/11\/Webview-activity-source-code-2.png\" alt=\"Webview activity source code \" width=\"608\" height=\"422\" srcset=\"https:\/\/www.varutra.com\/varutravrt3\/wp-content\/uploads\/2021\/11\/Webview-activity-source-code-2.png 608w, https:\/\/www.varutra.com\/varutravrt3\/wp-content\/uploads\/2021\/11\/Webview-activity-source-code-2-300x208.png 300w\" sizes=\"(max-width: 608px) 100vw, 608px\" \/><\/p>\n<p style=\"text-align: center\"><strong>Fig7:<\/strong> Webview activity source code &#8211; 2<\/p>\n<ul>\n<li>We have two paths in the code it has \/web or\/webview in it. Then, accordingly, it executes the respective code.<\/li>\n<li>finish() means if both checks fail. Now, webview will not be loaded.<\/li>\n<li>If 1 or 2 passes the request, it will fetch the URI and extract the value from the URL query. Then, it will store it on data variables and will be loaded via webview.<\/li>\n<\/ul>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-17876 aligncenter\" src=\"https:\/\/www.varutra.com\/wp-content\/uploads\/2021\/11\/URI-format.png\" alt=\"URI format\" width=\"478\" height=\"156\" srcset=\"https:\/\/www.varutra.com\/varutravrt3\/wp-content\/uploads\/2021\/11\/URI-format.png 478w, https:\/\/www.varutra.com\/varutravrt3\/wp-content\/uploads\/2021\/11\/URI-format-300x98.png 300w\" sizes=\"(max-width: 478px) 100vw, 478px\" \/><\/p>\n<p style=\"text-align: center\"><strong>Fig8:<\/strong> URI format<\/p>\n<p>Let\u2019s try to exploit this vulnerability, we have made one payload based on URI format to load the arbitrary web page in the webview.<\/p>\n<p>&#8220;insecureshop:\/\/com.insecureshop\/webview?url=https:\/\/varutra.com\/ \\?insecureshopapp.com&#8221;<\/p>\n<p>We will be using ADB to launch webview activity by passing URI as data to it. The command used for exploiting is: adb shell am start -W -a android.intent.action.VIEW -d &#8220;insecureshop:\/\/com.insecureshop\/webview?url=<a href=\"https:\/\/varutra.com\/?insecureshopapp.com%22\">https:\/\/varutra.com\/\\?insecureshopapp.com&#8221;<\/a>.<\/p>\n<p>You can see that Webview loads the arbitrary URI:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-17882 aligncenter\" src=\"https:\/\/www.varutra.com\/wp-content\/uploads\/2021\/11\/Arbitrary-URI-is-loaded-in-webview-successfully.png\" alt=\"Arbitrary URI is loaded in webview successfully\" width=\"608\" height=\"330\" srcset=\"https:\/\/www.varutra.com\/varutravrt3\/wp-content\/uploads\/2021\/11\/Arbitrary-URI-is-loaded-in-webview-successfully.png 608w, https:\/\/www.varutra.com\/varutravrt3\/wp-content\/uploads\/2021\/11\/Arbitrary-URI-is-loaded-in-webview-successfully-300x163.png 300w\" sizes=\"(max-width: 608px) 100vw, 608px\" \/><\/p>\n<p style=\"text-align: center\"><strong>Fig9:<\/strong> Arbitrary URI is loaded in webview successfully<\/p>\n<p>&nbsp;<\/p>\n<p><strong><u>References:<\/u><\/strong><\/p>\n<ul>\n<li><a href=\"https:\/\/www.youtube.com\/watch?v=VfyuZIvLX8Y\">https:\/\/www.youtube.com\/watch?v=VfyuZIvLX8Y<\/a><\/li>\n<li><a href=\"https:\/\/labs.f-secure.com\/archive\/adventures-with-android-webviews\/\">https:\/\/labs.f-secure.com\/archive\/adventures-with-android-webviews\/<\/a><\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<p>Author,<\/p>\n<p>Rituraj Vishwakarma<\/p>\n<p>Attack &amp; Pentest Team<\/p>\n<p>Varutra Consulting Pvt. Ltd.<\/p>","protected":false},"excerpt":{"rendered":"<p>In this blog we are going to discuss about android weak host validation and see how android application is not validating weak host for the&#8230;<\/p>\n","protected":false},"author":4,"featured_media":17885,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"om_disable_all_campaigns":false,"inline_featured_image":false,"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"categories":[51,264],"tags":[],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO Pro 4.6.3 - aioseo.com -->\n\t\t<meta name=\"description\" content=\"Android weak host validation can controlled URL in the application webview. See how android application is not validating weak host for the android apps.\" \/>\n\t\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t\t<link rel=\"canonical\" href=\"https:\/\/www.varutra.com\/varutravrt3\/android-weak-host-validation\/\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO Pro (AIOSEO) 4.6.3\" \/>\n\t\t<meta property=\"og:locale\" content=\"en_US\" \/>\n\t\t<meta property=\"og:site_name\" content=\"Varutra Consulting\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"Android Weak Host Validation | Android Apps Pentesting\" \/>\n\t\t<meta property=\"og:description\" content=\"Android weak host validation can controlled URL in the application webview. See how android application is not validating weak host for the android apps.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/www.varutra.com\/varutravrt3\/android-weak-host-validation\/\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2021-11-18T07:03:53+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2022-12-02T06:01:24+00:00\" \/>\n\t\t<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n\t\t<meta name=\"twitter:title\" content=\"Android Weak Host Validation | Android Apps Pentesting\" \/>\n\t\t<meta name=\"twitter:description\" content=\"Android weak host validation can controlled URL in the application webview. See how android application is not validating weak host for the android apps.\" \/>\n\t\t<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t\t<meta name=\"twitter:data1\" content=\"kalpblogger\" \/>\n\t\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t\t<meta name=\"twitter:data2\" content=\"4 minutes\" \/>\n\t\t<script type=\"application\/ld+json\" class=\"aioseo-schema\">\n\t\t\t{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.varutra.com\\\/varutravrt3\\\/android-weak-host-validation\\\/#article\",\"name\":\"Android Weak Host Validation | Android Apps Pentesting\",\"headline\":\"Android Weak Host Validation\",\"author\":{\"@id\":\"https:\\\/\\\/www.varutra.com\\\/varutravrt3\\\/author\\\/kalpblogger\\\/#author\"},\"publisher\":{\"@id\":\"https:\\\/\\\/www.varutra.com\\\/varutravrt3\\\/#organization\"},\"image\":{\"@type\":\"ImageObject\",\"url\":\"https:\\\/\\\/www.varutra.com\\\/varutravrt3\\\/wp-content\\\/uploads\\\/2021\\\/11\\\/Android-Weak-Host-Validation.png\",\"width\":1200,\"height\":627,\"caption\":\"Android Weak Host Validation\"},\"datePublished\":\"2021-11-18T12:33:53+05:30\",\"dateModified\":\"2022-12-02T11:31:24+05:30\",\"inLanguage\":\"en-US\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.varutra.com\\\/varutravrt3\\\/android-weak-host-validation\\\/#webpage\"},\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.varutra.com\\\/varutravrt3\\\/android-weak-host-validation\\\/#webpage\"},\"articleSection\":\"Android Security, Mobile Application Security\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.varutra.com\\\/varutravrt3\\\/android-weak-host-validation\\\/#breadcrumblist\",\"itemListElement\":[{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.varutra.com\\\/varutravrt3\\\/#listItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.varutra.com\\\/varutravrt3\\\/\",\"nextItem\":\"https:\\\/\\\/www.varutra.com\\\/varutravrt3\\\/android-weak-host-validation\\\/#listItem\"},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.varutra.com\\\/varutravrt3\\\/android-weak-host-validation\\\/#listItem\",\"position\":2,\"name\":\"Android Weak Host Validation\",\"previousItem\":\"https:\\\/\\\/www.varutra.com\\\/varutravrt3\\\/#listItem\"}]},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.varutra.com\\\/varutravrt3\\\/#organization\",\"name\":\"Varutra\",\"url\":\"https:\\\/\\\/www.varutra.com\\\/varutravrt3\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https:\\\/\\\/www.varutra.com\\\/wp-content\\\/uploads\\\/2021\\\/11\\\/Varutra-Found-e1612984024606.jpg\",\"@id\":\"https:\\\/\\\/www.varutra.com\\\/varutravrt3\\\/android-weak-host-validation\\\/#organizationLogo\"},\"image\":{\"@id\":\"https:\\\/\\\/www.varutra.com\\\/varutravrt3\\\/android-weak-host-validation\\\/#organizationLogo\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.varutra.com\\\/varutravrt3\\\/author\\\/kalpblogger\\\/#author\",\"url\":\"https:\\\/\\\/www.varutra.com\\\/varutravrt3\\\/author\\\/kalpblogger\\\/\",\"name\":\"kalpblogger\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\\\/\\\/www.varutra.com\\\/varutravrt3\\\/android-weak-host-validation\\\/#authorImage\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/5e96a9b330da7c941c1e39217a2fbe38?s=96&d=mm&r=g\",\"width\":96,\"height\":96,\"caption\":\"kalpblogger\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.varutra.com\\\/varutravrt3\\\/android-weak-host-validation\\\/#webpage\",\"url\":\"https:\\\/\\\/www.varutra.com\\\/varutravrt3\\\/android-weak-host-validation\\\/\",\"name\":\"Android Weak Host Validation | Android Apps Pentesting\",\"description\":\"Android weak host validation can controlled URL in the application webview. See how android application is not validating weak host for the android apps.\",\"inLanguage\":\"en-US\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.varutra.com\\\/varutravrt3\\\/#website\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.varutra.com\\\/varutravrt3\\\/android-weak-host-validation\\\/#breadcrumblist\"},\"author\":{\"@id\":\"https:\\\/\\\/www.varutra.com\\\/varutravrt3\\\/author\\\/kalpblogger\\\/#author\"},\"creator\":{\"@id\":\"https:\\\/\\\/www.varutra.com\\\/varutravrt3\\\/author\\\/kalpblogger\\\/#author\"},\"image\":{\"@type\":\"ImageObject\",\"url\":\"https:\\\/\\\/www.varutra.com\\\/varutravrt3\\\/wp-content\\\/uploads\\\/2021\\\/11\\\/Android-Weak-Host-Validation.png\",\"@id\":\"https:\\\/\\\/www.varutra.com\\\/varutravrt3\\\/android-weak-host-validation\\\/#mainImage\",\"width\":1200,\"height\":627,\"caption\":\"Android Weak Host Validation\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.varutra.com\\\/varutravrt3\\\/android-weak-host-validation\\\/#mainImage\"},\"datePublished\":\"2021-11-18T12:33:53+05:30\",\"dateModified\":\"2022-12-02T11:31:24+05:30\"},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.varutra.com\\\/varutravrt3\\\/#website\",\"url\":\"https:\\\/\\\/www.varutra.com\\\/varutravrt3\\\/\",\"name\":\"Varutra Consulting\",\"description\":\"Secure your digital world with our Cybersecurity services.\",\"inLanguage\":\"en-US\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.varutra.com\\\/varutravrt3\\\/#organization\"}}]}\n\t\t<\/script>\n\t\t<!-- All in One SEO Pro -->\r\n\t\t<title>Android Weak Host Validation | Android Apps Pentesting<\/title>\n\n","aioseo_head_json":{"title":"Android Weak Host Validation | Android Apps Pentesting","description":"Android weak host validation can controlled URL in the application webview. See how android application is not validating weak host for the android apps.","canonical_url":"https:\/\/www.varutra.com\/varutravrt3\/android-weak-host-validation\/","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"og:locale":"en_US","og:site_name":"Varutra Consulting","og:type":"article","og:title":"Android Weak Host Validation | Android Apps Pentesting","og:description":"Android weak host validation can controlled URL in the application webview. See how android application is not validating weak host for the android apps.","og:url":"https:\/\/www.varutra.com\/varutravrt3\/android-weak-host-validation\/","article:published_time":"2021-11-18T07:03:53+00:00","article:modified_time":"2022-12-02T06:01:24+00:00","twitter:card":"summary_large_image","twitter:title":"Android Weak Host Validation | Android Apps Pentesting","twitter:description":"Android weak host validation can controlled URL in the application webview. See how android application is not validating weak host for the android apps.","twitter:label1":"Written by","twitter:data1":"kalpblogger","twitter:label2":"Est. reading time","twitter:data2":"4 minutes","schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.varutra.com\/varutravrt3\/android-weak-host-validation\/#article","name":"Android Weak Host Validation | Android Apps Pentesting","headline":"Android Weak Host Validation","author":{"@id":"https:\/\/www.varutra.com\/varutravrt3\/author\/kalpblogger\/#author"},"publisher":{"@id":"https:\/\/www.varutra.com\/varutravrt3\/#organization"},"image":{"@type":"ImageObject","url":"https:\/\/www.varutra.com\/varutravrt3\/wp-content\/uploads\/2021\/11\/Android-Weak-Host-Validation.png","width":1200,"height":627,"caption":"Android Weak Host Validation"},"datePublished":"2021-11-18T12:33:53+05:30","dateModified":"2022-12-02T11:31:24+05:30","inLanguage":"en-US","mainEntityOfPage":{"@id":"https:\/\/www.varutra.com\/varutravrt3\/android-weak-host-validation\/#webpage"},"isPartOf":{"@id":"https:\/\/www.varutra.com\/varutravrt3\/android-weak-host-validation\/#webpage"},"articleSection":"Android Security, Mobile Application Security"},{"@type":"BreadcrumbList","@id":"https:\/\/www.varutra.com\/varutravrt3\/android-weak-host-validation\/#breadcrumblist","itemListElement":[{"@type":"ListItem","@id":"https:\/\/www.varutra.com\/varutravrt3\/#listItem","position":1,"name":"Home","item":"https:\/\/www.varutra.com\/varutravrt3\/","nextItem":"https:\/\/www.varutra.com\/varutravrt3\/android-weak-host-validation\/#listItem"},{"@type":"ListItem","@id":"https:\/\/www.varutra.com\/varutravrt3\/android-weak-host-validation\/#listItem","position":2,"name":"Android Weak Host Validation","previousItem":"https:\/\/www.varutra.com\/varutravrt3\/#listItem"}]},{"@type":"Organization","@id":"https:\/\/www.varutra.com\/varutravrt3\/#organization","name":"Varutra","url":"https:\/\/www.varutra.com\/varutravrt3\/","logo":{"@type":"ImageObject","url":"https:\/\/www.varutra.com\/wp-content\/uploads\/2021\/11\/Varutra-Found-e1612984024606.jpg","@id":"https:\/\/www.varutra.com\/varutravrt3\/android-weak-host-validation\/#organizationLogo"},"image":{"@id":"https:\/\/www.varutra.com\/varutravrt3\/android-weak-host-validation\/#organizationLogo"}},{"@type":"Person","@id":"https:\/\/www.varutra.com\/varutravrt3\/author\/kalpblogger\/#author","url":"https:\/\/www.varutra.com\/varutravrt3\/author\/kalpblogger\/","name":"kalpblogger","image":{"@type":"ImageObject","@id":"https:\/\/www.varutra.com\/varutravrt3\/android-weak-host-validation\/#authorImage","url":"https:\/\/secure.gravatar.com\/avatar\/5e96a9b330da7c941c1e39217a2fbe38?s=96&d=mm&r=g","width":96,"height":96,"caption":"kalpblogger"}},{"@type":"WebPage","@id":"https:\/\/www.varutra.com\/varutravrt3\/android-weak-host-validation\/#webpage","url":"https:\/\/www.varutra.com\/varutravrt3\/android-weak-host-validation\/","name":"Android Weak Host Validation | Android Apps Pentesting","description":"Android weak host validation can controlled URL in the application webview. See how android application is not validating weak host for the android apps.","inLanguage":"en-US","isPartOf":{"@id":"https:\/\/www.varutra.com\/varutravrt3\/#website"},"breadcrumb":{"@id":"https:\/\/www.varutra.com\/varutravrt3\/android-weak-host-validation\/#breadcrumblist"},"author":{"@id":"https:\/\/www.varutra.com\/varutravrt3\/author\/kalpblogger\/#author"},"creator":{"@id":"https:\/\/www.varutra.com\/varutravrt3\/author\/kalpblogger\/#author"},"image":{"@type":"ImageObject","url":"https:\/\/www.varutra.com\/varutravrt3\/wp-content\/uploads\/2021\/11\/Android-Weak-Host-Validation.png","@id":"https:\/\/www.varutra.com\/varutravrt3\/android-weak-host-validation\/#mainImage","width":1200,"height":627,"caption":"Android Weak Host Validation"},"primaryImageOfPage":{"@id":"https:\/\/www.varutra.com\/varutravrt3\/android-weak-host-validation\/#mainImage"},"datePublished":"2021-11-18T12:33:53+05:30","dateModified":"2022-12-02T11:31:24+05:30"},{"@type":"WebSite","@id":"https:\/\/www.varutra.com\/varutravrt3\/#website","url":"https:\/\/www.varutra.com\/varutravrt3\/","name":"Varutra Consulting","description":"Secure your digital world with our Cybersecurity services.","inLanguage":"en-US","publisher":{"@id":"https:\/\/www.varutra.com\/varutravrt3\/#organization"}}]}},"aioseo_meta_data":{"post_id":"17870","title":"Android Weak Host Validation&nbsp;| Android Apps Pentesting","description":"Android weak host validation can controlled URL in the application webview. See how android application is not validating weak host for the android apps.","keywords":[],"keyphrases":"{\"focus\":{\"keyphrase\":\"Android weak host validation\",\"score\":80,\"analysis\":{\"keyphraseInTitle\":{\"title\":\"Focus keyphrase in SEO title\",\"description\":\"Focus keyphrase found in SEO title.\",\"score\":9,\"maxScore\":9,\"error\":0},\"keyphraseInDescription\":{\"title\":\"Focus keyphrase in meta description\",\"description\":\"Focus keyphrase found in meta description.\",\"score\":9,\"maxScore\":9,\"error\":0},\"keyphraseLength\":{\"title\":\"Focus keyphrase length\",\"description\":\"Good job!\",\"score\":9,\"maxScore\":9,\"error\":0,\"length\":4},\"keyphraseInURL\":{\"title\":\"Focus keyphrase in URL\",\"description\":\"Focus keyphrase used in the URL.\",\"score\":5,\"maxScore\":5,\"error\":0},\"keyphraseInIntroduction\":{\"title\":\"Focus keyphrase in introduction\",\"description\":\"Your Focus keyphrase does not appear in the first paragraph. Make sure the topic is clear immediately.\",\"score\":3,\"maxScore\":9,\"error\":1},\"keyphraseInSubHeadings\":{\"title\":\"Focus keyphrase in Subheadings\",\"description\":\"Use your focus keyphrase more in your H2 and H3 subheadings.\",\"score\":3,\"maxScore\":9,\"error\":1},\"keyphraseInImageAlt\":{\"title\":\"Focus keyphrase in image alt attributes\",\"description\":\"Focus keyphrase found in image alt attribute(s).\",\"score\":9,\"maxScore\":9,\"error\":0}}},\"additional\":[{\"keyphrase\":\"Weak Host Validation\",\"score\":83,\"analysis\":{\"keyphraseInDescription\":{\"title\":\"Keyphrase in meta description\",\"description\":\"Keyphrase found in meta description.\",\"score\":9,\"maxScore\":9,\"error\":0},\"keyphraseLength\":{\"title\":\"Keyphrase length\",\"description\":\"Good job!\",\"score\":9,\"maxScore\":9,\"error\":0,\"length\":3},\"keyphraseInIntroduction\":{\"title\":\"Keyphrase in introduction\",\"description\":\"Your Keyphrase does not appear in the first paragraph. Make sure the topic is clear immediately.\",\"score\":3,\"maxScore\":9,\"error\":1},\"keyphraseInImageAlt\":{\"title\":\"Keyphrase in image alt attributes\",\"description\":\"Keyphrase found in image alt attribute(s).\",\"score\":9,\"maxScore\":9,\"error\":0}}},{\"keyphrase\":\"Host Validation\",\"score\":83,\"analysis\":{\"keyphraseInDescription\":{\"title\":\"Keyphrase in meta description\",\"description\":\"Keyphrase found in meta description.\",\"score\":9,\"maxScore\":9,\"error\":0},\"keyphraseLength\":{\"title\":\"Keyphrase length\",\"description\":\"Good job!\",\"score\":9,\"maxScore\":9,\"error\":0,\"length\":2},\"keyphraseInIntroduction\":{\"title\":\"Keyphrase in introduction\",\"description\":\"Your Keyphrase does not appear in the first paragraph. Make sure the topic is clear immediately.\",\"score\":3,\"maxScore\":9,\"error\":1},\"keyphraseInImageAlt\":{\"title\":\"Keyphrase in image alt attributes\",\"description\":\"Keyphrase found in image alt attribute(s).\",\"score\":9,\"maxScore\":9,\"error\":0}}},{\"keyphrase\":\"Weak Host\",\"score\":83,\"analysis\":{\"keyphraseInDescription\":{\"title\":\"Keyphrase in meta description\",\"description\":\"Keyphrase found in meta description.\",\"score\":9,\"maxScore\":9,\"error\":0},\"keyphraseLength\":{\"title\":\"Keyphrase length\",\"description\":\"Good job!\",\"score\":9,\"maxScore\":9,\"error\":0,\"length\":2},\"keyphraseInIntroduction\":{\"title\":\"Keyphrase in introduction\",\"description\":\"Your Keyphrase does not appear in the first paragraph. Make sure the topic is clear immediately.\",\"score\":3,\"maxScore\":9,\"error\":1},\"keyphraseInImageAlt\":{\"title\":\"Keyphrase in image alt attributes\",\"description\":\"Keyphrase found in image alt attribute(s).\",\"score\":9,\"maxScore\":9,\"error\":0}}}]}","primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":"","og_custom_url":null,"og_article_section":null,"og_article_tags":[],"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":"default","schema_type_options":"{\"article\":{\"articleType\":\"BlogPosting\"},\"course\":{\"name\":\"\",\"description\":\"\",\"provider\":\"\"},\"faq\":{\"pages\":[]},\"product\":{\"reviews\":[]},\"recipe\":{\"ingredients\":[],\"instructions\":[],\"keywords\":[]},\"software\":{\"reviews\":[],\"operatingSystems\":[]},\"webPage\":{\"webPageType\":\"WebPage\"}}","pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":"-1","robots_max_videopreview":"-1","robots_max_imagepreview":"large","priority":null,"frequency":"default","local_seo":null,"limit_modified_date":false,"open_ai":null,"created":"2021-11-18 05:04:47","updated":"2022-12-02 06:12:37"},"aioseo_breadcrumb":"<div class=\"aioseo-breadcrumbs\"><span class=\"aioseo-breadcrumb\">\n\t<a href=\"https:\/\/www.varutra.com\/varutravrt3\" title=\"Home\">Home<\/a>\n<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t<a href=\"https:\/\/www.varutra.com\/varutravrt3\/category\/android-security\/\" title=\"Android Security\">Android Security<\/a>\n<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\tAndroid Weak Host Validation\n<\/span><\/div>","aioseo_breadcrumb_json":[{"label":"Home","link":"https:\/\/www.varutra.com\/varutravrt3"},{"label":"Android Security","link":"https:\/\/www.varutra.com\/varutravrt3\/category\/android-security\/"},{"label":"Android Weak Host Validation","link":"https:\/\/www.varutra.com\/varutravrt3\/android-weak-host-validation\/"}],"post_mailing_queue_ids":[],"_links":{"self":[{"href":"https:\/\/www.varutra.com\/varutravrt3\/wp-json\/wp\/v2\/posts\/17870"}],"collection":[{"href":"https:\/\/www.varutra.com\/varutravrt3\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.varutra.com\/varutravrt3\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.varutra.com\/varutravrt3\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/www.varutra.com\/varutravrt3\/wp-json\/wp\/v2\/comments?post=17870"}],"version-history":[{"count":5,"href":"https:\/\/www.varutra.com\/varutravrt3\/wp-json\/wp\/v2\/posts\/17870\/revisions"}],"predecessor-version":[{"id":20215,"href":"https:\/\/www.varutra.com\/varutravrt3\/wp-json\/wp\/v2\/posts\/17870\/revisions\/20215"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.varutra.com\/varutravrt3\/wp-json\/wp\/v2\/media\/17885"}],"wp:attachment":[{"href":"https:\/\/www.varutra.com\/varutravrt3\/wp-json\/wp\/v2\/media?parent=17870"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.varutra.com\/varutravrt3\/wp-json\/wp\/v2\/categories?post=17870"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.varutra.com\/varutravrt3\/wp-json\/wp\/v2\/tags?post=17870"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}