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.