# Clickjacking {{#include ../banners/hacktricks-training.md}} ## Wat is Clickjacking In 'n clickjacking-aanval word 'n **gebruiker** **mislei** om op 'n **element** op 'n webblad te **klik** wat of **on sigbaar** is of as 'n ander element vermom is. Hierdie manipulasie kan lei tot onbedoelde gevolge vir die gebruiker, soos die aflaai van malware, herleiding na kwaadwillige webbladsye, verskaffing van geloofsbriewe of sensitiewe inligting, geld oordragte, of die aanlyn aankoop van produkte. ### Prepopulate forms trick Soms is dit moontlik om die **waarde van velde van 'n vorm te vul met GET parameters wanneer 'n bladsy gelaai word**. 'n Aanvaller kan hierdie gedrag misbruik om 'n vorm met arbitrêre data te vul en die clickjacking payload te stuur sodat die gebruiker die knoppie Indien druk. ### Populate form with Drag\&Drop As jy die gebruiker nodig het om 'n **vorm** te **vul** maar jy wil nie direk vra dat hy spesifieke inligting (soos die e-pos en of spesifieke wagwoord wat jy ken) skryf nie, kan jy hom net vra om iets te **Drag\&Drop** wat jou beheerde data sal skryf soos in [**hierdie voorbeeld**](https://lutfumertceylan.com.tr/posts/clickjacking-acc-takeover-drag-drop/). ### Basic Payload ```css
Click me
``` ### Meervoudige Stap Payload ```css
Click me first
Click me next
``` ### Sleep\&Sleep + Klik lasbrief ```css
.
1. Click and press delete button
3.Click me

2.DRAG ME TO THE RED BOX

``` ### XSS + Clickjacking As jy 'n **XSS-aanval geïdentifiseer het wat 'n gebruiker vereis om op 'n element te klik** om die XSS te **aktiveer** en die bladsy is **kwulnerabel vir clickjacking**, kan jy dit misbruik om die gebruiker te mislei om op die knoppie/skakel te klik.\ Voorbeeld:\ Jy het 'n **self XSS** in sommige privaat besonderhede van die rekening gevind (besonderhede wat **slegs jy kan stel en lees**). Die bladsy met die **vorm** om hierdie besonderhede in te stel is **kwulnerabel** vir **Clickjacking** en jy kan die **vorm** met die GET parameters **vooraf vul**.\ 'n Aanvaller kan 'n **Clickjacking** aanval voorberei op daardie bladsy deur die **vorm** met die **XSS payload** te **vooraf vul** en die **gebruiker** te **mislei** om die vorm te **indien**. So, **wanneer die vorm ingedien word** en die waardes gewysig word, sal die **gebruiker die XSS uitvoer**. ### DoubleClickjacking Eerstens [verduidelik in hierdie pos](https://securityaffairs.com/172572/hacking/doubleclickjacking-clickjacking-on-major-websites.html), hierdie tegniek sou die slagoffer vra om dubbel op 'n knoppie van 'n pasgemaakte bladsy te klik wat op 'n spesifieke plek geplaas is, en die tydsverskille tussen mousedown en onclick gebeurtenisse te gebruik om die slagofferbladsy tydens die dubbelklik te laai sodat die **slagoffer werklik op 'n regte knoppie in die slagofferbladsy klik**. 'n Voorbeeld kan in hierdie video gesien word: [https://www.youtube.com/watch?v=4rGvRRMrD18](https://www.youtube.com/watch?v=4rGvRRMrD18) 'n Kodevoorbeeld kan gevind word in [hierdie bladsy](https://www.paulosyibelo.com/2024/12/doubleclickjacking-what.html). > [!WARNING] > Hierdie tegniek laat toe om die gebruiker te mislei om op 1 plek in die slagofferbladsy te klik en elke beskerming teen clickjacking te omseil. So die aanvaller moet **sensitiewe aksies vind wat met net 1 klik gedoen kan word, soos OAuth prompts wat toestemmings aanvaar**. ## Strategies to Mitigate Clickjacking ### Client-Side Defenses Scripts wat aan die kliëntkant uitgevoer word, kan aksies uitvoer om Clickjacking te voorkom: - Verseker dat die toepassingsvenster die hoof- of boonste venster is. - Maak alle rame sigbaar. - Voorkom kliks op onsigbare rame. - Detecteer en waarsku gebruikers oor potensiële Clickjacking pogings. Egter, hierdie frame-busting scripts kan omseil word: - **Browers se Sekuriteitsinstellings:** Sommige blaaiers mag hierdie scripts blokkeer gebaseer op hul sekuriteitsinstellings of gebrek aan JavaScript-ondersteuning. - **HTML5 iframe `sandbox` Attribuut:** 'n Aanvaller kan frame buster scripts neutraliseer deur die `sandbox` attribuut met `allow-forms` of `allow-scripts` waardes sonder `allow-top-navigation` in te stel. Dit voorkom dat die iframe verifieer of dit die boonste venster is, bv., ```html ``` Die `allow-forms` en `allow-scripts` waardes stel aksies binne die iframe in staat terwyl top-niveau navigasie gedeaktiveer word. Om die beoogde funksionaliteit van die geteikende webwerf te verseker, mag addisionele toestemmings soos `allow-same-origin` en `allow-modals` nodig wees, afhangende van die tipe aanval. Bladsy-konsolboodskappe kan lei oor watter toestemmings toegelaat moet word. ### Bediener-kant Verdedigings #### X-Frame-Options Die **`X-Frame-Options` HTTP antwoordkop** informeer blaaiers oor die wettigheid van die weergawe van 'n bladsy in 'n `` of `