Para o relatório de avaliação de segurança do NSFOCUS "Remote Security Assessment System", aqui está um registro do processo de processamento.
Atributo HttpOnly ausente detectado no cookie de sessão
Uma descrição detalhada
A falta do atributo HttpOnly no cookie da sessão permitirá que o invasor obtenha as informações do cookie do usuário por meio de programas (scripts JS, Applets etc.), resultando no vazamento de informações do cookie do usuário e aumentando a ameaça de ataques de script entre sites pelo atacante.
HttpOnly é uma extensão feita pela Microsoft para cookies. Este valor especifica se os cookies podem ser acessados por scripts do lado do cliente. O Microsoft Internet Explorer versão 6 Service Pack 1 e posterior oferece suporte ao atributo de cookie HttpOnly.
Se o atributo HttpOnly não for definido como true no cookie, o cookie poderá ser roubado. Os cookies roubados podem conter informações confidenciais que identificam os usuários do site, como IDs de sessão ASP.NET ou tíquetes de autenticação de formulários, e os invasores podem reproduzir cookies roubados para se passar por usuários ou obter informações confidenciais, realizar ataques de script entre sites e muito mais.
Se o atributo HttpOnly for definido como true no cookie e o navegador compatível receber o cookie HttpOnly, o cliente não conseguirá ler as informações do cookie por meio de programas (scripts JS, Applets etc.), o que ajudará a mitigar o tráfego cruzado. ameaças de script de site.
Solução
Adicione o atributo "HttpOnly" a todos os cookies de sessão.
Exemplo Java:
HttpServletResponse response2 = (HttpServletResponse)response;
response2.setHeader( "Set-Cookie", "name=value; HttpOnly");
C# exemplo:
HttpCookie myCookie = new HttpCookie("myCookie");
myCookie.HttpOnly = true;
Response.AppendCookie(myCookie);
Exemplo VB.NET:
Dim myCookie As HttpCookie = new HttpCookie("myCookie")
myCookie.HttpOnly = True
Response.AppendCookie(myCookie)
solução PHP
A informação acima é fornecida no relatório.O projeto que realmente mantenho é PHP, então como resolver esse problema em PHP.
Modificar php.ini
session.cookie_httponly = 1
Basta reiniciar o serviço.
Verifique se ainda existe esse bug
alert(document.cookie);
Se o valor puder ser obtido, significa que há um bug.
Existe outra maneira, conforme mostrado na figura a seguir:
referência
https://stackoverflow.com/questions/51205876/https-cookie-httponly-and-secure