O que é uma exploração de proxy reverso?

3

Em esta questão achei essa parte específica do código em um Apache arquivo de configuração:

# rewrite rule to prevent proxy exploit
RewriteCond  %{REQUEST_URI}  !^$
RewriteCond  %{REQUEST_URI}  !^/
RewriteRule  .*              -    [R=400,L]

O que é uma exploração de proxy?

Como funciona e como exatamente essas linhas impedem o ataque?

    
por adelriosantiago 31.07.2016 / 23:59

1 resposta

2

Uma exploração de proxy reverso é a capacidade de aproveitar uma vulnerabilidade em um serviço que atua como um redirecionador intermediário para solicitação do cliente a um ou mais servidores / serviços de backend.

O Apache HTTPd pode atuar como tal gateway usando seus recursos de proxy / gateway multiprotocolo, por exemplo. mod_proxy & módulos relacionados.

O código apresentado usa as diretivas Apache mod_rewrite (RewriteCond aqui) é supostamente destinado a mitigar uma vulnerabilidade do Apache relacionada a como reescrever os valores do processo do módulo recebidos dentro do URI de solicitação de entrada.

1) Primeira condição de reescrita

RewriteCond  %{REQUEST_URI}  !^$
    A variável
  • REQUEST_URI é o componente do caminho do URI solicitado (sem string de consulta)
  • ! : "não" (por exemplo, não correspondendo)
  • ^: "início de REQUEST_URI
  • $: "fim do valor de REQUEST_URI"

2) Segunda condição de reescrita

RewriteCond  %{REQUEST_URI}  !^/
    A variável
  • REQUEST_URI é o componente do caminho do URI solicitado (sem string de consulta)
  • ! : "não"
  • ^: "início do valor REQUEST_URI"
  • /: "/" (literalmente), por exemplo, "separador de barra"

3) Reescreva a regra

   RewriteRule  .*              -    [R=400,L]
  • : "qualquer caractere único"
  • *: "Zero ou mais do caractere anterior"
  • -: "Nenhuma modificação no URL recebido
  • R = 400: redirecionar com o código de status HTTP 400 ("Solicitação incorreta")
  • L: regra "Última", interrompa o processamento
por 22.11.2016 / 23:42