Kidolgozása a program megpróbálja kijavítani a támadások a védett objektum

Irodalom

Az információ biztonsága - védelmére titkosságának, integritásának és rendelkezésre állásának. [1]

Adatvédelem - ingatlan információs források, annak a ténynek köszönhető, hogy nem lesz elérhető, és nem lesz juthasson illetéktelen személyek. [1]

Integrity-változatlanságát információt annak átvitele során vagy a tárolás. [1]

Állás, ingatlan információs források, amely meghatározza a lehetőségét, hogy ezek beszerzése és használata a kérelmet meghatalmazott személyek. [1]

Mint látható a fenti, a biztonsága érdekében az IP gondosan tanulmányozza az összes árnyalatokat. A munka ezen a területen nem áll meg egy percre. A szoftver IP biztonság egyre kifinomultabb és tartalmaz olyan funkciókat, amely szükséges összhangban szelleme az idők. Fejlődő segítő szakemberek, hogy megoldja a biztonsági problémák - például az alapja a vírus adatbázist, amely linkeket tartalmaz eszközöket leküzdése érdekében. Ez azt jelenti, hogy a jelentősége minden kapcsolódó fejlesztések informatikai biztonság nagyon magas.

1. Ki kell dolgozni egy programot

1.1 A feladat során a projekt

Tárgy: Fejlesztési program, hogy rögzítse erőfeszítéseket, hogy megtámadják a védett objektum

Szükséges, hogy dolgozzon ki egy programot, amely elvégzi a rekordot a log-fájl az azonosított cselekvések, mint egy kísérlet arra, hogy támadások a védett objektum.

1.2Vyborispolzuemyh szerszámok

1.3Opisanie alkalmazás szerkezetének

A program öt fájlok rasshirenie.php:

logger.php fájl tartalmazza a fő munka kiszámítása potenciálisan veszélyes anyagokat, valamint nyilvántartást vezet róluk.

config.php kis konfigurációs fájlban szükséges információkat a MySQL adatbázis és használják más script fájlokat.

2. ábra: Megjelenése admin.php admin oldalon.

authorized.php utánzata a felhasználó az oldal információs forrás a bemutatott ellenőrzési csak tipikus személyi lap hivatkozik felhasználók. További részletek hogy hozzon létre egy felhasználói oldal nem sok értelme az összefüggésben a projekt célkitűzéseinek megfelelően a 3. ábra.

3. ábra: Megjelenése authorized.php felhasználói oldalon.

1.4Opisanie MySQL adatbázis táblák

A MySQL adatbázis egy adatbázis három asztal, amelyek mindegyike viseli az egyes küldetés. A nevek adatbázis táblák:

„Felhasználók” - ahogy a neve is mutatja, ez tartalmazza a regisztrációs adatait a forrás számára.

„Danger_connect” - egy táblázat, amelyben helyet belépési potenciálisan veszélyes vegyületeket, azok nem távolítják bármikor lehet ellenőrizni a rendszergazda a forrás.

Parancsok az adatbázis létrehozása táblákat végeztünk az ügyfél konzol mysql-client formájában szabványos SQL-lekérdezések az adatbázis szerint a 4. ábrán.

4. ábra: Az SQL-lekérdezéseket táblák létrehozására az adatbázisban.

A táblázatok mindegyike tartalmaz számos területen (oszlopok), amelyek mindegyike egyedi a célra.

„Id” - egy olyan területen, amely egy egyedi felhasználói azonosítóval, a mező típusát integer INT (4) (a zárójelben a bájtok számát hozzárendelt érték tárolásához) növekszik adatbázis-kezelő rendszert, amikor egy új felhasználó hozzáadását a használati specifikáló AUTO_INCREMENT táblalétrehozáshoz.

A „Felhasználó” - természetesen tartalmazza a felhasználó nevét, karakter típus CHAR (10).

„Pass” - tartalmazza ahogy sejteni lehet a felhasználó jelszavát is van egy karakter típusú CHAR (15).

„Time” - egy olyan területen, amely rendelkezik egy rekord a dátum és az idő a csatlakozási kísérlet, olyan speciális tárolására dátum és idő DATETIME.

„Time” - tartalmazza az időt a csatlakozási kísérlet, amely szerint a logikája a program potenciálisan veszélyes, a típusa DATETIME.

5. ábra: az SQL-lekérdezéseket az adatbázisba, szerkezetét mutatja táblázat mezők.

6. ábra: SQL-lekérdezések az adatbázis felhasználói fiókokat létrehozni.

1.5Opisanie algoritmus a program

Most nézd meg a teljesítményt minden egyes fájlt. Kezdjük az elején.

index.php fájlt. Ez egy hagyományos HTML-dokumentum, helyezze PHP-kódot. HTML struktúra nem foglalkozunk részletesen, mert ez másodlagos, kivéve a tag

, leíró interaktív oldalelemek. Címkéhez is használják . Számos módja van:

„Név” - tartalmazza a nevét, a forma, amelyet fel lehet használni eléréséhez az elemek alkotják a szerkezet a hierarchia HTML dokumentumnak.

„A módszer” - egy fontos paraméter jelzi, hogy milyen módon tudjuk adatátvitelre php-script, hogy a POST metódust, ami biztonságosabb, mint a GET metódus, hiszen ebben az esetben a nyomtatványt adatokat továbbítják a szervezetben a HTTP-kérés, hanem az URL, ami látható .. felhasználó, és ezért könnyen hamisítani.

Ezután úgy egy kis konfigurációs állományt config.php.

Már csak négy sor, amely a csatlakozási paramétereket az adatbázisba:

„$ Dbhost =” localhost „” - url string tartalmazza a fogadó, ahol az adatbázis, ebben az esetben localhost érték azt jelenti, hogy az adatbázis erre ugyanazon a szerveren.

„$ Dbadmin =” root „” - a név az adatbázis-kezelő.

"$ Dbpass =" C2H5OH "" - az adatbázis-adminisztrátor jelszót.

„$ Dbname =” attack_logger „” - az adatbázis nevét, amely tárolja a táblázat relevánsak a projekt.

Ezután úgy logger.php fájl az összes munkát. Script kezdődik a vonal „require_once './config.php”, amely összeköti ezt a forgatókönyvet a config.php konfigurációs fájl, ennek eredményeként deklarált változók belül rendelkezésre bocsátja az aktuális script kódot.

A következő sor ellenőrzésre kerül, hogy a set-ben a globális tömb $ _POTS változó zászló „go”, amelynek jelenlétét jelzi, hogy a szkript adatátvitel a forma feldolgozásra. Ez ezt a sort:

$ Rows = 0 - szüksége van egy változó dolgozni adatbázisok.

$ Flag = $ _ POST [ 'megy'] - változó tárolja az értéket a zászló "go" fölött.

$ User = $ _ POST [ 'user'] - változó alakja a felhasználó nevét, amely származik a globális array $ _POST.

$ Pass = $ _ POST [ 'passwd'] - változó alakja a jelszót.

$ Timevisit = dátum ( „Y-m-d H-i-S”) - Ez a változó tárolja az aktuális dátum és idő kapott hívja „dátum”, egy kompatibilis formátumban DATETIME használt MySQL adatbázisban tárolja ezt az értéket.

4. listában, akkor az adatbázishoz kapcsolódás script és adatbázis választás a munkát.

Most itt az ideje, hogy érvényesítse a bejelentkezési név és jelszó a felhasználó által beírt. Mert ez egy SQL lekérdezés és kivégezték mysql_query függvény, hogy ellenőrizze a sikeres végrehajtását a kérelmet. Ezután ellenőrizze a funkciót visszaadott eredmény. Először kiszámítjuk a visszaadott sorok számát. Ezeket a lépéseket a lista mutatja 8.

Most vegyük azt az esetet, amikor egy név / jelszó nem megfelelő. A kód, hogy végre ezt a funkciót listán látható 10.

A következő sor lezárja a kapcsolatot, hogy a MySQL adatbázis kifejezetten, bár a végén a felszabaduló források a script automatikusan.

És végül, az utolsó sorban a script, hogy csak akkor működik, ha a meghibásodást, ami a „go” változó nincs beállítva. Vonal egyszerűen megjeleníti az üzenetet bejelentő az eset.

Annak vizsgálata logger.php script befejeződött, akkor folytassa tovább.

Ne „látni” a változó be van jelölve beállítása listában 11.

A telepítés ellenőrzéséhez változó a „lásd” megkeresi a nevét a globális array $ _POST. Ezután csatlakozni az adatbázis MySQL. Most kell választani Adatbázisunk az adatbázisban a munkát. Az adatok elvégzésére adatbázis-kapcsolat és kiválasztás a konfigurációs fájl config.php, amely kapcsolódik a rajtnál a fájlban admin.php „require_once './ config.php”. Most hozzon létre egy SQL-lekérdezés, ahol minden adat kiolvassuk a táblából danger_connect potenciálisan veszélyes vegyületek. Ezután el kell indítani ezt a lekérdezést az adatbázisban, és megkapod az eredményt. Továbbá annak érdekében, hogy kimeneti HTML-dokumentumot már épül, szükséges meghatározni a számot kapta az adatbázisból sorok és oszlopok. Ezt használja a funkciót kifejezetten azt. mysql_numrows függvény visszaadja a sorok számát a kapott eredmény az adatbázisból. mysql_numfields függvény mezők száma, vagyis az oszlopok a kapott eredmény az adatbázisból. A kód listán látható 12.

A kód lista 13 kimenetek tabletták, a kapott adatokat az adatbázisból:

két egymásba „a” hurok használata itt, amely szúrópróbaszerűen adatait az eredményt mysql_result funkciók és kimenet a „echo” funkciót. A megjelenített oldal így fog kinézni összhangban a 8. ábra.

Ezután csukja be a kapcsolatot a MySQL és kezelni azt az esetet, amikor a változó „látni” nincs telepítve, így ebben az esetben a tér helyett az asztalra.

8. ábra: A kimenet a lekérdezés eredménye keresztül beágyazott hurok.

Tekintsük az utolsó autorized.php fájlt, amely megvalósítja a funkció a felhasználó személyes oldal. Ez egy hagyományos HTML-dokumentumot beilleszteni php-kódot. A kód listán látható 14.

Itt az összes funkció visszavonását nagy, vörös betűkkel a felhasználó nevét a köszöntés. Abban az esetben, számos valós felhasználói erőforrás megfelelő lenne létrehozni az adatbázis táblákat személyes adatok tárolására minden felhasználó számára, és a „pull” a levezetés az oldal összpontosító kapott a globális array ($ _GET [ „user”]) felhasználóneveddel, ezek végrehajtására funkcióinak fájlba.

2. Felhasználói kézikönyv

Használati útmutató ebben az esetben nagyon egyszerű, t. Hogy. A funkciókat hajtják végre automatikusan, aktív részvétele nélkül a felhasználó. Ajánlások célja a rendszergazda csak. Elosztjuk az a rendszer használatát a lépcsőn, és úgy vélik, ezek egymás után.

2. lépés Írja be a felhasználónevét és jelszavát, ábra szerinti 11.

11. ábra: Adja meg felhasználónevét és jelszavát.

3. lépés: Mi esik a rendszergazda oldal 12. ábra szerinti.

12. ábra: Az oldal adminisztrátora információt tartalmaz.

13. ábra: A támadási kísérletekre vonatkozó információk megjelenítése.

Ebben a kurzusban megoldódnak a védett objektumok elleni támadások rögzítésére irányuló program kidolgozásának feladata.

A fentiek alapján beszélhetünk a tanfolyam céljainak sikeres megvalósításáról.

A használt irodalomjegyzék

// A HTML címkék törlési funkcióinak kezelése (a lehetőség kizárása érdekében

// (kizárni a Scriptek írásának lehetőségét a Perl-en).

// Csatlakozzon az adatbázishoz

mysql_connect ($ dbhost, $ dbadmin, $ dbpass) vagy die ("ERROR" .mysql_errno (). "" .mysql_error ());

mysql_select_db ($ dbname) vagy die ("ERROR" .mysql_errno (). "" .mysql_error (). "\ n");

// Ellenőrizze az IP jelenlétét a vezérlő táblában

$ sql_exist_ctrl = "válassza a num_logon parancsot a log_control-ből, ahol ip = '". $ ip.' '";

$ res = mysql_query ($ sql_exist_ctrl) vagy die ("ERROR" .mysql_errno (). "" .mysql_error (). "\ n");

ha ($ sorok == 0) // ha az ip nincs írva

// Helyezzen be egy új IP-t az ellenőrző listába

$ sql_begin_ctrl = "beillesztés a log_control set time = '" $ timevisit. "', ip = '". $ ip. "', num_logon =". $ i;

mysql_query ($ sql_begin_ctrl) vagy die ("ERROR" .mysql_errno (). "" .mysql_error (). "\ n");

else // ha ip már létezik a táblában

// ellenőrizze a bejelentkezési jelszó pár érvényességét

$ sql_autoriz = "válassza ki azon felhasználókat, ahol user = '. $ user.' 'és pass ='". $ pass. "'";

$ res = mysql_query ($ sql_autoriz) vagy die ("ERROR" .mysql_errno (). "" .mysql_error (). "\ n");

ha ($ sorok> 0) // ha a bejelentkezési jelszó helyes

// rekordok törlése a számláló táblából

$ sql_end_ctrl = "törölje a log_control-ből, ahol ip = '". $ ip. "'";

else // HA a bejelentkezési jelszó helytelen

$ i ++; // növelje meg a kísérletet 1-gyel

$ sql_up2i_ctrl = "update log_control set num_logon =". $ i. "ahol ip = '". $ ip. "'";

// set. a kísérleti szám új értéke a vezérlő táblában

mysql_query ($ sql_up2i_ctrl) vagy die ("ERROR" .mysql_errno (). "" .mysql_error (). "\ n");

ha (($ i% 3) == 0) // ha a kísérlet száma 3m többszöröse

$ sql_danger_connect = "írja be a dangerous_connect set time =" "$ timevisit." ', ip =' ". $ ip." '";

mysql_query ($ sql_danger_connect) vagy die ("ERROR" .mysql_errno (). "" .mysql_error (). "\ n");

// paraméter, amely jelzi a felhasználó sikertelen hitelesítését.

echo "HIBA: nem állított változó Go!";

Olyan program, amely a védett objektum megtámadására irányuló kísérletekként azonosítja a naplófájlokat. PHP programozási nyelv. A MySQL táblázatok leírása. A program algoritmusa. Adja ki a lekérdezés eredményét egy beágyazott hurok révén.

Az archiváló munkájának jellemzői - egy számítógépes program, amely az archiválandó fájlba tömöríti az adatokat az egyszerűbb átvitel, a kompakt tárolás érdekében. Az archiválási folyamat jellemzői - fájlok írása és kicsomagolása - fájlok megnyitása.

A program funkcionális jellemzői szöveges fájlok formázására, interfészének és adatainak követelményeire. A rendszerösszetevők interakciójának sémája, a végrehajtási környezet kiválasztása és az algoritmusok szoftvertelepítése. A program minőségének tesztelése és értékelése.

Olyan program összeállítása, amely aritmetikai műveletet hajt végre pozitív számokon a megadott x, y értékek és az akciószám tekintetében. A program algoritmusa és kódja. Tesztkészletek lefolytatása. A program tesztelése és eredménye.

A wav és mp3 fájlformátumok jellemzői. Építési felhasználási eset diagramok, grafikus felület és alkalmazásarchitektúra kialakítása. Algoritmusok fejlesztése a programhoz: TrimWavFile, TrimMp3, ChangeVolume, speedUpX1_2, speedDownX1_2.

A program jellemzői a VBA nyelven, amely bemutatja az eredeti adatokat, elvégzi a számításokat és megjeleníti az eredményeket a képernyőn. A változók leírása a programban, folyamatábra és működés algoritmusa. A program felsorolása. A bemeneti adatok leírása és a számítások eredményei.

Mátrix transzformáció adott szabályok szerint. A klasszikus algoritmusokon alapuló tömbök feldolgozásának módszere. Az algoritmus folyamatábra kidolgozása és leírása. A program, a munka képernyő és a hibakereső program felsorolása. Utasítás a program felhasználóinak.

A programozási nyelv Turbo Pascal jellemzőinek leírása. Közvetlen hozzáférésű fájlok létrehozására szolgáló program írása, amely bizonyos mezőkkel és korlátozásokkal rendelkező adatkészleteket is kezel. A keresőmotor vizsgálati oldala.

Az algoritmus egy program írásához, amely zenei fájlokat keres a C ++ programozási nyelvben az áruház elektronikus katalógusában. A konzol menüjének tervezése felhasználói interakció biztosítására a számítógéppel. A program tesztelése a fordítón.