Ahora, antes de profundizar en cómo explotar y descubrir vulnerabilidades, me gustaría hacer una pausa y retroceder un segundo
y ver qué sucede exactamente cuando un usuario hace clic en un enlace determinado.
Así que aquí tenemos el sitio del cliente.
Así que esta es su computadora con el sitio web de correo electrónico que se muestra al usuario.
Así que todo esto está cargado en su computadora, en el cliente.
Y luego tenemos el servidor, que contiene el código que se ejecuta si el sitio web es funcional y
si usa código.
Entonces, cuando haces clic en un enlace.
El sitio web de correo electrónico o el lado del cliente, parte de la página del sitio web, generará una solicitud, por lo que en
realidad no realizará ningún cálculo la mayor parte del tiempo.
Ahora, a veces hay un código del lado del cliente y lo veremos.
Pero generalmente el código del sitio del cliente generará una solicitud que se envía al sitio web, al servidor
web, y el servidor web tendrá algún código funcional como BHP o Python, Ruby, cualquier lenguaje de programación.
Y esa es la mayor parte del tiempo que el código interactúa con la base de datos, obtiene
algún tipo de información y luego envía la información como respuesta al sitio web, al navegador y el navegador se mostrará
como HTML.
Entonces, el código, el código funcional o el código de cálculo generalmente se almacena en el lado del servidor.
Y la forma en que funcionan la mayoría de estos sitios web es que generan una solicitud, la envían al servidor, al
servidor, ejecutan la solicitud y la devuelven.
Entonces, cuando intentamos piratear sitios web y explotarlos, generalmente jugamos con las solicitudes e intentamos
modificar esa solicitud para que realice algunas acciones que nos ayudarían a obtener información o ejecutar algún tipo
de código que nos daría una conexión inversa.
Ahora, hay dos tipos de solicitudes: obtener solicitudes y publicar solicitudes.
Tengamos un ejemplo, así que si vamos aquí en la inclusión final, verá que tenemos una
variable llamada Página y el valor de eso es incluir eso.
Entonces, aquí mismo, esta es una solicitud de obtención porque podemos ver sus valores en la URL.
Entonces podemos ver que la página es igual a incluir eso.
Entonces, esta página solicita otra página para incluir otra página llamada Index Dot.
Ahora, no entraremos en detalles de lo que eso significa.
Lo único que nos preocupa es tener un ejemplo, y este es el ejemplo.
Así que esta es la variable para la que se nos da un valor, que es Page, y le estamos
dando un valor de include Dogpatch.
Así que esa es una solicitud de obtención.
Un ejemplo de una solicitud de publicación es la carga del archivo, por lo que si vamos a la carga del archivo cuando carga algo
aquí.
Déjame subir algo.
Verá que la URL no se modifica, pero la solicitud, una idea del sitio web, la imagen se
carga en el servidor y todo eso, pero la URL sigue siendo la misma.
Pero el sitio web envió información.
Entonces, el sitio web de Hatami envió información al servidor.
Simplemente no vio la información aquí porque se envió como publicación en lugar de obtener.
Entonces.
El primer problema ahora es que no podemos ver los costos del póster, no podemos modificarlos porque
no se muestran aquí en la URL en el caso de todavía, podemos modificarlos directamente desde la URL.
Otro problema es que muchos de estos sitios web en el futuro se usarán en seguridad y
usarán código del lado del cliente.
Entonces, si se usa, la solicitud se modifica antes de enviarse.
Así que habrá filtros y cosas trabajando en el lado del cliente que modificarán nuestro código antes de que lo enviemos.
Entonces, la mejor manera de interceptar solicitudes y para que podamos ver las solicitudes de publicación, usaremos un
proxy.
El proxy que usaremos es el proxy de nacimiento.
Entonces, cómo va a funcionar el nacimiento es que tenemos a nuestro cliente aquí y tenemos el servidor web, tal como
lo hemos visto antes, y tenemos el sitio web de correo electrónico cargado en nuestra máquina de dulces.
Entonces, cuando enviamos la solicitud, en lugar de enviarla directamente al navegador web, configuraremos nuestro
navegador para enviar la solicitud a berp.
Así que este es nuestro proxy que se ejecuta aquí.
Berp verá todos los parámetros que se publican en el sitio web.
Así que veremos las solicitudes de publicación para recibir solicitudes y las veremos.
Después de todo, se ha aplicado el código de cliente.
Entonces, algunos sitios web aplican el código Clydeside, como dije en la solicitud antes de enviarla.
Entonces, podremos ver las solicitudes después de que se haya aplicado el código del sitio del cliente.
Esto es muy importante porque muchos sitios web usan el filtrado como lado del cliente y
luego podremos omitir todos estos filtros al interceptar la solicitud.
Luego, una vez que modifiquemos la solicitud en berp, la reenviaremos al sitio web.
El sitio web lo ejecutará y nos lo devolverá.
Todo esto quedará más claro en la próxima lección, ya que usamos el proxy berp en la práctica para interceptar
y modificar solicitudes.