# Clickjacking {{#include ../banners/hacktricks-training.md}} ## What is Clickjacking Katika shambulio la clickjacking, **mtumiaji** anachukuliwa **kudanganywa** ili **kubofya** **kipengele** kwenye ukurasa wa wavuti ambacho ni **bila kuonekana** au kimefichwa kama kipengele kingine. Manipulasi hii inaweza kusababisha matokeo yasiyokusudiwa kwa mtumiaji, kama vile kupakua malware, kuelekezwa kwenye kurasa za wavuti zenye uharibifu, kutoa akidi au taarifa nyeti, uhamishaji wa pesa, au ununuzi wa bidhaa mtandaoni. ### Prepopulate forms trick Wakati mwingine inawezekana **kujaza thamani ya maeneo ya fomu kwa kutumia vigezo vya GET wakati wa kupakia ukurasa**. Mshambuliaji anaweza kutumia tabia hii kujaza fomu kwa data isiyo ya kawaida na kutuma payload ya clickjacking ili mtumiaji abofye kitufe cha Submit. ### Populate form with Drag\&Drop Ikiwa unahitaji mtumiaji **ajaze fomu** lakini hutaki kumwambia moja kwa moja aandike taarifa maalum (kama barua pepe au nywila maalum unayojua), unaweza tu kumwambia **Drag\&Drop** kitu ambacho kitaandika data yako iliyodhibitiwa kama katika [**mfano huu**](https://lutfumertceylan.com.tr/posts/clickjacking-acc-takeover-drag-drop/). ### Basic Payload ```markup
Click me
``` ### Malipo ya Hatua Nyingi ```markup
Click me first
Click me next
``` ### Drag\&Drop + Click payload ```markup
.
1. Click and press delete button
3.Click me

2.DRAG ME TO THE RED BOX

``` ### XSS + Clickjacking Ikiwa umepata **shambulio la XSS linalohitaji mtumiaji kubonyeza** kwenye kipengele fulani ili **kuanzisha** XSS na ukurasa ni **hawezi kuathiriwa na clickjacking**, unaweza kutumia hii kumdanganya mtumiaji kubonyeza kitufe/kiungo.\ Mfano:\ &#xNAN;_You umepata **self XSS** katika maelezo binafsi ya akaunti (maelezo ambayo **ni wewe pekee unaweza kuweka na kusoma**). Ukurasa wenye **fomu** ya kuweka maelezo haya ni **hawezi kuathiriwa** na **Clickjacking** na unaweza **kuijaza** **fomu** na vigezo vya GET._\ \_\_Mshambuliaji anaweza kuandaa shambulio la **Clickjacking** kwa ukurasa huo **kuijaza** **fomu** na **XSS payload** na **kumdanganya** **mtumiaji** ku **Tuma** fomu. Hivyo, **wakati fomu inatumwa** na thamani zimebadilishwa, **mtumiaji atatekeleza XSS**. ## Mikakati ya Kupunguza Clickjacking ### Ulinzi wa Upande wa Mteja Scripts zinazotekelezwa upande wa mteja zinaweza kufanya hatua za kuzuia Clickjacking: - Kuhakikisha dirisha la programu ndilo dirisha kuu au la juu. - Kufanya fremu zote ziwe wazi. - Kuzuia bonyezo kwenye fremu zisizoonekana. - Kugundua na kuwajulisha watumiaji kuhusu majaribio ya Clickjacking yanayoweza kutokea. Hata hivyo, hizi scripts za kuvunja fremu zinaweza kupuuziliwa mbali: - **Mipangilio ya Usalama ya Kivinjari:** Baadhi ya vivinjari vinaweza kuzuia hizi scripts kulingana na mipangilio yao ya usalama au ukosefu wa msaada wa JavaScript. - **HTML5 iframe `sandbox` Attribute:** Mshambuliaji anaweza kuondoa scripts za kuvunja fremu kwa kuweka sifa ya `sandbox` na thamani za `allow-forms` au `allow-scripts` bila `allow-top-navigation`. Hii inazuia iframe kuthibitisha ikiwa ni dirisha la juu, e.g., ```html ``` The `allow-forms` na `allow-scripts` values zinaruhusu vitendo ndani ya iframe wakati zinazuia urambazaji wa ngazi ya juu. Ili kuhakikisha utendaji unaokusudiwa wa tovuti inayolengwa, ruhusa za ziada kama `allow-same-origin` na `allow-modals` zinaweza kuwa muhimu, kulingana na aina ya shambulio. Meseji za console za kivinjari zinaweza kuongoza ni ruhusa zipi za kuruhusiwa. ### Ulinzi wa Upande wa Server #### X-Frame-Options The **`X-Frame-Options` HTTP response header** inawajulisha kivinjari kuhusu uhalali wa kuonyesha ukurasa katika `` au `