# htpp-server

**Initial Binary Inspection**

·        Examined the `server.unknown` file using basic analysis tools

·        Identified it as an x86-64 ELF executable web server

·        Found string references to socket operations and HTTP functionality

**Finding Important Strings**

<figure><img src="https://3060579764-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fy0V3IWOg11I6nY8wI18S%2Fuploads%2FTr1zFLC4k0ik0XMUzkbi%2Fimage.png?alt=media&#x26;token=6c9fbab5-6099-4259-a79a-f415eec0fdf0" alt=""><figcaption></figcaption></figure>

We located these critical strings in the binary:

·        GET `/goodshit/umcs_server`HTTP/13.37

·        `r/flag`

·       `/flag`

·        Messages about socket creation and client connections

**Understanding the Server Logic**

·        The server expects a specific HTTP request format

·        It uses a non-standard HTTP version (13.37)

·        When it receives the correct request, it attempts to read a file called "/flag"

**Creating the Attack**

I created a simple HTTP request using netcat: `nc 34.133.69.112 8080`

GET `/goodshit/umcs_server` HTTP/13.37&#x20;

Host: `34.133.69.112`

`r/flag`

**Getting the Flag**

·        Sent the crafted request to the server

·        The server processed the special request format

·        It read and returned the flag content

**Flag:** <mark style="color:blue;">`umcs{http_server_a058712ff1da79c9bbf211907c65a5cd}`</mark>
