Comunidad de diseño web y desarrollo en internet online

sessionStorage alguien puede encontrar las variables desdel browser ?

Citar            
MensajeEscrito el 14 Jun 2016 06:59 pm
bueno como nadie desde IRC a sido capaz lo pongo aqui a ver si alguien es capaz de encontrar las variables de session , 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 la funcion js

Código Javascript :

//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 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 256 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.
Un saludo a todos y gracias por leerme.

Por aukun

Claber

200 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 15 Jun 2016 03:02 pm
¿Es una pregunta, un truco, un tutorial? ¿Podrías ser mas claro en la intro?

Gracias
Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 15 Jun 2016 10:25 pm
Es una pregunta, alguien sabe como conseguir las variables de sesionStorage partiendo desde el lado del cliente , en el caso de que alguien lo consiguiera como lo ha conseguido ?

Por aukun

Claber

200 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 15 Jun 2016 11:07 pm

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 16 Jun 2016 09:20 am
Si vas a la consola de cualquier browser y miras dentro de sessionStorage no puedes ver las variables de sessionStorage que en el caso que puse era sessionStorage.oc='onclick';sessionStorage.pr='prototype'; sessionStorage no deja de ser objeto array del objeto window, desde este ejemplo que puse no aparece en la cache el script bas...js gracias al hecho que le pongo un echo al string que saco de file_get_contents al php que lanza bas...js mientras que si li hago un header el codigo bas...js me aparece en las caches de los browsers. Yo solo queria saber si hay alguna manera de poder acceder a esos valores solisarg en el articulo explica como sacar esos valores pero en el ejemplo que puse y segun la informacion linkeada esos valores no se como se puede acceder desde el punto de vista del cliente.Vuelvo a formular la misma pregunta desde el punto de vista del cliente y segun el ejemplo propuesto, hay alguien que puede acceder a los valores sessionStorage.pr y sessionStorage.oc, en caso de que alguien lo consiguera por favor expliquedme como pueden llegar a acceder?

Por aukun

Claber

200 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 21 Jun 2016 03:27 pm
Bueno el caso es que estuve buscando y si haces un breakpoint en el debbuger del browser es posible conseguir esa variable de dentro del evento. Muy bien mi pregunta pues es la siguiente para acceder a la consola estamos haciendo en cierta manera un window.onblur si modifico esa variable cada vez que hago un onblur estoy protegiendo ese valor de esa variable cada vez que alguien por consola quiera saber ese valor no?

Por aukun

Claber

200 de clabLevel



Genero:Masculino  

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.