Jump to content
Nytro

[RST] Mini Download CMS by Nytro

Recommended Posts

Posted
<?php

// ----------- Mini Download CMS ------------

// --------------- © Nytro 2008 ---------------

// --------- http://www.rstcenter.com ----------

?>

Download :

- http://rapidshare.com/files/115750755/Mini_Download_CMS.rar

Download Screenshots :

- http://rapidshare.com/files/115752393/Screenshots.rar

Screenshot :

snap0010xd9.jpg

Primul meu script , l-am facut pentru a participa la un concurs . E pentru download si are 3 categorii de download : muzica , software , video .

Facilitati :

- sistem de logare/inregistrare

- utilizatorii au un mic profil si un panou de control de unde pot modifica profilul si parola

- un simplu motor de cautare

- administratorii pot adauga/edita/sterge categorii ale celor 3 categorii de download

- administratorii pot edita useri , ii pot gasi dupa ID sau dupa nume

- administratorii pot adauga/edita/sterge descarcari ale categoriilor create de ei

- o lista cu membri

- o lista cu statistici

- descarcarile sunt impartite in pagini , 5 pe pagina

Avantajul ? Toate se fac direct de pe site , fara a fi nevoie de modificare unor fisiere etc.

Fisiere :

- /images/ - Folderul in care se afla cateva imagini , grafica e foarte simpla , a durat 5 minute sa o fac , sunt praf in Photoshop .

- admin.php - Tot ce tine de panoul administratorului : editare categorii , useri , downloads ...

- cauta.php - Functia de cautare

- config.php - Fisierul de configurare : datele de la baza de date

- cpanel.php - Panoul userului

- descarcari.php - Tot ce tine de descarcari

- despre.php - O simpla pagina cu cateva informatii

- eroare.php - Pagina de erori : in caz de eroare , esti redirectionat pe aceasta pagina unde vezi ce eroare ai intampinat

- index.php - Pagina de index : aparent ea contine totul ( daca te uiti la URL ) de fapt include pagini in functie de ?pagina= .

- inregistrare.php - Pagina de inregistrare

- instalare.php - Fisierul de instalare

- logare.php - Fisierul de logare

- logout.php - Fisierul pentru delogare

- membri.php - Lista membrilor

- menu2.php - Meniul cu descarcarile

- menu.php - Meniul userului ( daca e logat ) sau pagina de logare daca nu e logat

- profil.php - Fisierul pentru profilul userilor

- start.php - Simpla pagina de start

- statistici.php - Pagina pentru statistici

Instalare :

1) Deschideti config.php si completati datele de la baza de date

$db_host="localhost";

$db_user="root";

$db_password="pass";

$db_name="name";

2) Rulati instalare.php pentru crearea tabelelor .

3) Asta e tot

Software folosit :

- Notepad++ : 90% - Scriptul

- Adobe Photoshop : 5% - "Grafica"

- Web Page Maker : 5% - Asezarea codului in grafica

Tehnologii folosite :

- PHP

- MySql

- HTML - mai putin

Linii de cod : 1300 cu tot cu linii goale , aproximativ 1000 fara .

Multumiri Katmai pentru ajutor si pentru ca si-a batut capul cu mine .

Astept probleme , erori si in principal vulnerabilitati . Il instalez pe un host free si revin cu un edit .

Posted

Instalare :

1) Deschideti config.php si completati datele de la baza de date

$db_host="localhost";

$db_user="root";

$db_password="pass";

$db_name="name";

2) Rulati instalare.php pentru crearea tabelelor .

3) Asta e tot

Chiar esti batut in cap .

Posted

La prima vedere ,fara a instala :

1 . Ti parolele in plain text in baza de date . Mai bine sa faci un hash ceva .

2 . La creearea cookie-urilor nu faci un session id ceva cum ii la phpbb 'sid'

astfel ii de ajuns sa editez Permisiune = 3 si am drepturi de admin.

Posted

Parolele nu le criptez pentru a putea fi vazute de administrator .

A , am uitat sa spun de cookie-uri . Da , daca setezi permisiunea in 3 ai drepturi de admin . Am vrut sa folosesc sesiuni , dar am avut probleme si am ales cookie-uri . Dupa ce am terminat scrpitul mi-am dat seama ... :)

Posted

Ai niste XSS-uri. Nimic grav pentru ca nu se poate exploata decat in situatii foarte speciale dar oricum.

Folosesti $_COOKIE['nume'] fara sanitizare in mai multe locuri.

De ex. in index.php linia 77

print "Bine ai venit [b]" . $_COOKIE['nume'] . "[/b]

";

minidownloadcmsyk9.th.png

Posted

Ah, si am mai gasit o problema. Asta e cam nashpa.

Orice utilizator poate sa modifice profilele la toti ceilalti ulitizatori, chiar si la administator. Poti sa modifici nume, mail, status.

Asta din cauza ca id-ul utlizatorului este stocat in cookie si eu pot sa setez ce id vreau.

Fisierul cpanel.php, linia 30

  $mail=secure($_POST['mail']);
$status=secure($_POST['status']);
if(empty($nume) OR empty($mail) OR empty($status)) header("Location: eroare.php?nume=camp_necompletat");
$query="UPDATE vl_utilizatori SET nume='".$nume."',mail='".$mail."',status='".$status."' WHERE id='".$_COOKIE['id']."'";
$int=mysql_query($query);

De ex. aici aveam id-ul 167, si am pus 1 si am modificat datele admin-ului.

minidownloadcms2iz2.th.png

Morala este sa nu salvezi nimic important in cookie.

Cookie-ul se foloseste doar ca identificator de sesiune.

Stochezi totul in sesiune.

Posted

Am spus ca are mari probleme cu cookie . Nu e nevoie sa schimbi id in 1 , schimba permiiune in 3 si ai drepturi full de admin .

inregistrare.php : $nume=secure($_POST['nume']);

logare.php : setcookie('nume',secure($date['nume']),time()+3600);

Si am uitat de "Bine ai venit ... " ca il mai "securizam" o data

Mersi :)

Posted
E securizat inainte de a fi introdus in baza de date :P

Nu conteaza, poate fi exploatat (ca si multe altele care se bazeaza tot pe cookie)

Oricum ii plin de bug-uri: pe langa faptul ca pot fi admin doar pentru ca vreau, exista o groaza de XSS-uri si SQLI-uri. Iti las placerea sa le descoperi, pentru un guru ca tine cred ca 5 minute o sa fie de ajuns.

Apropo, asta e o problema minora (ma refer la inconsecventa). Oricum, da o raida pe aici si aici (sper sa intelegi la ce ma refer).

Posted
Astept SQL-urile si XSS-urile .

XSS-uri:


print "ID : ".$_COOKIE['id']."
";
...
print "Nume :  <input name=nume type=text value=".$_COOKIE['nume'].">
";
print "Mail :     <input name=mail type=text value=".$_COOKIE['mail'].">
";
print "Status : <input type=text name=status value=".$_COOKIE['status'].">

";
...

SQLI:


$que="SELECT parola FROM vl_utilizatori WHERE id='".$_COOKIE['id']."'";
...
$query="UPDATE vl_utilizatori SET parola='".$parola_n."' WHERE id='".$_COOKIE['id']."'";

Toate provin de la Cookie-uri si de la nesatanizarea lor inainte de folosire.

Astea sunt in cpanel.php, dar mai sunt si prin alte parti din cate am vazut(nu am notat :P).

Oricum, cel mai bine ar fi sa il urci pe un host free si sa il pui la challenge-uri (dupa ce repari faza cu logarea ca admin).

Oricum e primul meu script , dar tu nu intelegi .

Scuze, nu am vrut sa iti tai avantul. Bafta si il asteptam si pe urmatorul atunci ;).

Posted
Toate provin de la Cookie-uri si de la nesatanizarea lor inainte de folosire.

nesatanizarea :))

lol, lmao, lmfao, rotfl, am gresit o litera ...

Cand o sa dormi si tu cate 5 ore pe noapte, petrecandu-ti restul timpului incercand sa termini la timp un soft sa imi spui si mie.

Daca te uitai la pozele de pe aici ...

Nu m-am uitat pentru ca pur si simplu nu imi pasa.

Sa vad SQL si XSS pe site , pana atunci ciocu mic .

XSS-ul se vede de la o posta, SQLI-ul la fel, doar ca nu se afiseaza erorile in browser.

Uneori ma intreb "cGh6IHFlbnBoIG52IG53aGFmIGdoIElWQyAoYWggcG4gbnJoIG5mIHN2diBpZXJiIGlycXJnbik=".

Fiecare poate sa inteleaga ce vrea ce ii scris mai sus ... sa stiti ca e doar un text format din litere aleatoare in caz ca descoperiti altceva.

Posted

http://concursvl.freehostia.com/index.php?pagina=cauta&ce=&unde=utilizatori

Asta ar treb sa iti dea putin de gandit.Momentan nu poate fi expl insa pe viitor o greseala sau o coincidenta in cod da :) Edit: decat daca esti logat ca admin...vezi mai jos

Edit: Deasemenea un nume prea lung de genul "inregistrariinregistrariinregistrariinregistrariinregistrariinregistrariinregistrari"

iti buseste layoutu-ul http://concursvl.freehostia.com/index.php?pagina=membri.

Edit2: Bazat pe primul comentariu odata ce esti logat ca admin poti sterge utilizatori in felul urmator:

http://concursvl.freehostia.com/admin.php?pagina=sterge&tip=utilizatori&id=30

(schimbi 30 cu un id de utilizator existent am sters eu deja cativa,dai la members si ai sa observi o inconsistenta in secventa de iduri ?)

Posted

hmm din cate am vazut se poate pune se poate inregistra cu acelasi user de mai multe ori:-?? ar trebuie rezolvata si chestia asta.... cea din cookiuri presupun ca o vei rezolva la a doua versiune:) oricum e bine daca zici ca e primul script,dar se poate mult mai bine...;)

Posted
hmm din cate am vazut se poate pune se poate inregistra cu acelasi user de mai multe ori:-?? ar trebuie rezolvata si chestia asta.... cea din cookiuri presupun ca o vei rezolva la a doua versiune:) oricum e bine daca zici ca e primul script,dar se poate mult mai bine...;)

Problema cu inregistratul o rezolvasem , dar scriptul il aveam prin 3 foldere din pc , si am modificat intr-unul , apoi am inceput sa modific in altul ... Cookie sigur rezolv , deci la concurs acest lucru voiam sa il dau exemplu , sa spun de problemele cookie-urilor ... O sa rezolv mai multe in al doilea script .

shinnok :

Am facut mai multe pagini in graba , ca sa fie . Membri e una din ele , stiu ca arata urat toate in jos pur si simplu nu am mai avut timp .

Mi se buseste layoutul pentru ca nu am stiut cum sa codez . Am pus fundalul in Web Page Maker si am pus cod pe fundal .

Am uitat sa pun sterge user in Admin Panel .

tw8 : Da-mi un exemplu de SQL , XSS , ceva ...

And thanx all . Mai am multe de invatat ... :)

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



×
×
  • Create New...