PHP and DNS

Tercer capítulo del Bootcamp, como venimos haciendo primero completaremos el reading listvirtual hostingvhost Apachezone transfer. Como recursos complemetarios he utilizado estos libros que me han ido de maravilla:

  1. El gran libro HTML,CSS,Javascript.
  2. El gran libro de PHP.
  3. SQL fácil.

Una vez completada la lectura nos ponemos “HANDS ON” con los ejercicios prácticos.

Prácticas:

  • PHP basics:
    • Install PHP in your virtual machine (using your previous Apache installation), write a script that echoes back a parameter in the URL. For example, accessing http://vulnerable/hello.php?name=Louis will return “Hello Louis”.
    • Install Mysql and create a script that retrieves information from it, like article.php?id=1 returns a book and article.php?id=2 returns a computer.
    • Create a page that sends data to itself using a POST request.
  • DNS and whois:
    • Install the command line tool dig in your vm.
    • Find what name servers are used by PentesterLab, find what Mail servers are used by pentesterlab and find the Ip address of www.pentesterlab.com
    • Obtain information about pentesterlab.com using the whois tool.

El primer paso a seguir nos dice que tenemos que instalar PHP en el sistema, usamos nuestro querido apt-get 😀 y lo completaremos en dos pasos.

phpinstall.png

segudopasophpinstall.png

Con los dos pasos anteriores ya tenemos instalado PHP en el sistema, para ver si funciona correctamente, crearemos el archivo prueba.php en la carpeta raíz del servidor web var/www/html y lo ejecutaremos mediante el navegador:

pruebaphp.png

probandophp.png

Como observamos hemos instalado correctamente PHP en el sistema, ahora realizaremos la tarea que nos encomendaban, se trataba de realizar un script que devolviera el parámetro que nosotros escribamos en la URL por ejemplo si ponemos  http://vulnerable/hello.php?name=loganayala tiene que devolver “HOLA loganayala”.

holaphp.png

hellologanayala-2914649310-1517345315210.png

Se puede observar que el campo que nosotros introducimos por la url del navegador se recibe como parametro por el método GET y con el comando echo lo imprime por pantalla. Con esto ya hemos finalizado con el primer punto.

El segundo punto del PHP basics nos dice que instalemos primeramente MYSQL y con un script tenemos que imprimir por pantalla un id=1 que sea un libro y un id=2 que sea un ordenador. Aquí me he complicado un poco la existencia, instalé MYSQL normalmente con apt-get pero después mediante scripts en PHP realicé las tareas de crear la DataBase de MYSQL, así como la Tabla y los Objetos que contiene esta :D, como se trataba de aprender PHP pues le he dado bastante caña.

Instalamos MYSQL:

mysqlinstall.png

Probamos la conexión con nuestro usuario y contraseña mediante un script realizado en PHP:

conexionmysql.png

checkeoconexion-1370600514-1517345350711.png

Como podemos ver funciona correctamente, ahora continuaremos creando la DataBase de MYSQL:

createDB.png

Comprobamos en la consola de comandos de MYSQL si se ha creado corrrectamente:

checkeocreateDB.png

Done!, continuamos con la tabla donde almacenaremos los objetos:

createTable.png

Mismo procedimiento comprobamos si se ha creado correctamente:

checkeocreateTable.png

Y ahora solo nos quedaría introducir los objetos dentro de la tabla, para esto utilizaremos un script llamado fillTable.php:

filltableID1.png

Si leeís detenidamente el script sólo hemos creado el id 1, por lo tanto realizaremos el mismo paso para el id 2, simplemente tendríamos que cambiar el campo VALUES con los valores del id 2. A continuación, comprobamos si se rellenó la tabla correctamente:

chekeofilltableDB.png

Ahora con toda la práctica y búsqueda que hemos realizado para confeccionar estos scripts la tarea que nos pide la haremos sin ningún tipo de problema, nos ha quedado así:

articlephp.png

Comprobamos el funcionamiento:

 

checkeoarticle.png.png

Alej0p!, vemos que extrae de la base de datos que hemos creado, los valores correctamente :D.

El tercer punto del PHP basics nos dice que tenemos que crear un formulario en un archivo nuevo y que mediante el método POST se envíe a el mismo lo que nosotros escribamos y lo imprima por pantalla. Creamos el formulario en lenguaje HTML y posteriormente en la parte de abajo realizamos el script en PHP que permite imprimir por pantalla el texto que hemos enviado mediante el formulario por el método POST:

formPostphp.png

checkeoPOSTrequest.png

Con estas prácticas ya tendríamos finalizado el PHP BASICS, nos hemos complicado un poco la existencia realizando todos los pasos mediante scripts sin utilizar en ningún momento la consola MYSQL para crear la DB, Table y los objetos y como dicen mis buenos amigos OSCP’eros TRY HARDER!!!.

A continuación pasaremos a los puntos de DNS y WHOIS, estos no tienen ninguna dificultad ya que se trata de experimentas con las herramientas dig, ping, whois y poner en práctica lo que hemos leído en el reading list. El primer paso será instalar la herramienta dig, como veís os adjunté una pequeña chuleta que os irá de maravilla. Instalamos el programa mediante apt-get:

aptgetinstalldnsutils.png

A continuación nos pide chequear los servidores, los mail servers y la IP de Pentesterlab, adjunto imágenes:

dignnsearch.png

digmxmailservers.png

pingIP.png

El segundo paso es mediante el comando whois ver la información que recibimos, los instalamos y posteriormente lo ejecutamos:

aptinstallwhois.pngwhoispentesterlab.png

Con esto ya habríamos finalizado la tercera parte del BootCamp, espero que os haya gustado y ya sabeís como más practiqueís, más fácil os será entender código y posteriormente realizarlo!, nos vemos en la siguiente entrega :D.

Deja un comentario