# Clickjacking
Jifunze kuhusu kudukua AWS kutoka sifuri hadi shujaa na htARTE (Mtaalam wa Timu Nyekundu ya AWS ya HackTricks)! Njia nyingine za kusaidia HackTricks: * Ikiwa unataka kuona **kampuni yako ikionekana kwenye HackTricks** au **kupakua HackTricks kwa muundo wa PDF** Angalia [**MPANGO WA KUJIUNGA**](https://github.com/sponsors/carlospolop)! * Pata [**swag rasmi ya PEASS & HackTricks**](https://peass.creator-spring.com) * Gundua [**Familia ya PEASS**](https://opensea.io/collection/the-peass-family), mkusanyiko wetu wa [**NFTs**](https://opensea.io/collection/the-peass-family) za kipekee * **Jiunge na** 💬 [**Kikundi cha Discord**](https://discord.gg/hRep4RUj7f) au [**kikundi cha telegram**](https://t.me/peass) au **tufuate** kwenye **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.** * **Shiriki mbinu zako za kudukua kwa kuwasilisha PRs kwenye** [**HackTricks**](https://github.com/carlospolop/hacktricks) na [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repos za github.
\ Tumia [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) kuunda na **kutumia mchakato wa kiotomatiki** ulioendeshwa na zana za jamii za **kisasa zaidi** duniani.\ Pata Ufikiaji Leo: {% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %} ## Ni nini Clickjacking Katika shambulio la clickjacking, **mtumiaji** anadanganywa ili **bonyeze** kipengele kwenye ukurasa wa wavuti ambao ni **isiyoonekana** au imefichwa kama kipengele kingine. Udanganyifu huu unaweza kusababisha matokeo yasiyotarajiwa kwa mtumiaji, kama vile kupakua programu hasidi, kupelekwa kwenye kurasa za wavuti zenye nia mbaya, kutoa vibali au habari nyeti, uhamishaji wa pesa, au ununuzi wa bidhaa mtandaoni. ### Mbinu ya kujaza fomu kabla Marafiki ni rahisi kujaza thamani za uga wa fomu kwa kutumia vigezo vya GET wakati wa kupakia ukurasa. Mshambuliaji anaweza kutumia tabia hii vibaya kujaza fomu na data ya kiholela na kutuma mzigo wa clickjacking ili mtumiaji bonyeze kitufe cha Wasilisha. ### Jaza fomu kwa Drag\&Drop Ikiwa unahitaji mtumiaji kujaza fomu lakini hauitaji kumuuliza moja kwa moja aandike habari fulani maalum (kama barua pepe na/au nenosiri maalum unayojua), unaweza tu kumuuliza a**Drag\&Drop** kitu ambacho kitaiandika data yako iliyodhibitiwa kama katika [**mfano huu**](https://lutfumertceylan.com.tr/posts/clickjacking-acc-takeover-drag-drop/). ### Payload ya Msingi ```markup
Click me
``` ### Payload ya Hatua Nyingi Kwa kawaida, mashambulizi ya clickjacking yanahusisha hatua moja tu, ambapo mtumiaji anabonyeza kitu bila kujua. Hata hivyo, kuna njia ya kufanya mashambulizi ya clickjacking kuwa na hatua nyingi. Hii inaweza kuwa muhimu hasa wakati unataka kufanya vitendo vingi kwa niaba ya mtumiaji bila kujulikana. Kwa kufanya hivyo, unaweza kutumia JavaScript ili kutekeleza hatua nyingi za clickjacking. Kwa mfano, unaweza kuunda kifungo kinachofichwa kwenye ukurasa ambao mtumiaji anabonyeza bila kujua. Bonyeza hii inaweza kusababisha hatua nyingine, kama vile kubonyeza kifungo kingine au kuingiza data kwenye fomu. Kwa njia hii, unaweza kufanya vitendo vingi vya clickjacking kwa mtumiaji bila wao kujua. Ni muhimu kutambua kuwa njia hii inaweza kuwa ngumu zaidi kutekeleza kuliko mashambulizi ya clickjacking ya hatua moja, lakini inaweza kuwa na athari kubwa zaidi. ```markup
Click me first
Click me next
``` ### Kuvuta na Achia + Bonyeza mzigo Clickjacking ni mbinu ya kudanganya ambapo mtumiaji anadanganywa kubonyeza kitu fulani kwenye ukurasa wa wavuti bila kujua. Mbinu hii inaweza kutumiwa kudhibiti vitendo vya mtumiaji au kuiba habari zao za siri. Katika mbinu hii, tunatumia mchanganyiko wa vitendo vya kuvuta na kushusha (drag and drop) pamoja na bonyeza (click) ili kufanikisha clickjacking. Hatua zifuatazo zinaelezea jinsi ya kutekeleza mbinu hii: 1. Tengeneza ukurasa wa wavuti ambao unajumuisha kitu ambacho unataka mtumiaji abonyeze bila kujua. 2. Weka kitu hicho ndani ya kificho cha kuvuta na kushusha (drag and drop). 3. Ficha kitu hicho kwa kutumia CSS ili kisionekane kwenye ukurasa. 4. Weka kitufe cha bonyeza (click) juu ya kitu hicho kilichofichwa. 5. Ficha kitufe cha bonyeza (click) kwa kutumia CSS ili kisionekane kwenye ukurasa. 6. Wakati mtumiaji anapobonyeza kitu kingine kwenye ukurasa, hatua ya bonyeza (click) itatekelezwa kwenye kitu kilichofichwa badala ya kitu kilichoonekana. Kwa kufuata hatua hizi, unaweza kutekeleza mbinu ya clickjacking kwa mafanikio. Ni muhimu kutambua kuwa mbinu hii inaweza kuwa na athari mbaya na inapaswa kutumiwa kwa madhumuni ya kielimu au kwa idhini ya mmiliki wa wavuti. ```markup
.
1. Click and press delete button
3.Click me

2.DRAG ME TO THE RED BOX

``` ### XSS + Clickjacking Ikiwa umegundua **shambulio la XSS ambalo linahitaji mtumiaji bonyeze** kwenye kipengele fulani ili **kuchochea** XSS na ukurasa huo ni **mdhaifu kwa clickjacking**, unaweza kulitumia kudanganya mtumiaji abonyeze kitufe/kiungo.\ Mfano:\ _Umeona **self XSS** katika baadhi ya maelezo ya siri ya akaunti (maelezo ambayo **wewe pekee unaweza kuweka na kusoma**). Ukurasa na **fomu** ya kuweka maelezo haya ni **mdhaifu** kwa **Clickjacking** na unaweza **kuweka tayari** fomu hiyo na vigezo vya GET._\ \_\_Mshambuliaji anaweza kuandaa shambulio la **Clickjacking** kwenye ukurasa huo **kwa kuweka tayari** fomu hiyo na **XSS payload** na **kumdanganya** mtumiaji abonyeze kitufe/kiungo. Hivyo, **wakati fomu inapotumwa** na thamani zinabadilishwa, **mtumiaji atatekeleza XSS**. ## Mikakati ya Kupunguza Hatari ya Clickjacking ### Ulinzi wa Upande wa Mteja Script zinazotekelezwa upande wa mteja zinaweza kufanya hatua za kuzuia Clickjacking: * Kuhakikisha dirisha la programu ni dirisha kuu au dirisha la juu. * Kufanya fremu zote ziweze kuonekana. * Kuzuia bonyeza kwenye fremu zisizoonekana. * Kugundua na kuonya watumiaji juu ya jaribio la Clickjacking. Hata hivyo, script za kuvunja fremu zinaweza kuzungukwa: * **Mipangilio ya Usalama ya Vivinjari:** Baadhi ya vivinjari vinaweza kuzuia script hizi kulingana na mipangilio yao ya usalama au kutokuwepo kwa usaidizi wa JavaScript. * **Sifa ya `sandbox` ya iframe ya HTML5:** Mshambuliaji anaweza kufanya script za kuvunja fremu kuwa haziwezi kwa kuweka sifa ya `sandbox` na thamani za `allow-forms` au `allow-scripts` bila `allow-top-navigation`. Hii inazuia iframe kuhakiki ikiwa ni dirisha kuu, kwa mfano, ```html ``` `allow-forms` na `allow-scripts` huwezesha vitendo ndani ya iframe wakati inazuia urambazaji wa kiwango cha juu. Ili kuhakikisha utendaji unaokusudiwa wa tovuti inayolengwa, ruhusa za ziada kama vile `allow-same-origin` na `allow-modals` zinaweza kuwa muhimu, kulingana na aina ya shambulio. Ujumbe wa konsoli ya kivinjari unaweza kuongoza ni ruhusa zipi za kuruhusu. ### Ulinzi wa Upande wa Seva #### X-Frame-Options Kichwa cha majibu cha HTTP cha **`X-Frame-Options`** kinawajulisha vivinjari kuhusu uhalali wa kuonyesha ukurasa katika `` au `