Anda di halaman 1dari 35

KERENTANAN / VULNERABILITY PADA WEBSITE PERPUSNAS

BAGIAN LAYANAN PERPUSNAS RI


E-RES(Koleksi Digital Berlanggan)

url : https://e-resources.perpusnas.go.id/

Hasil OWASP ZAP :


Ada 17 Alerts,dengan 5 medium risk,7 low risk dan 5 information risk

Highest Allerts :

- 5 Medium Risk
- 7 Low risk
- 5 information risk
Medium Risk :

1. Absence of Anti-CSRF Tokens (10)

Penjelasan :
Tidak ada token Anti CSRF yang ditemukan dalam formulir pengiriman HTML.
Pemalsuan permintaan lintas situs adalah serangan yang melibatkan pemaksaan korban untuk
mengirim permintaan HTTP ke tujuan target tanpa sepengetahuan atau niat mereka untuk
melakukan tindakan sebagai korban. Penyebab dasarnya adalah fungsionalitas aplikasi yang
menggunakan tindakan URL/formulir yang dapat diprediksi dengan cara yang berulang. Sifat
serangannya adalah CSRF mengeksploitasi kepercayaan yang dimiliki situs web untuk pengguna.
Sebaliknya, skrip lintas situs (XSS) mengeksploitasi kepercayaan yang dimiliki pengguna untuk
situs web. Seperti XSS, serangan CSRF tidak harus lintas situs, tetapi bisa. Pemalsuan permintaan
lintas situs juga dikenal sebagai CSRF, XSRF, serangan sekali klik, sesi naik, wakil bingung, dan
selancar laut.

Serangan CSRF efektif dalam beberapa situasi, termasuk:


* Korban memiliki sesi aktif di situs target.
* Korban diautentikasi melalui otentikasi HTTP di situs target.
* Korban berada di jaringan lokal yang sama dengan situs target.

CSRF terutama digunakan untuk melakukan tindakan terhadap situs target menggunakan hak
korban, tetapi teknik terbaru telah ditemukan untuk mengungkapkan informasi dengan
mendapatkan akses ke respons. Risiko pengungkapan informasi meningkat secara dramatis
ketika situs target rentan terhadap XSS, karena XSS dapat digunakan sebagai platform untuk
CSRF, memungkinkan serangan untuk beroperasi dalam batas-batas kebijakan asal yang sama.
Solusi :
Fase: Arsitektur dan Desain
Gunakan perpustakaan atau kerangka kerja yang diperiksa yang tidak memungkinkan
kelemahan ini terjadi atau menyediakan konstruksi yang membuat kelemahan ini lebih mudah
untuk dihindari.
Misalnya, gunakan paket anti CSRF seperti OWASP CSRFGuard.

Fase: Implementasi
Pastikan aplikasi Anda bebas dari masalah skrip lintas situs, karena sebagian besar pertahanan
CSRF dapat dilewati menggunakan skrip yang dikendalikan penyerang.

Fase: Arsitektur dan Desain


Hasilkan nonce unik untuk setiap formulir, tempatkan nonce ke dalam formulir, dan verifikasi
nonce setelah menerima formulir. Pastikan bahwa nonce tidak dapat diprediksi (CWE-330).
Perhatikan bahwa ini dapat dilewati menggunakan XSS.

Identifikasi operasi yang sangat berbahaya. Saat pengguna melakukan operasi berbahaya, kirim
permintaan konfirmasi terpisah untuk memastikan bahwa pengguna bermaksud melakukan
operasi itu.
Perhatikan bahwa ini dapat dilewati menggunakan XSS.

Gunakan kontrol Manajemen Sesi ESAPI.


Kontrol ini mencakup komponen untuk CSRF.

Jangan gunakan metode GET untuk permintaan apa pun yang memicu perubahan status.

Fase: Implementasi
Periksa header HTTP Referer untuk melihat apakah permintaan berasal dari halaman yang
diharapkan. Ini dapat merusak fungsionalitas yang sah, karena pengguna atau proxy mungkin
telah menonaktifkan pengiriman Perujuk karena alasan privasi.

2. Content security Policy (CSP) Header not set (10)

Penjelasan :
Kebijakan Keamanan Konten (CSP) adalah lapisan keamanan tambahan yang membantu
mendeteksi dan mengurangi jenis serangan tertentu, termasuk Cross Site Scripting (XSS) dan
serangan injeksi data. Serangan ini digunakan untuk segala hal mulai dari pencurian data hingga
perusakan situs atau penyebaran malware. CSP menyediakan satu set tajuk HTTP standar yang
memungkinkan pemilik situs web untuk menyatakan sumber konten yang disetujui bahwa
browser harus diizinkan untuk memuat pada halaman itu — jenis yang dicakup adalah
JavaScript, CSS, bingkai HTML, font, gambar, dan objek yang dapat disematkan seperti applet
Java, ActiveX, file audio dan video.

Solusi :
Pastikan server web, server aplikasi, penyeimbang beban, dll. dikonfigurasi untuk menyetel
header Kebijakan-Keamanan-Konten, untuk mencapai dukungan browser yang optimal:
"Kebijakan-Konten-Keamanan" untuk Chrome 25+, Firefox 23+, dan Safari 7 +, "X-Content-
Security-Policy" untuk Firefox 4.0+ dan Internet Explorer 10+, dan "X-WebKit-CSP" untuk
Chrome 14+ dan Safari 6+.

3. Directory Browsing (23)


Penjelasan :
Dimungkinkan untuk melihat daftar direktori. Daftar direktori dapat mengungkapkan skrip
tersembunyi, termasuk file, file sumber cadangan, dll. yang dapat diakses untuk membaca
informasi sensitif.

Solusi :
Nonaktifkan penjelajahan direktori. Jika ini diperlukan, pastikan file yang terdaftar tidak
menimbulkan risiko.

4. Missing Anti-clickjacking header (6)


Penjelasan :
Respons tidak menyertakan Kebijakan Keamanan Konten dengan arahan 'frame-ancestors' atau
X-Frame-Options untuk melindungi dari serangan 'ClickJacking'.
Solusi :
Browser Web modern mendukung header HTTP Content-Security-Policy dan X-Frame-Options.
Pastikan salah satunya disetel di semua halaman web yang ditampilkan oleh situs/aplikasi Anda.
Jika Anda mengharapkan halaman dibingkai hanya oleh halaman di server Anda (mis. itu bagian
dari FRAMESET) maka Anda akan ingin menggunakan SAMAORIGIN, jika tidak, jika Anda tidak
pernah mengharapkan halaman dibingkai, Anda harus menggunakan DENY. Atau pertimbangkan
untuk menerapkan arahan "frame-ancestor" Kebijakan Keamanan Konten.

5. Vunerable JS Library (2)


Penjelasan :
Versi library jquery mudah terkena serangan
Solusi :
Upgrade ke versi terbaru

Low Risk :

1. Cookie no httponly flag


Penjelasan :
Cookie telah disetel tanpa tanda HttpOnly, yang berarti bahwa cookie dapat diakses oleh
JavaScript. Jika skrip berbahaya dapat dijalankan di halaman ini, maka cookie akan dapat diakses
dan dapat dikirim ke situs lain. Jika ini adalah cookie sesi, maka pembajakan sesi mungkin
terjadi.
Solusi :
Pastikan bahwa flag HttpOnly disetel untuk semua cookie.
2. Cookie without secure flag (2)
Penjelasan :
Cookie telah disetel tanpa tanda aman, yang berarti bahwa cookie dapat diakses melalui koneksi
yang tidak terenkripsi.

Solusi :
Setiap kali cookie berisi informasi sensitif atau merupakan token sesi, maka cookie harus selalu
diteruskan menggunakan saluran terenkripsi. Pastikan bahwa tanda aman diatur untuk cookie
yang berisi informasi sensitif tersebut.
3. Cookie with samsite attribute None
Penjelasan :
Cookie telah disetel dengan atribut SameSite-nya disetel ke "none", yang berarti bahwa cookie
dapat dikirim sebagai hasil dari permintaan 'lintas situs'. Atribut SameSite adalah tindakan
balasan yang efektif untuk pemalsuan permintaan lintas situs, penyertaan skrip lintas situs, dan
serangan waktu.
Solusi :
Pastikan atribut SameSite diatur ke 'lax' atau idealnya 'strict' untuk semua cookie.

4. Cookie without samesite attribute (3)


Penjelasan :
Cookie telah disetel tanpa atribut SameSite, yang berarti cookie dapat dikirim sebagai hasil dari
permintaan 'lintas situs'. Atribut SameSite adalah tindakan balasan yang efektif untuk
pemalsuan permintaan lintas situs, penyertaan skrip lintas situs, dan serangan waktu.
Solusi :
Pastikan atribut SameSite diatur ke 'lax' atau idealnya 'strict' untuk semua cookie.

5. Cross-domain Javascript source file inclusion (10)


Penjelasan :
Halaman berisi satu atau beberapa file skrip dari domain pihak ketiga.
Solusi :
Pastikan file sumber JavaScript dimuat hanya dari sumber tepercaya, dan sumber tidak dapat
dikontrol oleh pengguna akhir aplikasi.
Bukti : <script async src="https://www.googletagmanager.com/gtag/js?id=G-
1VY0R3M26W"></script>

6. Server leaks information via “X-Powered-By” HTTP Response header fields (11)
Penjelasan :
Server web/aplikasi membocorkan informasi melalui satu atau lebih header respons HTTP "X-
Powered-By". Akses ke informasi tersebut dapat memfasilitasi penyerang untuk
mengidentifikasi kerangka kerja/komponen lain yang diandalkan oleh aplikasi web Anda dan
kerentanan yang mungkin dialami oleh komponen tersebut.
Solusi :
Pastikan server web Anda, server aplikasi, penyeimbang beban, dll. dikonfigurasi untuk menekan
header "X-Powered-By".
7. X-content type options header missing (2)
Penjelasan :
Header Anti-MIME-Sniffing X-Content-Type-Options tidak disetel ke 'nosniff'. Ini memungkinkan
versi Internet Explorer dan Chrome yang lebih lama untuk melakukan sniffing MIME pada badan
respons, yang berpotensi menyebabkan badan respons ditafsirkan dan ditampilkan sebagai tipe
konten selain tipe konten yang dideklarasikan. Firefox versi saat ini (awal 2014) dan lawas akan
menggunakan tipe konten yang dideklarasikan (jika ada yang disetel), daripada melakukan
sniffing MIME.

Solusi :
Pastikan aplikasi/server web menyetel header Content-Type dengan tepat, dan menyetel
header X-Content-Type-Options ke 'nosniff' untuk semua halaman web.

Information Risk :

1. Content type header missing (2)


Penjelasan :
Header Content-Type tidak ada atau kosong.
Solusi :
Pastikan setiap halaman menyetel nilai tipe konten yang spesifik dan sesuai untuk konten yang
dikirimkan.
2. Information disclosure-sensitive information in URL (3)
Penjelasan :
Permintaan tersebut tampaknya berisi informasi sensitif yang bocor di URL. Ini dapat melanggar
PCI dan sebagian besar kebijakan kepatuhan organisasi. Anda dapat mengonfigurasi daftar string
untuk pemeriksaan ini guna menambah atau menghapus nilai khusus untuk lingkungan Anda.

Solusi :
Jangan berikan informasi sensitif dalam URIs.
Bukti : ticket
3. Information disclosure-suspicious comments (29)
Penjelasan :
Tanggapan tersebut tampaknya berisi komentar mencurigakan yang dapat membantu
penyerang. Catatan: Kecocokan yang dibuat dalam blok skrip atau file bertentangan dengan
seluruh konten, bukan hanya komentar.

Solusi :
Remove all comments that return information that may help an attacker and fix any underlying
problems they refer to.
4. Losely scooped cookie
Penjelasan :
Cookie dapat dicakup oleh domain atau jalur. Pemeriksaan ini hanya berkaitan dengan cakupan
domain. Cakupan domain yang diterapkan pada cookie menentukan domain mana yang dapat
mengaksesnya.

Solusi :
Selalu cakup cookie ke FQDN (Nama Domain yang Memenuhi Syarat).

5. Re-examine Cache control directives (6)


Penjelasan :
Header kontrol cache belum disetel dengan benar atau tidak ada, memungkinkan browser dan
proxy untuk menyimpan konten dalam cache. Untuk aset statis seperti css, js, atau file gambar,
ini mungkin dimaksudkan, namun, sumber daya harus ditinjau untuk memastikan bahwa tidak
ada konten sensitif yang akan di-cache.

Solusi :
For secure content, ensure the cache-control HTTP header is set with "no-cache, no-store, must-
revalidate". If an asset should be cached consider setting the directives "public, max-age,
immutable".

Anda mungkin juga menyukai