<html>
<head>
<title>Hack Test - Livello 10</title></head>
<body BGCOLOR="#B7D1A7">
<!--############################################ -->
<!-- Special Thanks to :: Marco0ne -->
<!-- che ha compilato per noi questo script -->
<!--############################################ -->
<!--############################################ -->
<!--############################################
NOta ::
Ricordate che,
1 XOR 1 = 0
0 XOR 0 = 0
Per cui esistono molte combinazioni che creano lo stesso codice
criptato, è
richiesta per ovvie ragioni la password corretta, che si può trovare
una
volta capito l'algoritmo e mediante un algoritmo che elabori tutte le
combinazioni e scopra quella corretta.
La soluzione che potreste trovare è una soluzione su N accettabili. C'è
un'unica soluzione corretta tra le N.
Vantaggi e Svantaggi della XOR ;-)
############################################-->
<script language='vbscript'>
Sub valutapass()
Dim passwd, base,seme,Crypt,flag,j
base = Array(20,45,89,34,56,23,67,22,55,13,77,33,22,55,88 ,22,10,6,4,99,23,55,33,66,22,55,22,55,99,22,55,77, 11,22,33,5,34,42,7,69)
Crypt = "166933391240377848"
flag=0
seme = left(Crypt,2)
Crypt = Right(Crypt,len(Crypt)-2)
Set FormIn = Document.password
passwd = FormIn.pass.Value
j=2
for i = 0 to (Len(Crypt) / 2) - 1
temp = base(seme) Xor Asc(Right(Left(passwd,i+1),1))
if temp > 99 then
temp = Int(temp / 3)
end if
if temp < 10 then
temp = 1 & temp
temp = Abs(temp)
end if
if Right(left(Crypt,j),2) <> Cstr(temp) then
flag = 1
exit for
end if
seme = seme + 1
j=j+2
next
if flag = 0 then
location = passwd & ".htm"
else
location = "wrong.htm"
end if
FormIn.pass.Value = ""
End Sub
</script>
<p>&nbsp;</p>
<form method="post" name="password">
<p align="center">
<b>Password:</b>
<input type="password" size="20" name="pass" maxlength="10">
<input type="button" value="Accedi" onclick="Valutapass()">
</p>
</form>
</body></html>