PHP injection.

Vývojová prostředí, aplikace, skripty, http://www... síťové programy, internet, sdílení...
Odpovědět
Woyta
Středně pokročilý
Středně pokročilý
Uživatelský avatar
Registrován: 06. led 2004
Bydliště: Hořice

PHP injection.

Příspěvek od Woyta »

Na stranky se mi podival hacker (opet) nastesti jeden z ech hodnejsich.
Tyto stranky je potreba zabezpecit proti PHP injection. Misto <b><? include("$page"); ?></b> se da pouzit napr. <b>if($page==...)include(...); elseif($page==...)include...</b></body>
Za ty roky co jsem mimo skolu si uz z programovani PHP moc nepamatuju a tapu co mel na mysli. Otazka zni jak poupravit kod stranek?
AMD Ryzen 7 5800X, XFX Radeon RX 7900 GRE, Asus ROG STRIX B550-A Gaming, 2x8GB Corsair Vengance LED 3200mhz, 2x8GB G.SkillRGB 3200mhz, 1TB SSD Patriot Viper VP4300, 2TB1TB SSD Samsung 970 EVO, 1TB SSD Samsung 840 EVO, 3TB Western Digital, 4TB Western Digital,Creative Sound Blaster Z, Seasonic Focus+ 650W, 31,5" MVA 4k LCD Samsung , myš Logitech G602, klávesnice Tesoro Colada, volant Logitech G25

Intel C2Q Q9400@3,3ghz, Saphire RX 550, DFI Blod Iron P35, 4x2GB G. Skill PI Series 1066mhz, 640GB Seagate,Creative Sound Blaster Audigy, Seasonic S12 550W

It is better to live dangerously for 34 years than to be bored for 84 years. (Adelaide Siffert)
sheriff.wiggum
Začátečník
Začátečník
Uživatelský avatar
Registrován: 08. dub 2005
Bydliště: Skotsko/Ceska republika
Kontaktovat uživatele:

Příspěvek od sheriff.wiggum »

no on mel na mysli ze mas definovane promenne tzn podminkou vzdy vyberes jen to co je definovane nebo hodis chybu.

tzn nadefinujes if ($ble == ble) { include('./ble.html'); } elseif ... else { include('404.html'); }

pripadne pouzij switch(zda se mi prehlednejsi).
Woyta
Středně pokročilý
Středně pokročilý
Uživatelský avatar
Registrován: 06. led 2004
Bydliště: Hořice

Příspěvek od Woyta »

THX. Neco podobnyho jsem mel na mysli. To bude docel dost. radku kodu navic :-)
AMD Ryzen 7 5800X, XFX Radeon RX 7900 GRE, Asus ROG STRIX B550-A Gaming, 2x8GB Corsair Vengance LED 3200mhz, 2x8GB G.SkillRGB 3200mhz, 1TB SSD Patriot Viper VP4300, 2TB1TB SSD Samsung 970 EVO, 1TB SSD Samsung 840 EVO, 3TB Western Digital, 4TB Western Digital,Creative Sound Blaster Z, Seasonic Focus+ 650W, 31,5" MVA 4k LCD Samsung , myš Logitech G602, klávesnice Tesoro Colada, volant Logitech G25

Intel C2Q Q9400@3,3ghz, Saphire RX 550, DFI Blod Iron P35, 4x2GB G. Skill PI Series 1066mhz, 640GB Seagate,Creative Sound Blaster Audigy, Seasonic S12 550W

It is better to live dangerously for 34 years than to be bored for 84 years. (Adelaide Siffert)
next_ghost
Začátečník
Začátečník
Registrován: 12. kvě 2005
Bydliště: Chomutov
Kontaktovat uživatele:

Příspěvek od next_ghost »

Moc kódu navíc bejt nemusí. Můžeš pro ty definice použít třeba asociativní pole.

Kód: Vybrat vše

$stranky = array(par1 => page1, par2 => page2, ...);
if(isset($stranky[$_GET['par']])) include($stranky[$_GET['par']]);
Axis
Začátečník
Začátečník
Registrován: 14. kvě 2004

Příspěvek od Axis »

Trošku o PHP Injection..
Spomínaný hosting s 44000 usermi je IC.CZ :(
Kvalita webhostingu u nas... aneb cURL [klapka] podruhe

Urcite to znate, kazda firma ci user si dava na webhosting svoji webovou prezentaci s tim domenim, ze je tam v bezpeci, ale ne kazdy hosting je na tom tak dobre. Bez php by webhosting nebyl asi ten pravy a at uz je php 4 nebo 5 dost rozsirene, stejne se obcas najde nekdo kdo na nejakou vychytavku, ktera neni na serveru zabezpecena prijde. A tak se stalo. Kdyz pred 2ma rokama vysel prvni cURL php exploit, zbudilo to dost otresu na webhostingech. Primitivni 5ti radkovy php kod a mohly jste si prohlidnout jakykoliv file na serveru. Kolem zacatku unora se nam podarilo ukoristit jednu novou verzi cURL php exploitu, tak sme se rozhodli ho testnut na ceskych hostingach, at uz free nebo nefree.

Funkce exploitu... Funkce je dost jednoducha dalo by se rict ze to je jakysi bypass pro 'open_basedir' (podobne tomu bylo tak i u stareho cURL).

Free webhosting hack...

Vybrali jsme 2 ceske free hostingy jeden dost znamy (z bezpecnostich duvodu nebudu uvadet nazvy spolecnosti) a druhy malinko min znamejsi ale stejne oblibeny. Vytvorili jsme si konto s krasnym indexem, vytvorily php file napsali exploit a co nevidime... Na jednom hostingu bezel exploit paradne a na druhem uz to meli zrejme fixle. Cesta nas vedla kam jinam nez k databazi useru, kterou jsme asi po 5 minutach ziskali. Tento super cesky webhosting nemel v databazi ani hashovane hesla coz bych hodnotil jako totalni neschopnost hostingu, prace admina kterej si mysli ze je buh, pro nas tim prace byla ulehcena. 6 MB databaze ktera obsahovala: uin webu, domenu, jmena, adresy, telefony, ruzne internetove kontakty hesla useru a quoty. Jenze nekde nastala chyba a hosting na bug prisel a tak vsem userum zmenil hesla a bug fixnul (asi po 1 tydnu). Pro priklad jsem vybral jeden radek z databaze:


INSERT INTO `users` VALUES (16934, 'hacker', 'Milan', 'Starý', 'Karlovy Vary', 'Majakovského 10', '36005',
'777586191', 'emerika@centrum.cz', 0, 'ok', 'normal', 1115565668, 'emerika');

Vidime ze domena je "hacker" a tento tajny hacker je "Milan Starý", Karlovy Vary, Majakovskeho 10, zanechal nam i telefoni cislo "777586191" i email "emerika@centrum.cz" a nasledne to nejdulezitejsi heslo "emerika". Jenze ted si asi reknete co s databazi v ktere jsou hesla, ktere uz jsou davno zmenene ?

Neni tomu tak... Rekl jsem si, ze bych mohl skusit, jestli si heslo zmenil do puvod stavu a zaroven jestli pouziva stejne "super" heslo i na mailu etc. Funguje zase vsude. Vidime, ze je to urcite skuseny hacker. No i kdyz jsem to nezkousel tak odhaduju ze 9 lidi z 10 si zmeni to heslo nove vygenerovane na to jejich stare. Databaze obsahuje 18 854 useru.

Tedka se vrhnem na neco vetsiho, myslim si ze hacknout placeny hosting, ktery je celkem dost znamy, je pekny ulovek !

Placeny hosting hack...

Zase nadesel cas pro novy cURL exploit a tak jelikoz jsme meli pristup k jenomu kontu na onom hostingu, tak jsme jej taky zkusili. Exploit behal skvele a tak i databaze tohoto hostingu se nam zjevila. Tato databaze byla o neco chudsi nez predesla ale i tak pekne. Obsahuje jen 3 informace ktere jsou domena, heslo (uz v hashi), a delka hesla. No databaze byla na svete, ale co s heslama v hashi ? Museli jsme najit patricny louskac hesel. Cracker se skompilil a prvni test bylo 7dmi mistne heslo. Nez jsem napocital do 5ti tak bylo heslo na svete. 8mi mistne heslo trvalo uz malinko dyl ale nejvetsi pocet tam byl aj tak 7 dmi mistnych. Tento hosting BUG fixnul za 14 dni od hacku, ale hesla v klidu nemenil, takze vsecky funguji stale. Z bezpec. duvodu jsem meno hostingu neuvadel, ani vypis z databaze. Databaze obsahuje 44 484 useru.

Chyby byla opravena na CVS, ale autori cURLu nebyli schopni priznat dalsi trapny bug, aby neztratily vernost useru.

khu @ dev . null
Woyta
Středně pokročilý
Středně pokročilý
Uživatelský avatar
Registrován: 06. led 2004
Bydliště: Hořice

Příspěvek od Woyta »

Pekny na IC jsem ted prechazel kvuli prostoru. Sve udaje jsem ale neuvadel.
Heslo mam cca 20 znaku ze vsech skupin.
To pole je pro me novinka.
Ja to vyresil takto:

Kód: Vybrat vše

<? switch ($page)
  {
//index linky
    case "base.php":
      include("$page");
      break;
    case "moding/index.php":
      include("$page");
      break;
....
    default:
      $page="404.php";
      include("$page");
  }
AMD Ryzen 7 5800X, XFX Radeon RX 7900 GRE, Asus ROG STRIX B550-A Gaming, 2x8GB Corsair Vengance LED 3200mhz, 2x8GB G.SkillRGB 3200mhz, 1TB SSD Patriot Viper VP4300, 2TB1TB SSD Samsung 970 EVO, 1TB SSD Samsung 840 EVO, 3TB Western Digital, 4TB Western Digital,Creative Sound Blaster Z, Seasonic Focus+ 650W, 31,5" MVA 4k LCD Samsung , myš Logitech G602, klávesnice Tesoro Colada, volant Logitech G25

Intel C2Q Q9400@3,3ghz, Saphire RX 550, DFI Blod Iron P35, 4x2GB G. Skill PI Series 1066mhz, 640GB Seagate,Creative Sound Blaster Audigy, Seasonic S12 550W

It is better to live dangerously for 34 years than to be bored for 84 years. (Adelaide Siffert)
Odpovědět

Zpět na „Programování a web“