Foros del Web » Programando para Internet » Javascript »

variables SessionStorage alguien las encuentra??

Estas en el tema de variables SessionStorage alguien las encuentra?? en el foro de Javascript en Foros del Web. bueno la idea era emular un poco lo que hace google , evidentemente mucho mas sencillo pero como nadie desde los canales de IRC ha ...
  #1 (permalink)  
Antiguo 14/06/2016, 23:20
Avatar de aukun  
Fecha de Ingreso: febrero-2015
Mensajes: 10
Antigüedad: 9 años, 2 meses
Puntos: 0
variables SessionStorage alguien las encuentra??

bueno la idea era emular un poco lo que hace google , evidentemente mucho mas sencillo pero como nadie desde los canales de IRC ha sido capaz lo pongo aqui a ver si algun forerocrack es capaz de encontrar las variables de sessionStorage , el truco es una combinacion de php y variables de sessionStorage , pondre el codigo desde aqui y pastebin por si quereis hacer los archivos, parto de apache2 php5 y sistema ubuntu. Son tres ficheros un ->localhost/index.php ->localhost/scripts/index.php ->localhost/scripts/bas.022.sS.js . Desde el servidor en la configuracion de apache cuando le meto localhost evidentemente me sacara ->localhost/index.php en realidad con este codigo realiza tres cargas , bueno ahi va:

>>>>>>>>>>>>localhost/index.php
Código PHP:
<?php
//
//type,nick,pass
//echo 'el tipus de input es: '.implode(',',$_POST); 
//


/*         apartats de funcions inici: funcio bas         //////////////////////*/
function bas($s,$a,$t){$f='';$A=(str_split($a));$C=count($A);bcscale(0);$c="$C";if($t=='0'){$d="$s";$j=bccomp($d,$c);if($j<0){$D=$d;}while($j>=0){$r=bcmod($d,$c);$w=bcsub($d,$r);$D=bcdiv($w,$c);$f=$A[$r].$f;$d=$D;$j=bccomp($d,$c);}$f=$A[$D].$f;}if($t=='10'){$f='0';$w=strlen($s);$i=$w-1;for($Y=0;$Y<$w;$Y++){$y=$i-$Y;$l=$s[$Y];$L=array_search($l,$A);$f=bcadd($f,bcmul(bcpow($c,"$y"),"$L"));}}return $f;}
/*         apartats de funcions final.                  //////////////////////*/
//phpinfo();
session_start();
if(
array_key_exists('loads',$_SESSION)){$_SESSION['loads']++;}else{$_SESSION['loads']=0;};

if(
$_SESSION['loads']==0){
   
   
//header('Location: http://localhost/screen.html',true);
   
$a='123456789x';$A=str_split($a);shuffle($A);$b=implode('',$A);
   
$_SESSION['n']='0'.$b;
   
   echo 
"<script src='../scripts/'></script><script>var S=bas(screen.width+'x'+screen.height,'".$_SESSION['n']."','10');location.replace('.?s='+S);</script>";
   
}elseif(
$_SESSION['loads']==1){
   
$_SESSION['screen']=bas($_GET['s'],$_SESSION['n'],'0');
   
//echo "<script>location.replace();</script>";
   
header('Location: http://localhost/');
   
//echo '<br>'.$_SESSION['loads'];   
}else{
   
//echo "<script></script>";
   //--->>$_SESSION['screen']
   
echo $_SESSION['screen'];
   
   echo 
"<script src='./scripts/'></script>
   <script>
   //window.t=sessionStorage;
   window.onload=function(){
   var t=sessionStorage;
   var k=t.pr;
   window[t.oc]=function(){alert(k);};
   window.onmouseover=function(){alert(k);};
   t.clear();
   }
   </script>"
;
   }



//$a=$_GET['s'];
//$j=bas($a,'0547186293x','0');
//echo $j.'<br>'.bas($j,'0547186293x','10');

?>
El codigo lo dejo en raw por pastebin que va mejor para hacer los archivos -> http://pastebin.com/fADyv3gT

>>>>>>>>>localhost/scripts/index.php
Código PHP:
<?php

session_start
();
if(
array_key_exists('loadscr',$_SESSION)){$_SESSION['loadscr']=1;}else{$_SESSION['loadscr']=0;}

if(
$_SESSION['loadscr']=='0'){
   
$a=file_get_contents('bas.022.sS.js');echo $a;
}else{echo 
'';}
?>
pastebin -> http://pastebin.com/08iywMKM


y finalmente el codigo javascript

>>>>>>>>>>>>localhost/scripts/bas.022.sS.js
Código:
//bas.022.sS.js -> Es considerara la sessionStorage per aixo el indicatiu de sS
var S=sessionStorage;
S.oc='onclick';
S.pr='prototype';


Window[S.pr].bas=function(){var a=arguments,A=a[1].split(''),f='',s=1,d=parseInt(a[0]),i=A.length,c,r;if(parseInt(a[2])==10){var k=0,d=a[0],f=0;for(c=0;c<d.length;c++){var j=d.length-c-1;k=A.indexOf(d[c]);f=f+(k*(Math.pow(i,j)));}return f;}if(parseInt(a[2])==0){while(s==1){r=d%i;c=((d-(r))/i);f=A[r]+f;d=c;s=(d>=i)?1:0;};return (A[c]==0)?f:A[c]+f;}}
pastebin -> http://pastebin.com/BefEtphX
si alguien sabe utilizar las consolas browsers o sabe mirar en la cache de los browsers -> about:cache podra ver que no existe bas.022.sS.js una de las posibles opciones seria entrar dentro del evento onload i mirar dentro de la variable t que se encuentra sessionStorage . Bueno si alguien lo intenta y consigue sacar las variables sessionStorage desde consola o desde algun archivo de cache comentad, por cierto bas es un encryptador de bases tu pones la base en el segundo argumento y te saca el numero correspondiente a esa base por ejemplo -> bas('ff','0123456789abcdef','10') -> sacara creo que es 255 que es su correspondiente en hexagesimal , claro esta que si ponemos bas('ff','01ef23a4b56c789d','10') sacara un numero muy diferente , la idea es poner una base de 200 y asi tener una mayor encryptacion , por cierto bas esta limitado a un numero INTEGER maximo que creo recordar es 9007199254740991 asi que estara limitado a ese numero. De momento estoy creando funciones bcMath de php pero para javascript, que ya existen pero las estoy haciendo algo mas ligeras.
Un saludo a todos y gracias por leerme.
  #2 (permalink)  
Antiguo 16/06/2016, 11:44
 
Fecha de Ingreso: octubre-2009
Mensajes: 305
Antigüedad: 14 años, 6 meses
Puntos: 29
Respuesta: variables SessionStorage alguien las encuentra??

no entiendo nada de lo que quieres hacer
  #3 (permalink)  
Antiguo 18/06/2016, 16:54
Avatar de aukun  
Fecha de Ingreso: febrero-2015
Mensajes: 10
Antigüedad: 9 años, 2 meses
Puntos: 0
Respuesta: variables SessionStorage alguien las encuentra??

la idea es conseguir que variables que se encuentran en el objeto storage no puedan ser conseguidos por el usuario, en teoria cuando ejecutas el script donde adjudicas variables al objeto session storage si lo haces por header siempre te aparecera cuando miras dentro del about:cache del browser, mientras que si le metes un echo con el script que adjudica las variables storage y miras dentro del about:cache de cualquier browser este no aparece ademas como estas siempre dandole la misma url se reescribe dentro de las caches de los browsers. Luego en la tercera repeticion del php lo meto dentro de un evento onload y hago un clear de sessionstorage de manera que cuando desde la consola del browser miras dentro sessionStorage este aparece vacio mientras que ja has pasado esos valores por el script. El problema es que si hay algun evento dinamico del usuario esos valores ja han desaparecido, el problema siguiente es que al hacer var t=sessionStorage ; si luego hacemos un window.sessionStorage.clear(); tambien estaremos haciendo un clear a la variable t. por lo que el final que hacemos lo siguiente:

Código:
<?php
//
//type,nick,pass
//echo 'el tipus de input es: '.implode(',',$_POST); 
//


/*			apartats de funcions inici: funcio bas			//////////////////////*/
function bas($s,$a,$t){$f='';$A=(str_split($a));$C=count($A);bcscale(0);$c="$C";if($t=='0'){$d="$s";$j=bccomp($d,$c);if($j<0){$D=$d;}while($j>=0){$r=bcmod($d,$c);$w=bcsub($d,$r);$D=bcdiv($w,$c);$f=$A[$r].$f;$d=$D;$j=bccomp($d,$c);}$f=$A[$D].$f;}if($t=='10'){$f='0';$w=strlen($s);$i=$w-1;for($Y=0;$Y<$w;$Y++){$y=$i-$Y;$l=$s[$Y];$L=array_search($l,$A);$f=bcadd($f,bcmul(bcpow($c,"$y"),"$L"));}}return $f;}
/*			apartats de funcions final.						//////////////////////*/
//phpinfo();
session_start();
if(array_key_exists('loads',$_SESSION)){$_SESSION['loads']++;}else{$_SESSION['loads']=0;};

if($_SESSION['loads']==0){
	
	$a='123456789x';$A=str_split($a);shuffle($A);$b=implode('',$A);
	$_SESSION['n']='0'.$b;
	
	echo "<script src='../scripts/'></script><script>var S=bas(screen.width+'x'+screen.height,'".$_SESSION['n']."','10');location.replace('.?s='+S);</script>";
	
}elseif($_SESSION['loads']==1){
	$_SESSION['screen']=bas($_GET['s'],$_SESSION['n'],'0');
	
	header('Location: http://localhost/');
		
}elseif($_SESSION['loads']==2){
	
	echo $_SESSION['screen'];
	
	echo "<script src='./scripts/'></script>
	<script>
	var s=sessionStorage;var W=Window;var w=window;
	
	
	window.onload=function(){
	
	var S=new Array(),t,c=0;for(t in s){S[t]=String(sessionStorage[t]);if(c<sessionStorage.length){c++;}else{break;}};///####traspass de variables string de sessionStorage a 
	
	W[S.pr].bas=function(){var a=bas[S.ar],A=a[1][S.sp](''),f='',s=1,d=w[S.pa](a[0]),i=A[S.le],c,r;if(w[S.pa](a[2])==10){var k=0,d=a[0],f=0;for(c=0;c<d[S.le];c++){var j=d[S.le]-c-1;k=A[S.in](d[c]);f=f+(k*(w[S.ma][S.po](i,j)));}return f;}if(w[S.pa](a[2])==0){while(s==1){r=d%i;c=((d-(r))/i);f=A[r]+f;d=c;s=(d>=i)?1:0;};return (A[c]==0)?f:A[c]+f;}}
	
	
	
	
	
	s.clear();}
	
	</script>";
	}



//$a=$_GET['s'];
//$j=bas($a,'0547186293x','0');
//echo $j.'<br>'.bas($j,'0547186293x','10');






?>
La siguiente pregunta es ¿como un usuario podria conseguir los valores de t de dentro del evento window.onload? Por ejemplo si ejecuto la pagina de google i voy a la consola del browser i pongo sessionStorage me loguera las variables que el servidor de google envia a storage, pero en caso de que el objeto sessionStorage sea clonado solo en las variables adquiridas no propietarias dentro de un array y este se encuentre dentro de un evento onload , al querer hacer un get de variables en la consola de los browsers estos no aparecen.Como curiosidad solo decir que Google tiene codigos de encriptacion javascript dentro del storage , codigos que luego mediante funciones va conformando la pagina. Pero esos codigos cuando hace onload son modificados y pasados a otras variables que solo existen dentro del evento onload por eso hago la pregunta partiendo de una forma sencilla que es el ejemplo propuesto.

Etiquetas: funcion, google, html, input, js, php, variables
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 16:45.