Portswigger
  • Portswigger
  • Server-Side Request Forgery
    • Server-Side Request Forgery (SSRF)
  • SSRF with filter bypass via open redirection vulnerability
  • Blind SSRF with out-of-band detection
  • Cross-Site Scripting
    • Cross-Site Scripting (XSS)
  • Reflected XSS into a JS string with angle brackets and double&single quotes HTML-encoded escape
  • XSS into a template literal w/ angle brackets, single, double quotes, backslash & backticks Escaped
  • Authentication
    • Authentication
  • Username enumeration via subtly different responses
  • 2FA broken logic
  • Username enumeration via response timing
  • Username enumeration via account lock
  • Password reset poisoning via middleware
  • Path Traversal
    • Path Traversal
  • File path traversal, traversal sequences stripped with superfluous URL-decode
  • File path traversal, traversal sequences blocked with absolute path bypass
  • Business Logic Vulnerabilities
    • Business Logic Vulnerabilities
  • Insufficient workflow validation
  • Inconsistent handling of exceptional input
  • Server-Side Template Injection
    • Server-Side Template Injection
  • Basic server-side template injection
  • Basic server-side template injection (code context)
  • SQL Injection
    • SQL Injection
    • Blind SQL injection with conditional responses
  • SQL injection UNION attack, retrieving data from other tables
  • SQL injection attack, listing the database contents on non-Oracle databases
  • API Testing
    • API Testing
  • Exploiting an API endpoint using documentation
  • Exploiting a mass assignment vulnerability
  • Finding and exploiting an unused API endpoint
  • JWT ATTACK
    • JWT Attack
    • JWT authentication bypass via unverified signature
  • JWT authentication bypass via jku header injection
  • JWT authentication bypass via flawed signature verification
  • HTTP HOST HEADER ATTACKS
    • HTTP Host header attacks
  • Basic password reset poisoning
  • Host header authentication bypass
  • No SQL Injection
    • NoSQL Injection
  • Detecting NoSQL injection
  • Exploiting NoSQL operator injection to bypass authentication
  • Exploiting NoSQL injection to extract data
  • FILE UPLOAD VULNERABILITIES
    • File Upload Vulnerabilities
  • Web shell upload via obfuscated file extension
  • OAuth Authentication
    • OAuth Authentication
  • OAuth account hijacking via redirect_uri
  • ACCESS CONTROL VULNERABILITIES
    • Access Control Vulnerabilities
  • User ID controlled by request parameter with data leakage in redirect
  • User ID controlled by request parameter with password disclosure
  • User role controlled by request parameter
  • User role can be modified in user profile
  • URL-based access control can be circumvented
  • INFORMATION DISCLOSURE VULNERABILITIES
    • Information Disclosure Vulnerabilities
  • Information disclosure in version control history
  • XML external entity injection
    • XML External Entity (XXE) Injection
  • Exploiting XXE using external entities to retrieve files
  • Exploiting blind XXE to retrieve data via error messages
  • Blind XXE with out-of-band interaction
  • Blind XXE with out-of-band interaction via XML parameter entities
  • OS COMMAND INJECTION
    • OS Command Injection
  • Blind OS command injection with out-of-band data exfiltration
  • PROTOTYPE POLLUTION
    • Prototype Pollution
  • Privilege escalation via server-side prototype pollution
  • WEB CACHE POISONING
    • Web Cache Poisoning
  • Web cache poisoning via an unkeyed query parameter
Powered by GitBook
On this page
  • Dampak dari XSS?
  • Bagaimana preventif XSS?
  1. Cross-Site Scripting

Cross-Site Scripting (XSS)

XSS merupakan kerentanan keamanan web yang memungkinkan penyerang membahayakan interaksi yang dilakukan dilakukan pengguna dengan aplikasi yang rentan.

Hal ini memungkinkan penyerang untuk menghindari same origin policy, yang dirancang untuk memisahkan situs web yang berbeda satu sama lain. kerentanan XSS biasanya memungkinkan penyerang untuk menyamar sebagai pengguna korban, untuk melakukan tindakan apapun yang dapat dilakukan pengguna, dan untuk mengakses data pengguna manapun. Jika pengguna, korban memiliki akses istimewa dalam aplikasi, maka penyerang mungkin dapat memperoleh kendali penuh atas semua fungsionalitas dan data aplikasi.

Dampak dari XSS?

Dampak sebenarnya dari serangan XSS umumnya bergantung pada sifat aplikasi, fungsionalitas dan datanya, serta status pengguna yang disusupi. Misalnya:

  • Dalam aplikasi brochureware, di mana semua pengguna bersifat anonim dan semua informasi bersifat publik, dampaknya sering kali minimal.

  • Dalam aplikasi yang menyimpan data sensitif, seperti transaksi perbankan, email, atau catatan perawatan kesehatan, dampaknya biasanya serius.

  • Jika pengguna yang disusupi memiliki hak istimewa yang lebih tinggi dalam aplikasi, dampaknya secara umum akan kritis, yang memungkinkan penyerang untuk mengambil kendali penuh atas aplikasi yang rentan dan membahayakan semua pengguna dan data mereka.

Bagaimana preventif XSS?

Mencegah XSS mudah dilakukan dalam beberapa kasus, tetapi bisa jadi jauh lebih sulit tergantung pada kompleksitas aplikasi dan cara menangani data yang dapat dikontrol pengguna. Secara umum, pencegahan kerentanan XSS secara efektif kemungkinan melibatkan kombinasi tindakan berikut:

  • Filter input on arrival Pada titik di mana masukan pengguna diterima, saring seketat mungkin berdasarkan apa yang diharapkan atau masukan yang valid

  • Encode data on output pada titik di mana data yang dapat dikontrol pengguna dikeluarkan dalam respons HTTP, lakukan encode pada output untuk mencegahnya ditafsirkan sebagai konten aktif. Bergantung pada konteks keluaran, ini mungkin memerlukan penerapan kombinasi pengodean HTML, URL, JavaScript, dan CSS

  • Use appropriate response headers Untuk mencegah XSS dalam respons HTTP yang tidak dimaksudkan untuk berisi HTML atau JavaScript, Anda dapat menggunakan header Content-Type dan X-Content-Type-Options untuk memastikan bahwa browser menafsirkan respons sesuai dengan keinginan Anda

  • Content Security Policy Sebagai garis pertahanan terakhir, Anda dapat menggunakan Content Security Policy (CSP) untuk mengurangi tingkat keparahan kerentanan XSS yang masih terjadi

Selanjutnya, akan membahas beberapa lab di portswigger mengenai kerentanan XSS ini.

PreviousBlind SSRF with out-of-band detectionNextReflected XSS into a JS string with angle brackets and double&single quotes HTML-encoded escape

Last updated 3 months ago