Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Vinícius Siller

Roubo de Cookies

Recommended Posts

bom, o que você pode fazer é criptografar duas vezez em base64, que axo que ajuda...

 

por exemplo, você tem "ola amigos", ela em base64 fika: b2xhIGFtaWdvcw==, e se você passar esse texto já codificado de novo para base64, fika: YjJ4aElHRnRhV2R2Y3c9PQ==

 

e isso será complicado para a pessoa descobrir, e depois para pegar o valor decriptado, é só decriptar duas vezez também!

 

aqui está um código em asp para encriptar/decriptar em Base64:

 

<%
' Functions to provide encoding/decoding of strings with Base64.
' 
' Encoding: myEncodedString = base64_encode( inputString )
' Decoding: myDecodedString = base64_decode( encodedInputString )
'
' Programmed by Markus Hartsmar for ShameDesigns in 2002. 
' Email me at: mark@shamedesigns.com
' Visit our website at: http://www.shamedesigns.com/
'

	Dim Base64Chars
	Base64Chars =	"ABCDEFGHIJKLMNOPQRSTUVWXYZ" & _
			"abcdefghijklmnopqrstuvwxyz" & _
			"0123456789" & _
			"+/"


	' Functions for encoding string to Base64
	Public Function base64_encode( byVal strIn )
		Dim c1, c2, c3, w1, w2, w3, w4, n, strOut
		For n = 1 To Len( strIn ) Step 3
			c1 = Asc( Mid( strIn, n, 1 ) )
			c2 = Asc( Mid( strIn, n + 1, 1 ) + Chr(0) )
			c3 = Asc( Mid( strIn, n + 2, 1 ) + Chr(0) )
			w1 = Int( c1 / 4 ) : w2 = ( c1 And 3 ) * 16 + Int( c2 / 16 )
			If Len( strIn ) >= n + 1 Then 
				w3 = ( c2 And 15 ) * 4 + Int( c3 / 64 ) 
			Else 
				w3 = -1
			End If
			If Len( strIn ) >= n + 2 Then 
				w4 = c3 And 63 
			Else 
				w4 = -1
			End If
			strOut = strOut + mimeencode( w1 ) + mimeencode( w2 ) + _
					  mimeencode( w3 ) + mimeencode( w4 )
		Next
		base64_encode = strOut
	End Function

	Private Function mimeencode( byVal intIn )
		If intIn >= 0 Then 
			mimeencode = Mid( Base64Chars, intIn + 1, 1 ) 
		Else 
			mimeencode = ""
		End If
	End Function	


	' Function to decode string from Base64
	Public Function base64_decode( byVal strIn )
		Dim w1, w2, w3, w4, n, strOut
		For n = 1 To Len( strIn ) Step 4
			w1 = mimedecode( Mid( strIn, n, 1 ) )
			w2 = mimedecode( Mid( strIn, n + 1, 1 ) )
			w3 = mimedecode( Mid( strIn, n + 2, 1 ) )
			w4 = mimedecode( Mid( strIn, n + 3, 1 ) )
			If w2 >= 0 Then _
				strOut = strOut + _
					Chr( ( ( w1 * 4 + Int( w2 / 16 ) ) And 255 ) )
			If w3 >= 0 Then _
				strOut = strOut + _
					Chr( ( ( w2 * 16 + Int( w3 / 4 ) ) And 255 ) )
			If w4 >= 0 Then _
				strOut = strOut + _
					Chr( ( ( w3 * 64 + w4 ) And 255 ) )
		Next
		base64_decode = strOut
	End Function

	Private Function mimedecode( byVal strIn )
		If Len( strIn ) = 0 Then 
			mimedecode = -1 : Exit Function
		Else
			mimedecode = InStr( Base64Chars, strIn ) - 1
		End If
	End Function
%>

 

 

exemplos de uso:

 

por exemplo, para codificar duas vezez a frase "ola amigos":

 

base64_encode(base64_encode("ola amigos"))

e para recuperar o valor:

 

base64_decode(base64_decode("YjJ4aElHRnRhV2R2Y3c9PQ=="))

 

Espero ter ajudado!

 

Obs.: vou colocar este código no Lab. de Scripts!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Em que sentido você diz usar uma mesma sessão?

 

Você já passou por alguma situação que possa descrever?

Compartilhar este post


Link para o post
Compartilhar em outros sites

ou foi vítima de session mirror (sequestrar sessao)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Penso que se alguém roubar um Cookie e conseguir iniciar uma sessão com ele,

podem acontecer sérios danos, se for o caso de um painel de controle por exemplo.

 

Digamos que tenho um cookie chamado LOGIN_F4R2TY9;

Alguém consiga de alguma forma resgatá-lo e injetar de forma que se passe por uma sessão logada;

É possível que isso aconteça?

 

Existe alguma forma que ao logar o sistema diga:

Pare!

Esta session não suporta dois IPs diferentes logados simultaneamente.

Você não tem permissão para continuar.

 

Eu nao entendo bem como esse tipo de ataque poderia ser feito, estou estudando,

mas vocês poderiam me dar uma luz?

Vocês conseguiram me entender?

Ou eu estou viajando demais?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você nunca terá uma sessão com dois ips diferentes. A cada sessão é criado um ID.

 

O que pode acontecer é você ter duas sessões com ips diferentes mas valores iguais. Por exemplo, eu logo com meu usuario e é gravado meu código. Você loga com meu usuário e será gravado o meu código também. Teremos duas pessoas navegando com o mesmo usuário. Isso você pode controlar criando um log no banco de dados e verificando quantos ips estão logado ao mesmo tempo com o mesmo usuário.

 

É o conteúdo da sessão ou cookie que faz a diferença. Nunca ouvi casos de ataques usando a mesma sessão e nem li possibilidade de existir um ataque assim.

Compartilhar este post


Link para o post
Compartilhar em outros sites

você pode fazer o mesmo esquema, tipo do msn, se logar e tentar logar novamente, tanto de outro micro(ip), recebe uma mensagem que estalogado, pra isso terá que usar bd e uma flag no bd indicando o logon...

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.