Volgens mij kun je geen cookies lezen buiten het domein waar het script wordt uitgevoerd, maar ik kan me vergissen. Waarom zou je overigens cookies van een andere website willen inlezen? Vaak zijn het privégegevens.
Hehe....omdat ik dat gewoon wil kunnen :D. Maar het zou moeten kunnen want daardoor kon vroeger iedereen schijbaar "hotmail" hacken... (dat kan nu niet meer & dat ben ik ook niet v. plan)
Je kan een script schrijven (in javascript) dat de cookies uitleest, en een pagina aanvraagt en dan via de url (mag ook post waneer je xmlhttprequest gebruikt zijn) de data doorgeven aan je eigen 'informatie verzamelpunt'. Maar dan moet je dus op een manier dat script kunnen plaatsen in een pagina. Wat ook kan is de pagina laten laden in een frame, en dan vanuit een ander frame de code in het ene frame schrijven en uitvoeren.
Als mensen stom genoeg zijn om een andere pagina in een frame vertrouwelijke informatie in te vullen en die andere pagina in je frame geen frame-buster heeft, zou het denk ik wel kunnen.
Je kan een script schrijven (in javascript) dat de cookies uitleest, en een pagina aanvraagt en dan via de url (mag ook post waneer je xmlhttprequest gebruikt zijn) de data doorgeven aan je eigen 'informatie verzamelpunt'. Maar dan moet je dus op een manier dat script kunnen plaatsen in een pagina. Wat ook kan is de pagina laten laden in een frame, en dan vanuit een ander frame de code in het ene frame schrijven en uitvoeren.
Als je dus de tweede manier zou willen verhinderen, zou je met een stukje JavaScript moeten voorkomen dat je site in een frame gezet kan worden:
<script language="JavaScript">
if (self != top)
{
if (document.images)
top.location.replace(window.location.href);
else
top.location.href = window.location.href;
}
</script>
Zo gezien is iedere link die een gebruiker kan invullen en aan anderen klikbaar kan maken, en ieder veld (bijv. gastenboek) waar de code van de gebruiker niet gedesinfecteerd (html_entities()) wordt, een potentieel veiligheidslek.
Voor de aardigheid zal ik eens proberen zoiets te maken ;)
(nee, ik heb geen slechte bedoelingen, maar wie de aanvallen kent, weet zich te verdedigen :)
@Jan Koehoorn: Dat inframen kan je nog verhinderen. Eerst die pagina inladen in een frame terwijl je javascript uit hebt staan. En vervolgens javascript aanzetten en je pagina in het andere frame refhresen.