<summary><strong>Jifunze kuhusu kudukua AWS kutoka sifuri hadi shujaa na</strong><ahref="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Mtaalam wa Timu Nyekundu ya AWS ya HackTricks)</strong></a><strong>!</strong></summary>
* Je, unafanya kazi katika **kampuni ya usalama wa mtandao**? Je, ungependa kuona **kampuni yako ikionekana katika HackTricks**? Au ungependa kupata ufikiaji wa **toleo jipya zaidi la PEASS au kupakua HackTricks kwa muundo wa PDF**? Angalia [**MPANGO WA KUJIUNGA**](https://github.com/sponsors/carlospolop)!
* Gundua [**Familia ya PEASS**](https://opensea.io/collection/the-peass-family), mkusanyiko wetu wa kipekee wa [**NFTs**](https://opensea.io/collection/the-peass-family)
* Pata [**swag rasmi ya PEASS & HackTricks**](https://peass.creator-spring.com)
* **Jiunge na** [**💬**](https://emojipedia.org/speech-balloon/) [**Kikundi cha Discord**](https://discord.gg/hRep4RUj7f) au [**kikundi cha telegram**](https://t.me/peass) au **nifuatilie** kwenye **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Shiriki vidokezo vyako vya kudukua kwa kuwasilisha PRs kwenye** [**repo ya hacktricks**](https://github.com/carlospolop/hacktricks) **na** [**repo ya hacktricks-cloud**](https://github.com/carlospolop/hacktricks-cloud).
Katika JavaScript, kuna tabia sahihi za mstari mpya ambazo zinaweza kutumika kwa ufanisi katika mashambulizi ya XSS (Cross-Site Scripting). Hapa chini ni orodha ya tabia hizo:
Kwa kutumia tabia hizi sahihi za mstari mpya, unaweza kujaribu kuvunja usalama wa tovuti na kuingiza msimbo mbaya wa JavaScript. Ni muhimu kutambua kuwa tabia hizi zinaweza kutofautiana kulingana na jukwaa na mazingira ya utekelezaji wa JavaScript.
Unapojaribu kufanya mashambulizi ya XSS (Cross-Site Scripting), mara nyingi unahitaji kuingiza msimbo wa JavaScript ndani ya kificho cha HTML. Hata hivyo, kuna njia ambazo unaweza kutumia ili kuficha msimbo wako wa JavaScript ili usigunduliwe na filters au scanners.
Moja ya njia hizi ni kutumia nafasi halali za JavaScript katika wito wa kazi. Kwa kawaida, nafasi zote za ziada zinaondolewa wakati wa kuchanganua kificho cha JavaScript. Hata hivyo, kuna nafasi halali ambazo zinaweza kutumiwa bila kusababisha makosa.
Nafasi halali za JavaScript ni pamoja na:
- Nafasi ya kawaida: ` `
- Tab: `\t`
- Mstari mpya: `\n`
- Kurudi nyuma: `\r`
- Kichwa cha mshale: `\v`
- Kichwa cha mshale kilichopindika: `\f`
- Nafasi ya sifuri: `\u200b`
Unaweza kutumia nafasi hizi halali za JavaScript katika wito wa kazi ili kuficha msimbo wako wa JavaScript na kuepuka kugunduliwa na filters au scanners. Hii inaweza kuwa njia muhimu ya kufanikisha mashambulizi ya XSS.
Tekniki hii haitakuwa na faida sana kwa XSS lakini inaweza kuwa na faida ya kuzunguka ulinzi wa WAF. Msimbo huu wa python unapokea kama kuingiza 2bytes na inatafuta jozi za mbadala ambazo zina byte ya kwanza kama byte ya mwisho ya jozi ya mbadala ya juu na byte ya mwisho kama byte ya mwisho ya jozi ya mbadala ya chini.
URL Fuzzing ni mbinu ya kufanya majaribio ya URL kwa kuingiza data isiyo halali au ya kipekee ili kugundua udhaifu katika programu ya wavuti. Mbinu hii inaweza kutumiwa kugundua mashimo ya usalama kama vile XSS (Cross-Site Scripting) na SQL injection.
Kuna njia kadhaa za kufanya majaribio ya URL kwa kutumia URL Fuzzing:
1.**Parameter Fuzzing**: Kwa kubadilisha thamani ya vigezo katika URL, unaweza kujaribu kugundua udhaifu. Kwa mfano, unaweza kubadilisha thamani ya vigezo kama "id" au "user" na kuingiza data isiyo halali kama herufi zisizo za kawaida au maandishi ya kipekee.
2.**Path Fuzzing**: Kwa kubadilisha sehemu ya njia ya URL, unaweza kujaribu kugundua udhaifu. Kwa mfano, unaweza kubadilisha sehemu ya njia kama "/admin" au "/profile" na kuingiza data isiyo halali au ya kipekee.
3.**Extension Fuzzing**: Kwa kubadilisha kipengee cha ugani wa faili katika URL, unaweza kujaribu kugundua udhaifu. Kwa mfano, unaweza kubadilisha ugani wa faili kama ".php" au ".html" na kuingiza ugani usio wa kawaida au wa kipekee.
Kwa kufanya majaribio ya URL kwa kutumia URL Fuzzing, unaweza kugundua udhaifu ambao unaweza kutumiwa na wadukuzi kutekeleza mashambulizi ya XSS au SQL injection. Ni muhimu kwa watengenezaji wa programu ya wavuti kufanya majaribio ya usalama kwa kutumia mbinu hii ili kugundua na kurekebisha udhaifu kabla ya kuwa katika hatari ya shambulio.
HTML fuzzing ni mbinu ya kujaribu kuvunja usalama wa tovuti kwa kuingiza data isiyo salama au isiyotarajiwa katika vitu vya HTML. Hii inaweza kusababisha matatizo kama vile XSS (Cross-Site Scripting) au matumizi mabaya ya vitu vya HTML.
Kuna njia kadhaa za kufanya majaribio ya HTML fuzzing:
1.**Kuingiza maandishi yasiyotarajiwa**: Jaribu kuingiza maandishi yasiyotarajiwa katika vitu vya HTML kama vile mashamba ya fomu, viungo, au maeneo ya maandishi. Kwa mfano, jaribu kuingiza herufi za kipekee, herufi za kigeni, au maandishi yasiyofaa.
2.**Kuingiza herufi maalum**: Jaribu kuingiza herufi maalum kama vile alama za punctuation, herufi za kipekee, au herufi za kigeni katika vitu vya HTML. Kwa mfano, jaribu kuingiza alama za punctuation kama vile ishara ya swali (?), ishara ya alama (!), au ishara ya nukta (.) katika maeneo ya maandishi.
3.**Kuingiza kanuni za JavaScript**: Jaribu kuingiza kanuni za JavaScript katika vitu vya HTML kama vile mashamba ya fomu au viungo. Hii inaweza kusababisha XSS (Cross-Site Scripting) ikiwa tovuti haijachuja au kuzuia kanuni za JavaScript zisizotarajiwa.
4.**Kuingiza vitambulisho vya HTML**: Jaribu kuingiza vitambulisho vya HTML visivyotarajiwa katika vitu vya HTML. Kwa mfano, jaribu kuingiza vitambulisho vya HTML kama vile <script>, <img>, au <iframe> katika maeneo ya maandishi.
Ni muhimu kukumbuka kuwa majaribio ya HTML fuzzing yanapaswa kufanywa kwa uangalifu na kwa idhini ya mmiliki wa tovuti. Kufanya majaribio haya bila idhini inaweza kuwa kinyume cha sheria na kusababisha madhara makubwa.
Zana ya **Hackability inspector** kutoka Portswigger inasaidia **uchambuzi** wa **sifa** za kitu cha javascript. Angalia: [https://portswigger-labs.net/hackability/inspector/?input=x.contentWindow\&html=%3Ciframe%20src=//subdomain1.portswigger-labs.net%20id=x%3E](https://portswigger-labs.net/hackability/inspector/?input=x.contentWindow\&html=%3Ciframe%20src=//subdomain1.portswigger-labs.net%20id=x%3E)
* Mbinu ya kupakua faili za .map js: [https://medium.com/@bitthebyte/javascript-for-bug-bounty-hunters-part-2-f82164917e7](https://medium.com/@bitthebyte/javascript-for-bug-bounty-hunters-part-2-f82164917e7)
* Unaweza kutumia zana hii kuchambua faili hizi [https://github.com/paazmaya/shuji](https://github.com/paazmaya/shuji)
Msimamizi wa kupunguza `--` pia ni uteuzi. Msimamizi huyu huchukua thamani na kisha hupunguza kwa moja. Ikiwa thamani hiyo sio nambari, itawekwa kama `NaN`. Hii inaweza kutumika kuondoa maudhui ya pembeni kutoka kwa mazingira.
Mbinu ya **`.call`** ya kazi hutumiwa kuendesha kazi.\
**Hoja ya kwanza** inayotarajiwa kwa chaguo-msingi ni **thamani ya `this`** na ikiwa **hakuna** kinachotolewa, **`window`** itakuwa thamani hiyo (isipokuwa **`strict mode`** inatumika).
//The apply function is pretty much exactly the same as the call function with one important difference, you can supply an array of arguments in the second argument:
Unapotafuta kwa njia ya kawaida ya kuingiza mizigo ya XSS kwenye wavuti, inaweza kuwa ngumu kujua ikiwa mizigo yako inafanya kazi vizuri au la. Kwa bahati nzuri, kuna njia ya kupata ufikiaji wa kivinjari cha kiotomatiki ili uweze kujaribu mizigo yako moja kwa moja.
Kuna zana kadhaa zinazopatikana ambazo zinaweza kukusaidia kufikia hili. Moja ya njia rahisi ni kutumia kivinjari cha kiotomatiki kama vile Selenium au Puppeteer. Zana hizi zinaweza kusanidiwa kufungua kivinjari, kuingia kwenye wavuti unayotaka kujaribu, na kutekeleza mizigo yako ya XSS kiotomatiki.
Kwa mfano, ikiwa unatumia Selenium na Python, unaweza kuandika skripti ambayo inafungua kivinjari, kuingia kwenye wavuti, na kuingiza mizigo yako ya XSS kwenye maeneo tofauti ya wavuti. Kisha, unaweza kuchambua majibu ya kivinjari ili kuona ikiwa mizigo yako inafanya kazi vizuri au la.
Kwa kutumia njia hii, unaweza kujaribu mizigo yako ya XSS kwa urahisi na kwa haraka, na kupata matokeo ya moja kwa moja kutoka kwa kivinjari. Hii inaweza kuwa njia yenye ufanisi zaidi ya kuhakikisha kuwa mizigo yako ya XSS inafanya kazi vizuri kabla ya kuitekeleza kwenye wavuti halisi.
<summary><strong>Jifunze kuhusu kudukua AWS kutoka sifuri hadi shujaa na</strong><ahref="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Mtaalam wa Timu Nyekundu ya AWS ya HackTricks)</strong></a><strong>!</strong></summary>
* Je, unafanya kazi katika **kampuni ya usalama wa mtandao**? Je, ungependa kuona **kampuni yako ikionekana katika HackTricks**? Au ungependa kupata ufikiaji wa **toleo jipya zaidi la PEASS au kupakua HackTricks kwa muundo wa PDF**? Angalia [**MPANGO WA KUJIUNGA**](https://github.com/sponsors/carlospolop)!
* Gundua [**Familia ya PEASS**](https://opensea.io/collection/the-peass-family), mkusanyiko wetu wa kipekee wa [**NFTs**](https://opensea.io/collection/the-peass-family)
* Pata [**swag rasmi ya PEASS & HackTricks**](https://peass.creator-spring.com)
* **Jiunge na** [**💬**](https://emojipedia.org/speech-balloon/) [**Kikundi cha Discord**](https://discord.gg/hRep4RUj7f) au [**kikundi cha telegram**](https://t.me/peass) au **nifuatilie** kwenye **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Shiriki mbinu zako za kudukua kwa kuwasilisha PRs kwenye** [**repo ya hacktricks**](https://github.com/carlospolop/hacktricks) **na** [**repo ya hacktricks-cloud**](https://github.com/carlospolop/hacktricks-cloud).