Website Security !
Moderator: Moderatori
Website Security !
Ok, daca vreau sa fac un site si vreau sa "reziste" atacurilor de hackeri (cat mai mult) ce trebuie sa fac. De ce anume depinde securitatea site-ului ? Are legatura cu limbajul de programare (html, php, asp...) ? Cum pot proteja un site sau cum le fac nopti albe hackerilor/lamerilor/etc. ? Are legatura si cu Web Hosting-ul ? Dar daca vreau sa vand diverse obiecte pe site pot sa-l programez in html sau trebuie in alt limbaj ?
offtopic - pe cateva site-uri nu m-au lasat sa dau click dreapta. Imi aparea un Message Box ce continea de exemplu "www.xxxxxx.xx is copyright to xxxxxx." sau "You are not allowed to right click on this page ! All pictures are trademark of xxxxxx !" (nici n-am nevoie de right click/save picture as... cand stau 2-3 secunde cu mouse-ul pe o poza si apare o bara cu Save As.../Email/etc. - in fine). Cum pot sa fac si eu asta ? Mai era una, nu te lasa sa salvezi site-ul din File/Save As...". Cum pot sa pun si eu astea pe site-ul meu ? Are cineva vreun cod - parca era un cod intr-un fisier .css (nu sunt sigur daca era .css) care nu te lasa sa faci ce am scris eu mai sus.
offtopic - pe cateva site-uri nu m-au lasat sa dau click dreapta. Imi aparea un Message Box ce continea de exemplu "www.xxxxxx.xx is copyright to xxxxxx." sau "You are not allowed to right click on this page ! All pictures are trademark of xxxxxx !" (nici n-am nevoie de right click/save picture as... cand stau 2-3 secunde cu mouse-ul pe o poza si apare o bara cu Save As.../Email/etc. - in fine). Cum pot sa fac si eu asta ? Mai era una, nu te lasa sa salvezi site-ul din File/Save As...". Cum pot sa pun si eu astea pe site-ul meu ? Are cineva vreun cod - parca era un cod intr-un fisier .css (nu sunt sigur daca era .css) care nu te lasa sa faci ce am scris eu mai sus.
Last edited by Cradle on Wed Jul 28, 2004 1:58 am, edited 1 time in total.
- Dr. Voidberg
- Moderator
- Posts: 2718
- Joined: Tue Dec 24, 2002 1:17 pm
Ba are legatura si cu limbajul de programare. Niste scripturi facute la repezeala pot face ca un individ malitios sa execute comenzi shell pe server, sa-ti umple baza de date cu prostii, etc.
Uite doua exemple. Presupunem ca ai un guestbook care stocheaza in baza de date intrarile.
1) Daca folosesti GET la formularul de trimitere a comentariilor din guestbook cineva poate sa faca un script care sa ruleze de n ori http://situltau.ro/gbook.php?action=add ... riu=blabla
Rezultatul va fi o baza de date plina cu chestii d-astea.
Solutia aici e sa folosesti POST in loc de GET.
2) Daca bagi in baza de date exact ce scrie el in formular, fara sa prelucrezi textul poti avea surprize. Individul poate sa scrie ceva de genul:
sau chiar ceva de genul asta:
In momentul afisarii codul respectiv se executa.
Astea sunt doua exemple banale, gaurile posibile sunt mult mai multe.
Uite doua exemple. Presupunem ca ai un guestbook care stocheaza in baza de date intrarile.
1) Daca folosesti GET la formularul de trimitere a comentariilor din guestbook cineva poate sa faca un script care sa ruleze de n ori http://situltau.ro/gbook.php?action=add ... riu=blabla
Rezultatul va fi o baza de date plina cu chestii d-astea.
Solutia aici e sa folosesti POST in loc de GET.
2) Daca bagi in baza de date exact ce scrie el in formular, fara sa prelucrezi textul poti avea surprize. Individul poate sa scrie ceva de genul:
Code: Select all
<script>
alert("Te-am haxorit");
</script>
Code: Select all
<?php
shell_exec('rm -rf /');
?>
Astea sunt doua exemple banale, gaurile posibile sunt mult mai multe.
96 percent of Americans believe that Mr. T still pities the fool.
Radical dreamer
Radical dreamer
- Dr. Voidberg
- Moderator
- Posts: 2718
- Joined: Tue Dec 24, 2002 1:17 pm
Nu e chiar asa, daca aia au o varianta antica de ssh pe server de exemplu, poti sa ai scripturi de la NASA pe sit, in 5 minute ala trece de ssh si le rade / dezactiveaza.The_Beast wrote:Trebuie sa te contrazic ! serverul poate avea securitate=0 si tu sa ai un program d securitate instalat pt site si sa nu ai probleme!s|lent wrote:securitatea cred că nu depinde de siteul tău, ci de cât de sigur este serverul care ţi-l găzduieşte.
96 percent of Americans believe that Mr. T still pities the fool.
Radical dreamer
Radical dreamer
Securitatea unui site depinde de mai multe lucruri. Daca vrei tu, hai sa le luam pe rand.
1. Sistemul de operare folosit de server. Asa cum zicea Void, un exemplu este folosirea unor versiuni foarte vechi ssh. Este vorba de securitatea oricarui calculator in general in cazul asta.
2. Serverul folosit. Fiecare server are "gaurile" lui. De exemplu, in cazul Apache, exista, in versiunile mai vechi, posibilitatea de a lansa un atac tip buffer overflow prin trimiterea unor caractere suplimentare in cererea paginii. Dupa care, daca securiteatea serverului a fost compromisa, normal ca se poate lua de site-ul tau cum vrea.
3. Site-ul tau. Indiferent de limbajul de programare. Orice script CGI poate fi vulnerabil.
1. Sistemul de operare folosit de server. Asa cum zicea Void, un exemplu este folosirea unor versiuni foarte vechi ssh. Este vorba de securitatea oricarui calculator in general in cazul asta.
2. Serverul folosit. Fiecare server are "gaurile" lui. De exemplu, in cazul Apache, exista, in versiunile mai vechi, posibilitatea de a lansa un atac tip buffer overflow prin trimiterea unor caractere suplimentare in cererea paginii. Dupa care, daca securiteatea serverului a fost compromisa, normal ca se poate lua de site-ul tau cum vrea.
3. Site-ul tau. Indiferent de limbajul de programare. Orice script CGI poate fi vulnerabil.
eu zic ca in primul rand, haxorul trebuie sa stie codul sursa al programului de pe site-ul tau din 2 motive :
1. va vedea ce fisiere contin class / funtions : de care el are nevoie sa "recupereze" parolele de la baza de date ...
2. fisiere importante care contin parolele de la baza de date / ftp ( sunt module php care au parolele de ftp inscrise in ele ) / care nu sunt chmod-ate bine, pot lasa un haxor sa le citeasca ... avand ca rezultat ... compromiterea site-ului ...
1. va vedea ce fisiere contin class / funtions : de care el are nevoie sa "recupereze" parolele de la baza de date ...
2. fisiere importante care contin parolele de la baza de date / ftp ( sunt module php care au parolele de ftp inscrise in ele ) / care nu sunt chmod-ate bine, pot lasa un haxor sa le citeasca ... avand ca rezultat ... compromiterea site-ului ...
Doua lucruri m-au umplut neincetat de o isterie metafizica : un ceas care sta, si un ceas care umbla.
- Ady G Elber
- Posts: 321
- Joined: Thu Oct 31, 2002 2:00 am
Ca sa nu poata nimeni sa dea click-dreapta pe pagina ta introduci scriptul asta :
<script language="JavaScript">
<!--
var isNav4, isIE4
if (parseInt(navigator.appVersion.charAt(0)) >= 4) {
isNav4 = (navigator.appName == "Netscape") ? true : false
isIE4 = (navigator.appName.indexOf("Microsoft" != -1)) ? true : false
}
if (isNav4) {
document.captureEvents(Event.MOUSEDOWN);
}
function click(e) {
if (isNav4 && e.which != 1) {
alert ("Contents Copyrighted. Please contact Ady G Elber at adygelber@go.ro for more details.");
return false;
}
if (isNav4 && e.which == 1) {
return true;
}
if (isIE4 && event.button==2) {
alert("Contents Copyrighted. Please contact Ady G Elber at adygelber@go.ro for more details.")
return false;
}
return true;
}
document.onmousedown=click
//-->
</script>
Bineinteles ca vei modifica mesajul ....
<script language="JavaScript">
<!--
var isNav4, isIE4
if (parseInt(navigator.appVersion.charAt(0)) >= 4) {
isNav4 = (navigator.appName == "Netscape") ? true : false
isIE4 = (navigator.appName.indexOf("Microsoft" != -1)) ? true : false
}
if (isNav4) {
document.captureEvents(Event.MOUSEDOWN);
}
function click(e) {
if (isNav4 && e.which != 1) {
alert ("Contents Copyrighted. Please contact Ady G Elber at adygelber@go.ro for more details.");
return false;
}
if (isNav4 && e.which == 1) {
return true;
}
if (isIE4 && event.button==2) {
alert("Contents Copyrighted. Please contact Ady G Elber at adygelber@go.ro for more details.")
return false;
}
return true;
}
document.onmousedown=click
//-->
</script>
Bineinteles ca vei modifica mesajul ....
DigitalFeelings v2.2
Si eu tin sa te contrazic. Un script prost scris poate compromite securitatea site-ului, a bazei de date, etc.s|lent wrote:securitatea cred că nu depinde de siteul tău, ci de cât de sigur este serverul care ţi-l găzduieşte.
Spre exemplu, un script de login care nu este bine programat, poate fi crackuit prin SQL injection.
Query-urile la baza de date pot fi gadilate de un cunoscator in asa fel incat sa afiseze pe pagina informatii compromitatoare.
Un scritp care nu are implementate mecanisme de error handling, daca este "maltratat", poate da detalii despre locatiile si numele bazelor de date , utilizatori, etc.
Nu este obligatoriu sa stie codul sursa.Develz wrote:eu zic ca in primul rand, haxorul trebuie sa stie codul sursa al programului de pe site-ul tau din 2 motive :
1. va vedea ce fisiere contin class / funtions : de care el are nevoie sa "recupereze" parolele de la baza de date ...
2. fisiere importante care contin parolele de la baza de date / ftp ( sunt module php care au parolele de ftp inscrise in ele ) / care nu sunt chmod-ate bine, pot lasa un haxor sa le citeasca ... avand ca rezultat ... compromiterea site-ului ...
Pe de alta parte, un server cu permisiunile bine configurate nu va lasa haxorul sa downloadeze codul sursa ci il va executa.
Iar fisierele care contin parole, pot fi tinute in foldere care nu sunt accesibile de pe web

Pe scurt, sustin opiniile prezentate de Void si std: securitatea unui site este determinata de o combinatie de programare de calitate si o buna configurare a serverului (prin asta ma refer si la programul de server si la server ca sistem de operare).
Ar fi multe de discutat in acest domeniu..

- Dr. Voidberg
- Moderator
- Posts: 2718
- Joined: Tue Dec 24, 2002 1:17 pm
Dai disable Javascript sau folosesti o extensie ca asta si gata, right click.Ady G Elber wrote:Ca sa nu poata nimeni sa dea click-dreapta pe pagina ta introduci scriptul asta :

96 percent of Americans believe that Mr. T still pities the fool.
Radical dreamer
Radical dreamer
- Ady G Elber
- Posts: 321
- Joined: Thu Oct 31, 2002 2:00 am
Ok, OK, oricum nu l-am scris eu...mi l-a dat si mie un tip din Canada care se ocupa cu webdesign-ul. Eu nu stiu deloc JavaScript, mai iau si eu scripturi de pe net, dar oricum nu le folosesc....am ciudatenia mea: imi place ca tot ce apare pe o pagina de-a mea sa fie facut 100% de mine.
DigitalFeelings v2.2
- bloomfield
- Posts: 214
- Joined: Sat Sep 13, 2003 2:55 pm
Soluţia nu este de loc să foloseşti POST în loc de GET. Cineva suficient de isteţ poate face un script care să ruleze de n ori şi să facă requesturi POST/Void wrote: 1) Daca folosesti GET la formularul de trimitere a comentariilor din guestbook cineva poate sa faca un script care sa ruleze de n ori http://situltau.ro/gbook.php?action=add ... riu=blabla
Rezultatul va fi o baza de date plina cu chestii d-astea.
Solutia aici e sa folosesti POST in loc de GET.
O barmaniţă virtuală aş putea accepta
...dar o bere virtuală?? Niciodată!
...dar o bere virtuală?? Niciodată!
Securitate prog web
1) POST in loc de GET
2) cookies - ID-ul de sesiune nu trebe sa se transmita prin URL caci sesiunea poate fi acaparata
3) atentie la SQL injection pt username
4) Validare, validae, validare
5) altele
PS daca kair te intereseaza securitatea.... md5(parola) inainte de a o trimite.
2) cookies - ID-ul de sesiune nu trebe sa se transmita prin URL caci sesiunea poate fi acaparata
3) atentie la SQL injection pt username
4) Validare, validae, validare
5) altele
PS daca kair te intereseaza securitatea.... md5(parola) inainte de a o trimite.
Daka vrei si mai multa securitate decat SSL poti pune un control activX(sau un jscript, sau altceva - dupa preferinte) care sa semneze digital tot ce transmiti si sa verifici la server daca a venit de unde trebuia....(desi ar cam creste load-ul la verificari pentru orice date primite) (asta nu inseamna ca nu poti folosi si ssl).
Desi nu tine de securitatea website-ului poti pune la partea de logare si o poza cu text/numere (generata aleator) pe care sa il pui pe user sa o copieze intr-un textbox.... variatiuni pot sa exite pe tema asta destule.
Desi nu tine de securitatea website-ului poti pune la partea de logare si o poza cu text/numere (generata aleator) pe care sa il pui pe user sa o copieze intr-un textbox.... variatiuni pot sa exite pe tema asta destule.
- Dr. Voidberg
- Moderator
- Posts: 2718
- Joined: Tue Dec 24, 2002 1:17 pm
Buba cu un ActiveX este ca merge doar pe Internet Explorer.
96 percent of Americans believe that Mr. T still pities the fool.
Radical dreamer
Radical dreamer
Re: Securitate prog web
Asta în unele situaţii poate fi chiar deranjant. Atunci când introduci cu formularul date în baza de date, de acord, la autentificare iar, dar la o căutare. De exemplu aici nu pot da link pentru căutare pe forum ca de exemplu la google.qbic wrote:1) POST in loc de GET