Al-Punk
Still here
Siguria tek faqet shqiptare ne rrjet
Duke u nis nga nje postim i KHG me poshte dhe duke u nisur nga nje forum ku pashe qe nja 40 faqe shqiptare jane hackuar keto dy dite, po mendoj te shkruaj nja dy shenime per sigurine. (Per me teper qe dhe ne e kemi pesuar, dhe eksperienca fitohet nga historite e hidhura).
Po te shohim faqet qe e kane pesuar keto dy dite, do shihet qe shumica jane programim ne PHP e ndonje me e rralle ne ASP.
lista permban:
<div class="ubbcode-block"><div class="ubbcode-header">Quote:</div><div class="ubbcode-body"> United Jugoslavija Crew Hack Thread
Lista me poshte eshte marre nga nje forum ku nxjerrin njoftime ky grup hackuesish.
http://www.zone-h.org/component/option,c...oslavia%20Crew/
First day :
http://www.mete.gov.al/upload/reklama.php
http://www.dfishery.gov.al/pwned.html
http://www.stips-al.com/awstats/pwned.html
http://www.salillari.com/awstats/
http://www.ndialbania.org/awstats/
http://www.harryfultz.edu.al/kolegji/
http://www.shoqerialb.org/index.html
http://www.crca.org.al/awstats/
http://www.ebcl.al/index.html
http://www.dgca.gov.al/
http://www.planetservices4u.com/
http://www.gener2.al/webmail/
http://www.gadc-al.org/
http://www.pro-helvetia.org.al/awstats/
http://www.kresha-al.com/awstats/
http://www.tlas.org.al/
http://www.dogana.gov.al/
http://www.heiferalbania.org.al/webmail/
http://www.harrilena-al.com/awstats/
http://www.srfdevelopments.com/awstats/
http://www.bek-bank.com/data/index.html
http://www.eye.al/index.php?pg=problemet&id=102
http://www.balkanchronicle.com/
http://www.soundstrike.org/system/
http://www.falkom.info/
http://www.albaniatrip.com/
http://www.navy.mil.al/doc/
http://www.air.mil.al/doc/
http://www.jfc.mil.al/doc/
http://www.tradoc.mil.al/doc/
http://www.gs.mil.al/
http://www.aaf.mil.al/
http://www.kdc-kosova.org/
http://www.shssh.gov.al/subindex.php?faqe=news&id=2
http://www.akkp.gov.al/
http://www.termoimpianti-al.com/awstats/
Second day :
http://www.fshsh.org/lajmi.php?id=33
http://www.albaniantourism.com/
http://www.bujarleskaj.com/
http://www.cooperationaid.org/
http://www.albaniaprestige.com/
http://www.albanianchildren.org/
http://www.albanianarmy.5forum.biz/index.htm
http://www171.pair.com/fbcwa/
http://www.probast.com/
http://www.shqiptv.info/
http://www.albglitters.info/
http://hotel-palma.com/kryesore.aspx?gjuha=1
http://www.tlas.org.al/
http://www.mbkalbania.com/kryesore.aspx?gjuha=2
http://www.tarmacstudios.org/
http://www.ognom-space.org/
http://shock-nm.com/
3rd day :
http://goal24.net/
http://www.albania-sport.com/
http://albtrainfirms.com/start.php?idf=10
http://www.nobel-al.com/prima.php?l=a
UPDATE 22.08
http://www.algogle.info/
http://www.qarkulezhe.gov.al/
http://www.ora-news.com
http://festajone.com/home/
http://www.macbaen.com/index.php
http://www.almgaard.dk/
http://www.arabianparkhoteldubai.com/aphweb/
http://endustrial.net/
http://www.dyaushsystems.com/
http://www.pakcric.com/
http://www.alhakim.se/
Update 23.08
http://www.crca.org.al/
http://electromagic-al.com/default.aspx?gjuha=2
http://uccial.gov.al/
</div></div>
e ca te tjera...
Disa nga faqet jane rregulluar menjehere nga zhvilluesit e tyre dhe kjo eshte gje shume e mire.
Problemet jane ne 100% te ketyre rasteve ne SQL Injection.
SQL Injection per ata qe nuk e kane hashur eshte vendosja e argumentave SQL ne variablat Input te perdoruesve.
Te gjitha faqet dinamike, marrin nepermjet formave (POST) apo nepermjet URLve (GET) variabla qe i kalojne nje sintakse SQL per t'u ekzektuar nga Sistemi i Manaxhimit te Databazes (DBMS).
Rastet me te pakujdesshme jane kalimi i variablave nga metoda GET. Po te verehet ne menune adresa te browserit, do shihni dicka si:
http://www.albforumi.com/ubb/ubbthreads.php?ubb=newpost&Board=12
Praktikisht ne kete cast forumit i kalohen dy variabla,
Variabli 'ubb' me vleren 'newpost' dhe variabli 'Board' me vleren '12'. Nese variablat nuk kontrollohen, nje person me disa njohuri nga SQL Injection, mund te shtonte nje sintakse te tipit:
/?Board=-1+union+all+select+1,2,convert(concat_ws(emri,fjalekalimi)+using+utf8),4,5+from+administratoret--
qe ne castin e afishimit te rrezultatit te mesiperm do shfaqte dhe fjalekalimin nga tabela administratoret e DB.
Personi duhet te dije pak a shume dhe strukturen e tabelave te sistemit.
Per te mos u zgjatur, eshte thene e rithene disa here qe cdo variable qe vjen publik duhet filtruar ne menyra te ndryshme.
Sugjerime:
1. Perdorimi i DB me te pakten 2 nivele perdoruesish. Scriptet publike te kene nje UserDB qe ka vetem te drejta leximi. Scripti i Administrimit te ruhet mire ne accesim dhe te perdor nje tjeter perdorues DB qe ka dhe te drejta shkrimi.
2. Te perdoren funksionet e PHP per pastrimin e sintakses se padeshiruar. (Metoda me e vjeter).
funksioni PHP quotemeta:
Pastron nga karakteret: . \ + * ? [ ^ ] ( $ )
Funksioni PHP addslashes -
Pastron : thonjeza teke ('), thonjeza dyshe ("), backslash (\) dhe vlera NUL.
Funksioni PHP htmlspecialchars (perdoret per te shmangur XSS) -
Konverton
'&' (ampersand) ne'&'
'"' (double quote) ne'"' kur ENT_NOQUOTES nuk eshte percaktuar.
''' (single quote) ne''' kur ENT_NOQUOTES nuk eshte percaktuar.
'<' (less than) ne'<'
'>' (greater than) ne'>'
FUnksioni PHP strip_tags:
pastron karakteret e HTML <>.
Funksionet me siper mund te perdoren te kombinuar per te shmangur problemet e leximit te variablave (P.S Nuk po permend magic_quotes_gpc pasi nuk eshte e sugjeruar dhe nuk do jete me pjese e PHP pas PHP6).
3.Te perdoren filtrat e PHP http://us.php.net/manual/en/intro.filter.php ose Filtrat e Zend_Framework. (klasa Zend_Filter)
Nje shembull nga ZF eshte si me poshte:
<div class="ubbcode-block"><div class="ubbcode-header">Quote:</div><div class="ubbcode-body">// Provides filter chaining capability
require_once 'Zend/Filter.php';
// Filters needed for the example
require_once 'Zend/Filter/Alpha.php';
require_once 'Zend/Filter/StringToLower.php';
// Create a filter chain and add filters to the chain
$filterChain = new Zend_Filter();
$filterChain->addFilter(new Zend_Filter_Alpha())
->addFilter(new Zend_Filter_StringToLower());
// Filter the username
$username = $filterChain->filter($_POST['username']);
</div></div>
4. Ndoshta dhe menyra me e thjeshte, por cuditerisht me pak e perdorur, perdorimi i funksionit te PHP mysql_real_escape_string.
5.Funksioni mysql_error() perdoret vetem gjate fazes se zhvillimit dhe nuk duhet lene ne faqet qe jane aktive ne internet. (po ashtu dhe direktiva display_errors duhet te jete off ne Php.ini apo ne konfigurimin specifik te nje domaini {.htaccess, apo vhost.conf}
Kjo eshte pak a shume per SQL Injection, ndoshta pas komenteve te personave te tjere qe kane eksperience ne kete fushe do e publikojme me vone.
Shume e rendesishme, nese keni access ne php.ini te serverit, gjithmone allow_url_fopen = off per te qene te sigurte (Keshille e Kelit kur patem njehere probleme me AF)
Jam i sigurte qe sikur ti kishim patur ne mendje keto gjera ne castin e zhvillimit te siteve me siper, nuk do kishim gazetare qe fryjne keto gjera dhe shpikin dhe karikojne luftera virtuale-banale kosovare-serbe.
Duke u nis nga nje postim i KHG me poshte dhe duke u nisur nga nje forum ku pashe qe nja 40 faqe shqiptare jane hackuar keto dy dite, po mendoj te shkruaj nja dy shenime per sigurine. (Per me teper qe dhe ne e kemi pesuar, dhe eksperienca fitohet nga historite e hidhura).
Po te shohim faqet qe e kane pesuar keto dy dite, do shihet qe shumica jane programim ne PHP e ndonje me e rralle ne ASP.
lista permban:
<div class="ubbcode-block"><div class="ubbcode-header">Quote:</div><div class="ubbcode-body"> United Jugoslavija Crew Hack Thread
Lista me poshte eshte marre nga nje forum ku nxjerrin njoftime ky grup hackuesish.
http://www.zone-h.org/component/option,c...oslavia%20Crew/
First day :
http://www.mete.gov.al/upload/reklama.php
http://www.dfishery.gov.al/pwned.html
http://www.stips-al.com/awstats/pwned.html
http://www.salillari.com/awstats/
http://www.ndialbania.org/awstats/
http://www.harryfultz.edu.al/kolegji/
http://www.shoqerialb.org/index.html
http://www.crca.org.al/awstats/
http://www.ebcl.al/index.html
http://www.dgca.gov.al/
http://www.planetservices4u.com/
http://www.gener2.al/webmail/
http://www.gadc-al.org/
http://www.pro-helvetia.org.al/awstats/
http://www.kresha-al.com/awstats/
http://www.tlas.org.al/
http://www.dogana.gov.al/
http://www.heiferalbania.org.al/webmail/
http://www.harrilena-al.com/awstats/
http://www.srfdevelopments.com/awstats/
http://www.bek-bank.com/data/index.html
http://www.eye.al/index.php?pg=problemet&id=102
http://www.balkanchronicle.com/
http://www.soundstrike.org/system/
http://www.falkom.info/
http://www.albaniatrip.com/
http://www.navy.mil.al/doc/
http://www.air.mil.al/doc/
http://www.jfc.mil.al/doc/
http://www.tradoc.mil.al/doc/
http://www.gs.mil.al/
http://www.aaf.mil.al/
http://www.kdc-kosova.org/
http://www.shssh.gov.al/subindex.php?faqe=news&id=2
http://www.akkp.gov.al/
http://www.termoimpianti-al.com/awstats/
Second day :
http://www.fshsh.org/lajmi.php?id=33
http://www.albaniantourism.com/
http://www.bujarleskaj.com/
http://www.cooperationaid.org/
http://www.albaniaprestige.com/
http://www.albanianchildren.org/
http://www.albanianarmy.5forum.biz/index.htm
http://www171.pair.com/fbcwa/
http://www.probast.com/
http://www.shqiptv.info/
http://www.albglitters.info/
http://hotel-palma.com/kryesore.aspx?gjuha=1
http://www.tlas.org.al/
http://www.mbkalbania.com/kryesore.aspx?gjuha=2
http://www.tarmacstudios.org/
http://www.ognom-space.org/
http://shock-nm.com/
3rd day :
http://goal24.net/
http://www.albania-sport.com/
http://albtrainfirms.com/start.php?idf=10
http://www.nobel-al.com/prima.php?l=a
UPDATE 22.08
http://www.algogle.info/
http://www.qarkulezhe.gov.al/
http://www.ora-news.com
http://festajone.com/home/
http://www.macbaen.com/index.php
http://www.almgaard.dk/
http://www.arabianparkhoteldubai.com/aphweb/
http://endustrial.net/
http://www.dyaushsystems.com/
http://www.pakcric.com/
http://www.alhakim.se/
Update 23.08
http://www.crca.org.al/
http://electromagic-al.com/default.aspx?gjuha=2
http://uccial.gov.al/
</div></div>
e ca te tjera...
Disa nga faqet jane rregulluar menjehere nga zhvilluesit e tyre dhe kjo eshte gje shume e mire.
Problemet jane ne 100% te ketyre rasteve ne SQL Injection.
SQL Injection per ata qe nuk e kane hashur eshte vendosja e argumentave SQL ne variablat Input te perdoruesve.
Te gjitha faqet dinamike, marrin nepermjet formave (POST) apo nepermjet URLve (GET) variabla qe i kalojne nje sintakse SQL per t'u ekzektuar nga Sistemi i Manaxhimit te Databazes (DBMS).
Rastet me te pakujdesshme jane kalimi i variablave nga metoda GET. Po te verehet ne menune adresa te browserit, do shihni dicka si:
http://www.albforumi.com/ubb/ubbthreads.php?ubb=newpost&Board=12
Praktikisht ne kete cast forumit i kalohen dy variabla,
Variabli 'ubb' me vleren 'newpost' dhe variabli 'Board' me vleren '12'. Nese variablat nuk kontrollohen, nje person me disa njohuri nga SQL Injection, mund te shtonte nje sintakse te tipit:
/?Board=-1+union+all+select+1,2,convert(concat_ws(emri,fjalekalimi)+using+utf8),4,5+from+administratoret--
qe ne castin e afishimit te rrezultatit te mesiperm do shfaqte dhe fjalekalimin nga tabela administratoret e DB.
Personi duhet te dije pak a shume dhe strukturen e tabelave te sistemit.
Per te mos u zgjatur, eshte thene e rithene disa here qe cdo variable qe vjen publik duhet filtruar ne menyra te ndryshme.
Sugjerime:
1. Perdorimi i DB me te pakten 2 nivele perdoruesish. Scriptet publike te kene nje UserDB qe ka vetem te drejta leximi. Scripti i Administrimit te ruhet mire ne accesim dhe te perdor nje tjeter perdorues DB qe ka dhe te drejta shkrimi.
2. Te perdoren funksionet e PHP per pastrimin e sintakses se padeshiruar. (Metoda me e vjeter).
funksioni PHP quotemeta:
Pastron nga karakteret: . \ + * ? [ ^ ] ( $ )
Funksioni PHP addslashes -
Pastron : thonjeza teke ('), thonjeza dyshe ("), backslash (\) dhe vlera NUL.
Funksioni PHP htmlspecialchars (perdoret per te shmangur XSS) -
Konverton
'&' (ampersand) ne'&'
'"' (double quote) ne'"' kur ENT_NOQUOTES nuk eshte percaktuar.
''' (single quote) ne''' kur ENT_NOQUOTES nuk eshte percaktuar.
'<' (less than) ne'<'
'>' (greater than) ne'>'
FUnksioni PHP strip_tags:
pastron karakteret e HTML <>.
Funksionet me siper mund te perdoren te kombinuar per te shmangur problemet e leximit te variablave (P.S Nuk po permend magic_quotes_gpc pasi nuk eshte e sugjeruar dhe nuk do jete me pjese e PHP pas PHP6).
3.Te perdoren filtrat e PHP http://us.php.net/manual/en/intro.filter.php ose Filtrat e Zend_Framework. (klasa Zend_Filter)
Nje shembull nga ZF eshte si me poshte:
<div class="ubbcode-block"><div class="ubbcode-header">Quote:</div><div class="ubbcode-body">// Provides filter chaining capability
require_once 'Zend/Filter.php';
// Filters needed for the example
require_once 'Zend/Filter/Alpha.php';
require_once 'Zend/Filter/StringToLower.php';
// Create a filter chain and add filters to the chain
$filterChain = new Zend_Filter();
$filterChain->addFilter(new Zend_Filter_Alpha())
->addFilter(new Zend_Filter_StringToLower());
// Filter the username
$username = $filterChain->filter($_POST['username']);
</div></div>
4. Ndoshta dhe menyra me e thjeshte, por cuditerisht me pak e perdorur, perdorimi i funksionit te PHP mysql_real_escape_string.
5.Funksioni mysql_error() perdoret vetem gjate fazes se zhvillimit dhe nuk duhet lene ne faqet qe jane aktive ne internet. (po ashtu dhe direktiva display_errors duhet te jete off ne Php.ini apo ne konfigurimin specifik te nje domaini {.htaccess, apo vhost.conf}
Kjo eshte pak a shume per SQL Injection, ndoshta pas komenteve te personave te tjere qe kane eksperience ne kete fushe do e publikojme me vone.
Shume e rendesishme, nese keni access ne php.ini te serverit, gjithmone allow_url_fopen = off per te qene te sigurte (Keshille e Kelit kur patem njehere probleme me AF)
Jam i sigurte qe sikur ti kishim patur ne mendje keto gjera ne castin e zhvillimit te siteve me siper, nuk do kishim gazetare qe fryjne keto gjera dhe shpikin dhe karikojne luftera virtuale-banale kosovare-serbe.