Cross-user Defacement: Pengertian, Contoh, dan Pencegahan

Cross-user Defacement adalah serangan yang mengeksploitasi kerentanan dalam sistem untuk mengubah tampilan atau konten yang ada dalam website.

Ini merupakan salah satu serangan dalam bentuk defacement, di mana penyerang mengubah atau merusak tampilan halaman web atau profil pengguna secara tidak sah.

Jadi, serangan ini terjadi ketika penyerang membuat satu permintaan ke server yang rentan, permintaan tersebut akan menyebabkan server membuat dua respon berbeda.

Permintaan kedua inilah yang dapat server salah artikan sebagai respon terhadap permintaan yang berbeda. Salah satunya server menganggap permintaan tersebut dibuat oleh pengguna lain yang berbagi koneksi TCP yang sama dengan server.

Apa itu Defacement?

Defacement adalah tindakan merusak atau mengubah tampilan atau konten halaman web atau profil pengguna tanpa izin. Ini bisa mencakup mengganti gambar, teks, atau informasi yang ada dengan pesan atau konten yang penyerang miliki.

Hal ini dapat dilakukan dengan meyakinkan pengguna untuk mengirimkan sendiri permintaan jahat tersebut, atau secara jarak jauh dalam situasi di mana penyerang dan pengguna berbagi koneksi TCP yang sama ke server, seperti shared proxy server.

Kerentanan HTTP Header

Cross-user Defacement
Source: jejakhacker.com

Serangan ini agak sulit di lingkungan nyata. Daftar syaratnya panjang dan sulit hacker penuhi.

Cross-user Defacement biasanya memanfaatkan kerentanan dalam sistem, seperti kerentanan keamanan yang memungkinkan penyerang mengirimkan kode atau perintah tertentu yang dapat merusak atau mengubah tampilan akun pengguna lain. Ini dapat terjadi jika sistem tidak memiliki langkah-langkah keamanan yang memadai untuk melindungi akun pengguna dari tindakan yang tidak sah.

Serangan Cross-user Defacement memungkinkan karena HTTP Response Splitting dan kelemahan pada aplikasi web.

Penting dari sudut pandang hacker bahwa aplikasi memungkinkan pengisian kolom header dengan lebih dari satu header menggunakan karakter CR (Carriage Return) dan LF (Line Feed).

Contoh Serangan Cross-user Defacement

Saya beberapa kali menemukn halaman web pengalihan dengan parameter “page” atau yang lain sebagai argumen untuk mendapatkan url tujuan redirects (302).

Contoh URL yang saya temukan biasanya seperti ini: http://example.com/redir.php?page=http://other.example.com/

Nah, dalam laman pengalihan tersebut, biasanya halaman (dalam contoh ini: redir.php) tersebut berisi kode sebagai berikut:

<?php
header ("Location: " . $_GET['page']);
?>

Jika saya menyerang dengan mengirim permintaan URL sebagai berikut:

http://example.com/redir.php?page=http://other.testsite.com%0d%0aContent- Length:%200%0d%0a%0d%0aHTTP/1.1%20200%20OK%0d%0aContent-Type:%20text/html%0d%0aContent- Length:%2019%0d%0a%0d%0a<html>deface</html>

Server HTTP akan merespons dengan dua header (bukan satu!) berikut:

Respon pertama:

HTTP/1.1 302 Moved Temporarily
Date: Fri, 27 Nov 2023 15:26:41 GMT
Location: http://example.com/redir.php?page=http://other.example.com
Content-Length: 0

Respon kedua:

HTTP/1.1 200 OK
Content-Type: text/html
Content-Length: 19

<html>deface</html>

Jika pengguna berbagi koneksi TCP (misalnya cache proxy) dan akan mengirimkan permintaan: /index.html, server akan mengirim 2 respon sekaligus kepada hacker sebagai jawaban atas permintaan hacker.

Dengan cara ini memungkinkan untuk melakukan deface halaman web yang tersaji kepada pengguna tertentu.

Dampak Cross-user Defacement

Dalam kasus terbaik, saya dapat memanfaatkan serangan cross-user defacement untuk meyakinkan pengguna lain bahwa aplikasi tersebut telah diretas. Sehingga menyebabkan pengguna kehilangan kepercayaan terhadap keamanan aplikasi atau situs tersebut.

Dalam kasus terburuk, saya mungkin membuat dan merancang konten khusus untuk meniru perilaku aplikasi namun mengalihkan informasi pribadi, seperti nomor akun dan kata sandi, kembali ke saya.

Pencegahan Serangan Cross-user Defacement

Jadi, untuk melindungi sistem dan pengguna dari Cross-user Defacement, penting untuk menjalankan pembaruan perangkat lunak yang teratur. Termasuk memvalidasi masukan pengguna, menerapkan kontrol akses yang ketat, dan memastikan bahwa sistem memiliki langkah-langkah keamanan yang memadai.

Penutup

Serangan Cross-user Defacement adalah ancaman keamanan yang harus diwaspadai dalam pengelolaan sistem, terutama pada platform dan situs web yang memiliki banyak pengguna dan akun.

Tekan ESC untuk keluar