Tufan Turhan
  • Introduction
  • Red Teaming
    • Initial Access
      • VoipHopper
      • SMB – SCF File Attacks
      • MITM6
      • LLMNR, NBT-NS, mDNS Zehirlemeleri ve Relay Ataklar
    • Responder - DNS Injection
    • Privilege Escalation
      • PrintNightmare
      • Juicy Potato ile Windows Yetki Yükseltme
      • Token Impersonation with Incognito
    • Active Directory & Kerberos
      • Kerberos
      • Kerberosting
      • AS-REP Roasting
      • Overpass The Hash/Pass The Key (PTK)
      • DCSync Attack
      • DCShadow Attack
      • GETTGT
      • Golden Tickets
      • Silver Tickets
      • PowerView
      • MS14-025 (GPP Abusing)
      • BloodHound
      • Procdump
    • Lateral Movement
      • RDP MiTM-Hijacking
      • Vlan Hopping
      • Pivoting
    • Network Pentest
      • IPv4 Subnet Cheat Sheet
      • DNS Spoofing
      • DHCP Rogue
    • Shell to Meterpreter
    • Turn Off or Bypass AV
    • Useful CMD or Powershell Command
    • Brute Force
    • Windows Dosya İndirme
    • Windows UAC Bypass
    • Insecure Dosya İzni
  • Pentesting
    • Pentesting FTP - 21
    • Pentesting SMTP - 25,465,587
    • Pentesting SMB - 139 & 445
    • Pentesting Telnet - 23
    • Pentesting DNS - 53
    • Pentesting MSRPC -135
    • Pentesting SNMP - 161,162
    • Pentesting LDAP - 389,636
    • Pentesting MSSQL - 1433
    • Pentesting MYSQL - 3306
    • Pentesting RDP - 3389
    • Pentesing WINRM 5985,5986
  • Web Application
    • 2FA/OTP Bypass
    • Captcha Bypass
    • Cache Poisoning
    • Command Injection (OS)
    • CRLF Injection
    • Cross-site WebSocket hijacking (CSWSH) -
    • Cross-site request forgery (CSRF) -
    • Dangling Markup -
    • Path traversal
    • File Upload
    • Formula Injection (CSV Injection)
    • Login Bypass List
    • OAuth -
    • Open Redirect
    • Race Condition -
    • Registration - Password Reset & Takeover Vulnerabilities
    • SQL Injection
    • SSRF
  • Linux Privilege Escalation
    • PHP Wrapper
    • Simple Http
    • Editing /etc/passwd
    • SUID Binaries
    • Sudo Rights
    • Otomatize Araçlar
    • OSCP Not
  • HTB
  • Reverse Shell w/Msfvenom
  • Upgrading Simple Shells to Fully Interactive TTYs
Powered by GitBook
On this page
  1. Web Application

CRLF Injection

PreviousCommand Injection (OS)NextCross-site WebSocket hijacking (CSWSH) -

Last updated 2 years ago

Nedir?

Web tarayıcısı sunucuya bir istekte bulunduğunda sunucu, yanıt olarak HTTP header’ları ve web sitesinin içeriğini birlikte gönderir. Söz konusu HTTP header’lar ve HTML yanıtı(web sitesinin içeriği) birtakım özel karakterler yardımıyla birbirlerinden ayırılırlar. Bu karakterler carriage return(satır başı) ve line feed(yeni satır) karakterleri olarak bilinir. Ayrıca kısaltılmış hali CRLF’dir.

Sunucu, yeni bir header başladığında, bir başkasının CRLF ile bittiğini bilir. Ayrıca bir web uygulamasına ya da kullanıcıya yeni satırın bir dosya ya da bir metin bloğunda başladığını da söyleyebilir.

Saldırgan, bir CRLF Injection saldırısında sunucuyu, web uygulamasını ya da kullanıcıyı bir nesnenin sonlandığı diğerinin ise başladığı yönünde kandırmak için kullanıcı input’una carrige return, line feed karakterlerini ya da ikisini birlikte girer.

HTTP Response Splitting

Bir saldırgan, HTTP yanıt başlığının ve yanıt gövdesinin CRLF karakterleri ile ayrılmasından dolayı buraya bir enjeksiyon yapmayı deneyebilir. Bir CRLFCRLF kombinasyonu tarayıcıya header’ın sona erdiğini ve body’nin başladığını söyleyecektir. Böylelikle saldırgan, HTML kodun bulunduğu yanıt body’sine veri yazabilir duruma gelir. Bu da Cross Site Scripting (XSS) açığına neden olur.

XSS’e Neden Olan Bir HTTP Response Splitting Örneği

Örnek olarak, isteğe bağlı bir header set eden bir uygulama hayal edelim:

X-Your-Name: Bob 

Yukarıdaki header’ın aldığı değer “name” adındaki GET parametresine set edilir. Eğer URL encoding işlemi uygulanmamışsa ve değer direkt olarak header’a yansıtılıyorsa bir saldırganın daha önce bahsedilen CRLFCRLF kombinasyonunu araya ekleyerek tarayıcıya istek body’sinin başladığını söylemesi mümkün hale gelir. Bu şekilde XSS payload’u gibi verilerin eklenebilmesi kaçınılmaz olur. Örneğin:

?name=Bob%0d%0a%0d%0a<script>alert(document.domain)</script> 

Yukarıdaki ifade, saldırıya maruz kalan domainin kontekstinde bir pop-up gösterecektir.

Tool:

Ana İçerik REF:

GitHub - dwisiswant0/crlfuzz: A fast tool to scan CRLF vulnerability written in GoGitHub
CRLF Injection ve HTTP Response Splitting ZafiyetiNetsparker - Web Uygulaması Güvenlik Tarayıcısı
Logo
Logo