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 af
This commit is contained in:
parent
d207293bb7
commit
d300b7b052
@ -45,7 +45,7 @@ cors-bypass.md
|
||||
|
||||
## **Csrf tot Rekening Oorneming**
|
||||
|
||||
As die bladsy kwesbaar is vir CSRF, mag jy in staat wees om die **gebruiker sy wagwoord**, e-pos of verifikasie te laat verander sodat jy dit dan kan toegang:
|
||||
As die bladsy kwesbaar is vir CSRF mag jy in staat wees om die **gebruiker sy wagwoord**, e-pos of verifikasie te laat verander sodat jy dit dan kan toegang:
|
||||
|
||||
{{#ref}}
|
||||
csrf-cross-site-request-forgery.md
|
||||
@ -53,7 +53,7 @@ csrf-cross-site-request-forgery.md
|
||||
|
||||
## **XSS tot Rekening Oorneming**
|
||||
|
||||
As jy 'n XSS in die toepassing vind, mag jy in staat wees om koekies, plaaslike berging, of inligting van die webblad te steel wat jou kan toelaat om die rekening oor te neem:
|
||||
As jy 'n XSS in die toepassing vind, mag jy in staat wees om koekies, plaaslike stoor, of inligting van die webblad te steel wat jou kan toelaat om die rekening oor te neem:
|
||||
|
||||
{{#ref}}
|
||||
xss-cross-site-scripting/
|
||||
@ -97,7 +97,7 @@ oauth-to-account-takeover.md
|
||||
- Die statuskode word verander na `200 OK`.
|
||||
- Die antwoord liggaam word gewysig na `{"success":true}` of 'n leë objek `{}`.
|
||||
|
||||
Hierdie manipulasietegnieke is effektief in scenario's waar JSON gebruik word vir data-oordrag en ontvangs.
|
||||
Hierdie manipulasietegnieke is effektief in scenario's waar JSON gebruik word vir data oordrag en ontvangs.
|
||||
|
||||
## Verander e-pos van huidige sessie
|
||||
|
||||
@ -111,7 +111,7 @@ Van [hierdie verslag](https://dynnyd20.medium.com/one-click-account-take-over-e5
|
||||
|
||||
Dit het ook gebeur in [**hierdie verslag**](https://dynnyd20.medium.com/one-click-account-take-over-e500929656ea).
|
||||
|
||||
### Om e-pos verifikasie te omseil vir Rekening Oorneming
|
||||
### Omseil e-pos verifikasie vir Rekening Oorneming
|
||||
- Aanvaller log in met attacker@test.com en verifieer e-pos tydens aanmelding.
|
||||
- Aanvaller verander bevestigde e-pos na victim@test.com (geen sekondêre verifikasie op e-pos verandering)
|
||||
- Nou laat die webwerf victim@test.com toe om in te log en ons het die e-pos verifikasie van die slagoffer gebruiker omseil.
|
||||
|
@ -471,16 +471,66 @@ window.search = window.search || {};
|
||||
showResults(true);
|
||||
}
|
||||
|
||||
var branch = lang === "en" ? "master" : lang
|
||||
fetch(`https://raw.githubusercontent.com/HackTricks-wiki/hacktricks/refs/heads/${branch}/searchindex.json`)
|
||||
.then(response => response.json())
|
||||
.then(json => init(json))
|
||||
.catch(error => { // Try to load searchindex.js if fetch failed
|
||||
var script = document.createElement('script');
|
||||
script.src = `https://raw.githubusercontent.com/HackTricks-wiki/hacktricks/refs/heads/${branch}/searchindex.js`;
|
||||
script.onload = () => init(window.search);
|
||||
document.head.appendChild(script);
|
||||
});
|
||||
(async function loadSearchIndex(lang = window.lang || 'en') {
|
||||
/* ───────── paths ───────── */
|
||||
const branch = lang === 'en' ? 'master' : lang;
|
||||
const baseRemote = `https://raw.githubusercontent.com/HackTricks-wiki/hacktricks/${branch}`;
|
||||
const remoteJson = `${baseRemote}/searchindex.json`;
|
||||
const remoteJs = `${baseRemote}/searchindex.js`;
|
||||
const localJson = './searchindex.json';
|
||||
const localJs = './searchindex.js';
|
||||
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
|
||||
search.hasFocus = hasFocus;
|
||||
|
Loading…
x
Reference in New Issue
Block a user