mirror of
https://github.com/HackTricks-wiki/hacktricks.git
synced 2025-10-10 18:36:50 +00:00
Translated ['src/pentesting-web/account-takeover.md'] to sw
This commit is contained in:
parent
7884127561
commit
c3dd3d8324
@ -12,12 +12,12 @@ Barua pepe ya akaunti inapaswa kujaribiwa kubadilishwa, na mchakato wa uthibitis
|
|||||||
2. Akaunti inapaswa kuundwa kwa kutumia Unicode\
|
2. Akaunti inapaswa kuundwa kwa kutumia Unicode\
|
||||||
kwa mfano: `vićtim@gmail.com`
|
kwa mfano: `vićtim@gmail.com`
|
||||||
|
|
||||||
Kama ilivyoelezwa katika [**hili mazungumzo**](https://www.youtube.com/watch?v=CiIyaZ3x49c), shambulio la awali linaweza pia kufanywa kwa kutumia watoa huduma wa utambulisho wa upande wa tatu:
|
Kama ilivyoelezwa katika [**hii hotuba**](https://www.youtube.com/watch?v=CiIyaZ3x49c), shambulio la awali linaweza pia kufanywa kwa kutumia watoa huduma wa utambulisho wa upande wa tatu:
|
||||||
|
|
||||||
- Unda akaunti katika utambulisho wa upande wa tatu kwa barua pepe inayofanana na ya mwathirika kwa kutumia herufi za unicode (`vićtim@company.com`).
|
- Unda akaunti katika utambulisho wa upande wa tatu kwa barua pepe inayofanana na ya mwathirika kwa kutumia herufi za unicode (`vićtim@company.com`).
|
||||||
- Mtoa huduma wa upande wa tatu haipaswi kuthibitisha barua pepe
|
- Mtoa huduma wa upande wa tatu haipaswi kuthibitisha barua pepe
|
||||||
- Ikiwa mtoa huduma wa utambulisho anathibitisha barua pepe, labda unaweza kushambulia sehemu ya domain kama: `victim@ćompany.com` na kujiandikisha kwa hiyo domain na kutumaini kwamba mtoa huduma wa utambulisho anaunda toleo la ascii la domain wakati jukwaa la mwathirika linanormalize jina la domain.
|
- Ikiwa mtoa huduma wa utambulisho anathibitisha barua pepe, labda unaweza kushambulia sehemu ya domain kama: `victim@ćompany.com` na kujiandikisha kwa hiyo domain na kutumaini kwamba mtoa huduma wa utambulisho anaunda toleo la ascii la domain wakati jukwaa la mwathirika linanormalize jina la domain.
|
||||||
- Ingia kupitia mtoa huduma huyu wa utambulisho katika jukwaa la mwathirika ambaye anapaswa kunormalize herufi za unicode na kukuruhusu ufikie akaunti ya mwathirika.
|
- Ingia kupitia mtoa huduma huyu wa utambulisho katika jukwaa la mwathirika ambaye anapaswa ku-normalize herufi za unicode na kukuruhusu ufikie akaunti ya mwathirika.
|
||||||
|
|
||||||
Kwa maelezo zaidi, rejelea hati kuhusu Unicode Normalization:
|
Kwa maelezo zaidi, rejelea hati kuhusu Unicode Normalization:
|
||||||
|
|
||||||
@ -45,7 +45,7 @@ cors-bypass.md
|
|||||||
|
|
||||||
## **Csrf to Account Takeover**
|
## **Csrf to Account Takeover**
|
||||||
|
|
||||||
Ikiwa ukurasa unahatarishwa na CSRF unaweza kuwa na uwezo wa kumfanya **mtumiaji abadilishe nenosiri lake**, barua pepe au uthibitisho ili uweze kufikia hiyo:
|
Ikiwa ukurasa unahatarishwa kwa CSRF unaweza kuwa na uwezo wa kumfanya **mtumiaji abadilishe nenosiri lake**, barua pepe au uthibitisho ili uweze kuifikia:
|
||||||
|
|
||||||
{{#ref}}
|
{{#ref}}
|
||||||
csrf-cross-site-request-forgery.md
|
csrf-cross-site-request-forgery.md
|
||||||
@ -61,7 +61,7 @@ xss-cross-site-scripting/
|
|||||||
|
|
||||||
## **Same Origin + Cookies**
|
## **Same Origin + Cookies**
|
||||||
|
|
||||||
Ikiwa unapata XSS iliyopunguzwa au kuchukua subdomain, unaweza kucheza na vidakuzi (kuvifunga kwa mfano) kujaribu kuathiri akaunti ya mwathirika:
|
Ikiwa unapata XSS iliyopunguzwa au kuchukua subdomain, unaweza kucheza na vidakuzi (kuvifunga kwa mfano) ili kujaribu kuathiri akaunti ya mwathirika:
|
||||||
|
|
||||||
{{#ref}}
|
{{#ref}}
|
||||||
hacking-with-cookies/
|
hacking-with-cookies/
|
||||||
@ -101,7 +101,7 @@ Mbinu hizi za urekebishaji ni bora katika hali ambapo JSON inatumika kwa usafiri
|
|||||||
|
|
||||||
## Change email of current session
|
## Change email of current session
|
||||||
|
|
||||||
Kutoka [ripoti hii](https://dynnyd20.medium.com/one-click-account-take-over-e500929656ea):
|
Kutoka [hii ripoti](https://dynnyd20.medium.com/one-click-account-take-over-e500929656ea):
|
||||||
|
|
||||||
- Mshambuliaji anahitaji kubadilisha barua yake pepe na mpya
|
- Mshambuliaji anahitaji kubadilisha barua yake pepe na mpya
|
||||||
- Mshambuliaji anapata kiungo cha kuthibitisha mabadiliko ya barua pepe
|
- Mshambuliaji anapata kiungo cha kuthibitisha mabadiliko ya barua pepe
|
||||||
@ -109,17 +109,17 @@ Kutoka [ripoti hii](https://dynnyd20.medium.com/one-click-account-take-over-e500
|
|||||||
- Barua pepe ya mwathirika inabadilishwa kuwa ile iliyotajwa na mshambuliaji
|
- Barua pepe ya mwathirika inabadilishwa kuwa ile iliyotajwa na mshambuliaji
|
||||||
- Mshambuliaji anaweza kurejesha nenosiri na kuchukua akaunti
|
- Mshambuliaji anaweza kurejesha nenosiri na kuchukua akaunti
|
||||||
|
|
||||||
Hii pia ilitokea katika [**ripoti hii**](https://dynnyd20.medium.com/one-click-account-take-over-e500929656ea).
|
Hii pia ilitokea katika [**hii ripoti**](https://dynnyd20.medium.com/one-click-account-take-over-e500929656ea).
|
||||||
|
|
||||||
### Bypass email verification for Account Takeover
|
### Bypass email verification for Account Takeover
|
||||||
- Mshambuliaji anaingia na attacker@test.com na kuthibitisha barua pepe wakati wa kujiandikisha.
|
- Mshambuliaji anaingia na attacker@test.com na kuthibitisha barua pepe wakati wa usajili.
|
||||||
- Mshambuliaji anabadilisha barua pepe iliyothibitishwa kuwa victim@test.com (hakuna uthibitisho wa pili kwenye mabadiliko ya barua pepe)
|
- Mshambuliaji anabadilisha barua pepe iliyothibitishwa kuwa victim@test.com (hakuna uthibitisho wa pili kwenye mabadiliko ya barua pepe)
|
||||||
- Sasa tovuti inaruhusu victim@test.com kuingia na tumepita uthibitisho wa barua pepe wa mtumiaji mwathirika.
|
- Sasa tovuti inaruhusu victim@test.com kuingia na tumepita uthibitisho wa barua pepe wa mtumiaji mwathirika.
|
||||||
|
|
||||||
### Old Cookies
|
### Old Cookies
|
||||||
|
|
||||||
Kama ilivyoelezwa [**katika chapisho hili**](https://medium.com/@niraj1mahajan/uncovering-the-hidden-vulnerability-how-i-found-an-authentication-bypass-on-shopifys-exchange-cc2729ea31a9), ilikuwa inawezekana kuingia kwenye akaunti, kuhifadhi vidakuzi kama mtumiaji aliyethibitishwa, kutoka, na kisha kuingia tena.\
|
Kama ilivyoelezwa [**katika chapisho hili**](https://medium.com/@niraj1mahajan/uncovering-the-hidden-vulnerability-how-i-found-an-authentication-bypass-on-shopifys-exchange-cc2729ea31a9), ilikuwa inawezekana kuingia kwenye akaunti, kuhifadhi vidakuzi kama mtumiaji aliyethibitishwa, kutoka, na kisha kuingia tena.\
|
||||||
Kwa kuingia mpya, ingawa vidakuzi tofauti vinaweza kuundwa vidakuzi vya zamani vilianza kufanya kazi tena.
|
Kwa kuingia mpya, ingawa vidakuzi tofauti vinaweza kuundwa, vya zamani vilianza kufanya kazi tena.
|
||||||
|
|
||||||
## References
|
## References
|
||||||
|
|
||||||
|
@ -471,16 +471,66 @@ window.search = window.search || {};
|
|||||||
showResults(true);
|
showResults(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
var branch = lang === "en" ? "master" : lang
|
(async function loadSearchIndex(lang = window.lang || 'en') {
|
||||||
fetch(`https://raw.githubusercontent.com/HackTricks-wiki/hacktricks/refs/heads/${branch}/searchindex.json`)
|
/* ───────── paths ───────── */
|
||||||
.then(response => response.json())
|
const branch = lang === 'en' ? 'master' : lang;
|
||||||
.then(json => init(json))
|
const baseRemote = `https://raw.githubusercontent.com/HackTricks-wiki/hacktricks/${branch}`;
|
||||||
.catch(error => { // Try to load searchindex.js if fetch failed
|
const remoteJson = `${baseRemote}/searchindex.json`;
|
||||||
var script = document.createElement('script');
|
const remoteJs = `${baseRemote}/searchindex.js`;
|
||||||
script.src = `https://raw.githubusercontent.com/HackTricks-wiki/hacktricks/refs/heads/${branch}/searchindex.js`;
|
const localJson = './searchindex.json';
|
||||||
script.onload = () => init(window.search);
|
const localJs = './searchindex.js';
|
||||||
document.head.appendChild(script);
|
const TIMEOUT_MS = 5_000;
|
||||||
});
|
|
||||||
|
/* ───────── helpers ───────── */
|
||||||
|
const fetchWithTimeout = (url, opt = {}) =>
|
||||||
|
Promise.race([
|
||||||
|
fetch(url, opt),
|
||||||
|
new Promise((_, r) => setTimeout(() => r(new Error('timeout')), TIMEOUT_MS))
|
||||||
|
]);
|
||||||
|
|
||||||
|
const loadScript = src =>
|
||||||
|
new Promise((resolve, reject) => {
|
||||||
|
const s = document.createElement('script');
|
||||||
|
s.src = src;
|
||||||
|
s.onload = resolve;
|
||||||
|
s.onerror = reject;
|
||||||
|
document.head.appendChild(s);
|
||||||
|
});
|
||||||
|
|
||||||
|
/* ───────── 1. remote JSON ───────── */
|
||||||
|
try {
|
||||||
|
const r = await fetchWithTimeout(remoteJson);
|
||||||
|
if (!r.ok) throw new Error(r.status);
|
||||||
|
return init(await r.json());
|
||||||
|
} catch (e) {
|
||||||
|
console.warn('Remote JSON failed →', e);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ───────── 2. remote JS ───────── */
|
||||||
|
try {
|
||||||
|
await loadScript(remoteJs);
|
||||||
|
return init(window.search);
|
||||||
|
} catch (e) {
|
||||||
|
console.warn('Remote JS failed →', e);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ───────── 3. local JSON ───────── */
|
||||||
|
try {
|
||||||
|
const r = await fetch(localJson);
|
||||||
|
if (!r.ok) throw new Error(r.status);
|
||||||
|
return init(await r.json());
|
||||||
|
} catch (e) {
|
||||||
|
console.warn('Local JSON failed →', e);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ───────── 4. local JS ───────── */
|
||||||
|
try {
|
||||||
|
await loadScript(localJs);
|
||||||
|
return init(window.search);
|
||||||
|
} catch (e) {
|
||||||
|
console.error('Local JS failed →', e);
|
||||||
|
}
|
||||||
|
})();
|
||||||
|
|
||||||
// Exported functions
|
// Exported functions
|
||||||
search.hasFocus = hasFocus;
|
search.hasFocus = hasFocus;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user