Se accede a las cookies y al almacenamiento local a través de las API de JavaScript. Cuando el atacante puede inyectar JavaScript en el documento html del objetivo, puede leerlos y escribirlos por igual.
Un comentario menciona cookies de solo http. Pero a las aplicaciones de JavaScript del lado del cliente no se puede acceder en absoluto, por lo que no compiten con localstorage en la mayoría de los escenarios.
Pero una cosa que debe tener en cuenta es que no existe tal cosa como una cookie solo para javascript . Cuando almacena información confidencial en una cookie, esa información se enviará al servidor con cada solicitud. Cuando no use https, se enviará sin cifrar. Sin embargo, esto no tiene nada que ver con las inyecciones de XSS.