PDA

Просмотр полной версии : java скрипт


temon
31.05.2006, 22:39
Вот у меня есть типо скрипт, который запрашивает пароль.
Можно ли его как нить обойти?


<Script>
<!--
var checkpass=''
tell=0
counttimes=0
disComp=0
function preferences(encryptpass,encryptdepth,what,dis){
disComp=dis
tell=0
tell=what
checkpass=''
counttimes=0
times=encryptdepth
checkpass=encryptpass
orig=''
this.check=mkasci
}

bases=new Array(17,33,57,101);
var acharset='XYZNOhijkVWHIJ45ncdefMyzopqPQRSTUABKL678 9ab_rs23CDEFGlmwtuvg01x'
var storeup='';
function mkasci(orig){
if(counttimes==0){storeup=orig}
ascival=new Array()
for(i=0;i<=orig.length-1;i++){
for(i1=0;i1<=acharset.length;i1++){
if(orig.charAt(i)==acharset.charAt(i1)){ascival[i]=i1}
}
}
themeat(ascival)
}
function cutoff(code){
eval("var whatcode='"+code+"'");
eval("var whatcode2='"+Math.ceil(code)+"'");
bigVal=(Math.pow(10,whatcode.length-(whatcode2.length)-2)<1)?1:Math.pow(10,whatcode.length-(whatcode2.length)-2);
whatcode3=Math.round(code*bigVal)/bigVal
return(whatcode3)
}
function themeat(basecode){
if(basecode.length>=4){
counttimes++
if(disComp==1){window.status="Computating encryption level "+counttimes+"/"+times}
newcode=0
finalcode=1
for(count=0;count!=basecode.length;count++){
newcode=(basecode[(count<(basecode.length-1))?count+1:count-2]+(basecode[count]*bases[2])*(2.303)+basecode[Math.round(((basecode.length-1)*((Math.atan(basecode[(count!=0)?count-1:count+1])*basecode.length)+2*bases[0]))/100)]+1)
newcode=cutoff(newcode)
newcode=(newcode>basecode[Math.round(basecode.length/2)])?newcode-=bases[3]:newcode+=bases[3]
finalcode=cutoff(((newcode/10)*finalcode)/(basecode.length-bases[0]))
}
var deconstruct=''
eval('var finalcode="'+(finalcode+times)+'"');
for(count=0;count<finalcode.length;count++){
if(!isNaN(finalcode.charAt(count))){
deconstruct=deconstruct+finalcode.charAt(count)
}
}
finalcode=deconstruct
var encrypt=new Array()
for(count=2;count<finalcode.length+2;count+=2){
eval("encrypt["+((count/2)-1)+"]='"+((finalcode.charAt(count-2)!='0')?finalcode.charAt(count-2):'')+""+finalcode.charAt(count-1)+"'")
encrypt[((count/2)-1)]=acharset.charAt(Math.round((acharset.length*encry pt[((count/2)-1)])/100))
}
encrypt=encrypt.join('')
if(counttimes<times){mkasci(encrypt)} else {
counttimes=0
if(encrypt==checkpass&&tell==0){alert('OK! Password VIDEO-Archiv');location.replace(storeup+encrypt.substrin g(0,5)+".html");} else {
if(tell==1){document.write("<B>"+storeup+"</B> is encrypted as <B>"+encrypt+"</B>");} else {
if(history.length>0){
alert("ERROR! Password VIDEO-Archiv");
history.go(-1);
} else {location.replace("err.html")}
}
}
}
} else {
if(history.length>0){
alert("ERROR! Password VIDEO-Archiv");
history.go(-1);
} else {location.replace("vhod.html")}
}
}


password=new preferences('s_mkAi_Z',15,0,1);
var enter='';
while(enter.length<4){
enter=prompt('Enter Password PAROL VIDEO-Archiv','');
if(!enter){enter=' '}
}
password.check(enter);
</SCRIPT>

censored!
01.06.2006, 02:19
Перебором. По словарю. Но - апухнешь, так как все будет очень и очень медлено. Если секешь в других языках программирования - то переноси код на них и тоже бруть. Будет быстрее.
Попробуй по сайту полазить. Попробуй поискать по сайту через Яндекс (может они путь до страницы запаролили после того как по ней робот пробежался (выцепишь адрес страницы)). Потыкай по счетчикам (если есть) и там посмотри логи (может у них на той странице тоже счетчик воткнут, тогда страница в логах засветиться)

temon
02.06.2006, 11:35
большое спасибо.
все варианты попробую.

Trinux
02.06.2006, 12:03
причем тут перебор по словарю? Это авторизация силами javascript, так? Отсюда что следует? Отсюда следует что пароль перед нами, просто зашифрован. Но при этом алгоритм шифрования опять же перед нами =))))
Расшифровывать не буду. время жалко.

censored!
03.06.2006, 01:51
причем тут перебор по словарю
Потому что полным перебором (этот пример) безумно долго.

Это авторизация силами javascript, так? Отсюда что следует? Отсюда следует что пароль перед нами, просто зашифрованОтсюда совершено ничего не следует. Даже на JS можно сделать вход с парольной защитой. Просто введенный пароль шифруется (по типу md5) и сравнивается с хэшем который будет в коде. Если совпадают - редирект на введенныйпароль.html
Такой код на JS уже тут кто-то приводил.

Trinux
03.06.2006, 08:27
ну возможно =) но по коду я не заметил никаких корней, степеней итп...

temon
03.06.2006, 14:40
ну прошу вас помогите мне.

temon
06.08.2006, 22:44
а что если во это: storeup+encrypt.substrin g(0,5)+".html
вставить за место перехода на страницу неправильного ввода пароля?

Rebz
06.08.2006, 22:51
storeup+encrypt.substrin g(0,5)+".html
сделай alert этих переменных =)

temon
06.08.2006, 23:13
сделал алерт на компе у себя. вообще ничего не вылезло. скорее всего она ищет эту страницу но её то у меня нету. как бы узнать название той страницы на которую она переходит.

Rebz
06.08.2006, 23:23
Сделай так, чтобы вылетело. Прослеживай каждую переменную и попытайся её алертнуть.
ф-ция substring показывает с какого места надо отсчитывать(1) и сколько символов(2). например, function.substring(1,2).

Алерт не получается, попробуй document.write.
Давай, в общем, изучай JS =) В любом случае будет полезно).

temon
06.08.2006, 23:29
ну это нужно литературу нуйти хорошую где то по js
так я в нём вообще не соображаю.
ну всё равно спасибо за помощь.

Rebz
06.08.2006, 23:37
В интернете её (литературы, самоучителей, книг) полно.
Ну вот видишь..если ты не соображаешь, то как же ты мог alert(); правильно вставить?)
Давай, удачи!

m0nzt3r
06.08.2006, 23:50
мля уже Ребз сказал...я читая сначала, думал никто не скажет про алерт и я один умный выйду :d
А ведь этот способ очень полезный...мну его подсказали када я проходил Ghc квест, давным давно...
И никогого перебора не надо :)

скорее всего она ищет эту страницу но её то у меня нету. как бы узнать название той страницы на которую она переходит.
а урл посмотреть, куда тебя редиректит, трудно?

Rebz
07.08.2006, 00:17
так страница генерируется в зависимости от пароля или каких-то математических преобразований).

Античат квест кто проходил..гг.. наверняка помнят примерно такой же уровень -)

temon
07.08.2006, 06:51
m0nzt3r
естественно я бы его посмотрел и не спрашивал бы тут почему его не видно. его просто нету почемуто.


Ну вот видишь..если ты не соображаешь, то как же ты мог alert(); правильно вставить?)
ну такие простые штуки я конечно умею :)