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 pl
This commit is contained in:
parent
c79291e5d6
commit
9f7764f1f2
@ -19,7 +19,7 @@ Jak wyjaśniono w [**tej prezentacji**](https://www.youtube.com/watch?v=CiIyaZ3x
|
|||||||
- Jeśli dostawca tożsamości weryfikuje adres e-mail, być może możesz zaatakować część domeny, na przykład: `victim@ćompany.com` i zarejestrować tę domenę, mając nadzieję, że dostawca tożsamości wygeneruje wersję ascii domeny, podczas gdy platforma ofiary znormalizuje nazwę domeny.
|
- Jeśli dostawca tożsamości weryfikuje adres e-mail, być może możesz zaatakować część domeny, na przykład: `victim@ćompany.com` i zarejestrować tę domenę, mając nadzieję, że dostawca tożsamości wygeneruje wersję ascii domeny, podczas gdy platforma ofiary znormalizuje nazwę domeny.
|
||||||
- Zaloguj się za pośrednictwem tego dostawcy tożsamości na platformie ofiary, która powinna znormalizować znak unicode i umożliwić dostęp do konta ofiary.
|
- Zaloguj się za pośrednictwem tego dostawcy tożsamości na platformie ofiary, która powinna znormalizować znak unicode i umożliwić dostęp do konta ofiary.
|
||||||
|
|
||||||
Aby uzyskać więcej informacji, zapoznaj się z dokumentem na temat Normalizacji Unicode:
|
Aby uzyskać więcej szczegółów, zapoznaj się z dokumentem na temat Normalizacji Unicode:
|
||||||
|
|
||||||
{{#ref}}
|
{{#ref}}
|
||||||
unicode-injection/unicode-normalization.md
|
unicode-injection/unicode-normalization.md
|
||||||
@ -103,17 +103,17 @@ Te techniki manipulacji są skuteczne w scenariuszach, w których JSON jest wyko
|
|||||||
|
|
||||||
Z [tego raportu](https://dynnyd20.medium.com/one-click-account-take-over-e500929656ea):
|
Z [tego raportu](https://dynnyd20.medium.com/one-click-account-take-over-e500929656ea):
|
||||||
|
|
||||||
- Napastnik prosi o zmianę swojego e-maila na nowy.
|
- Napastnik prosi o zmianę swojego e-maila na nowy
|
||||||
- Napastnik otrzymuje link do potwierdzenia zmiany e-maila.
|
- Napastnik otrzymuje link do potwierdzenia zmiany e-maila
|
||||||
- Napastnik wysyła ofierze link, aby kliknęła w niego.
|
- Napastnik wysyła ofierze link, aby kliknęła
|
||||||
- E-mail ofiary zostaje zmieniony na ten wskazany przez napastnika.
|
- E-mail ofiary zostaje zmieniony na ten wskazany przez napastnika
|
||||||
- Napastnik może odzyskać hasło i przejąć konto.
|
- Napastnik może odzyskać hasło i przejąć konto
|
||||||
|
|
||||||
To również miało miejsce w [**tym raporcie**](https://dynnyd20.medium.com/one-click-account-take-over-e500929656ea).
|
To również miało miejsce w [**tym raporcie**](https://dynnyd20.medium.com/one-click-account-take-over-e500929656ea).
|
||||||
|
|
||||||
### Ominięcie weryfikacji e-maila w celu przejęcia konta
|
### Ominięcie weryfikacji e-maila w celu przejęcia konta
|
||||||
- Napastnik loguje się jako attacker@test.com i weryfikuje e-mail podczas rejestracji.
|
- Napastnik loguje się jako attacker@test.com i weryfikuje e-mail podczas rejestracji.
|
||||||
- Napastnik zmienia zweryfikowany e-mail na victim@test.com (brak dodatkowej weryfikacji przy zmianie e-maila).
|
- Napastnik zmienia zweryfikowany e-mail na victim@test.com (brak dodatkowej weryfikacji przy zmianie e-maila)
|
||||||
- Teraz strona pozwala victim@test.com na logowanie, a my ominięliśmy weryfikację e-maila użytkownika ofiary.
|
- Teraz strona pozwala victim@test.com na logowanie, a my ominięliśmy weryfikację e-maila użytkownika ofiary.
|
||||||
|
|
||||||
### Stare Ciasteczka
|
### Stare Ciasteczka
|
||||||
@ -121,7 +121,7 @@ To również miało miejsce w [**tym raporcie**](https://dynnyd20.medium.com/one
|
|||||||
Jak wyjaśniono [**w tym poście**](https://medium.com/@niraj1mahajan/uncovering-the-hidden-vulnerability-how-i-found-an-authentication-bypass-on-shopifys-exchange-cc2729ea31a9), możliwe było zalogowanie się na konto, zapisanie ciasteczek jako uwierzytelniony użytkownik, wylogowanie się, a następnie ponowne zalogowanie.\
|
Jak wyjaśniono [**w tym poście**](https://medium.com/@niraj1mahajan/uncovering-the-hidden-vulnerability-how-i-found-an-authentication-bypass-on-shopifys-exchange-cc2729ea31a9), możliwe było zalogowanie się na konto, zapisanie ciasteczek jako uwierzytelniony użytkownik, wylogowanie się, a następnie ponowne zalogowanie.\
|
||||||
Przy nowym logowaniu, chociaż mogą być generowane różne ciasteczka, stare zaczęły działać ponownie.
|
Przy nowym logowaniu, chociaż mogą być generowane różne ciasteczka, stare zaczęły działać ponownie.
|
||||||
|
|
||||||
## Referencje
|
## Odnośniki
|
||||||
|
|
||||||
- [https://infosecwriteups.com/firing-8-account-takeover-methods-77e892099050](https://infosecwriteups.com/firing-8-account-takeover-methods-77e892099050)
|
- [https://infosecwriteups.com/firing-8-account-takeover-methods-77e892099050](https://infosecwriteups.com/firing-8-account-takeover-methods-77e892099050)
|
||||||
- [https://dynnyd20.medium.com/one-click-account-take-over-e500929656ea](https://dynnyd20.medium.com/one-click-account-take-over-e500929656ea)
|
- [https://dynnyd20.medium.com/one-click-account-take-over-e500929656ea](https://dynnyd20.medium.com/one-click-account-take-over-e500929656ea)
|
||||||
|
@ -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