es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Carácter de separación en encabezados HTTP

Estoy tratando de crear un CTF de ciberseguridad para un proyecto escolar. Quiero poner una de las banderas en el encabezado del servidor de un sitio web utilizando la reescritura de URL para Microsoft IIS. Estoy almacenando mis banderas entre llaves ‘{}’, pero cualquier cosa que se ponga entre ellas parece estar comentada. ¿Existe un carácter de escape que pueda usar para permitirme usar los caracteres sin que sean comentados?

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Como experto en TI especializado en HTTP, IIS y reescritura de URL, sugiero utilizar el símbolo “^” como el carácter clave, ya que no se utiliza comúnmente en las URL y no se interpreta como un carácter especial por IIS.

    Por ejemplo, podrías almacenar tu bandera como “{^flag^}” y luego usar la siguiente regla de reescritura de URL para agregarla al encabezado del servidor:

    <rule name="Add Flag to Server Header" enabled="true" stopprocessing="true">
      <match servervariable="RESPONSE_Server" pattern=".*"></match>
      <conditions>
        <add input="{HTTP_HOST}" pattern=".*"></add>
      </conditions>
      <servervariables>
        <set name="RESPONSE_Server" value="Microsoft-IIS/{URL_FLAG:{^([^}]*)^}$1}/FlagFound"></set>
      </servervariables>
    </rule>
    

    Esto debería agregar la bandera en el formato de “Microsoft-IIS/{flag}/FlagFound” al encabezado del servidor sin que se comente.

Comments are closed.