[Javascript] Spiegazioni di due funzioni

MarDom96

Nuovo Utente
27 Giu 2016
8
0
1
27
Buonasera ragazzi. Vorrei chiedervi una cosa.

Riporto qui un codice in js che è integrato in una pagina php:

Spiego brevemente cosa ho nella pagina php:

Ho due form.
Nel primo quando invio la richiesta è "#".
Nel secondo è l'indirizzamento a un'altra pagina php ma per accedervi mi servirà una sorta di password.

Nel primo form ho:
La funzione init(), che viene caricata a inizio pagina, non fa altro che riempire due menù a tendina con 16 elementi (da 0 a 9 e da "a" ad "f").
La funziona noop() so già che non farebbe nulla di speciale ma ve la riporto comunque.

Oltre a questi due menù a tendina ho due pulsanti: "munge" e "grok" ma a quelli ci arrivo dopo.
Infine ho una textboxt in readonly in cui visualizzo l'output dei due pulsanti.

Nel secondo form ho una textbox in cui c'è da inserire una sorta di password (da ottenere attraverso l'altro form)
per poi inviare la richiesta con un pulsante ed essere indirizzati alla nuova pagina.

Codice:
function init(){
    var elx=document.getElementById('obs_x');
    var ely=document.getElementById('obs_y');
    for(var i=0x0;i<0x10;i++){
        var option = document.createElement("option");
        option.text=i.toString(16);
        option.value=i;
        elx.add(option);

        var option2 = document.createElement("option");
        option2.text=i.toString(16);
        option2.value=i;
        ely.add(option2);
    }
    noop();
}

(obs_x e obs_y sono i due menù a tendina)

Codice:
function noop(){
    bt_toggle(false);
    var el = document.getElementById('obs_result');
    el.value="";
    getJSON('/res/turboencabulator/query.php',noop_callback);
}

(Il file query.php da come risultato "{}")

Codice:
function noop_callback(err,data){
    bt_toggle(true);
var el = document.getElementById('obs_result');
  if (err !== null) {
    el.value="ERROR";
  }
}

(obs_result è una textbox in readonly in cui viene visualizzato l'output)

Ok fin qui niente di strano, penso di aver compreso tutto.
Passiamo alla parte che non ho ben capito

Eccoci qui ai due pulsanti. Uno richiama la funzione munge, l'altro grok.

Codice:
function munge(){
    bt_toggle(false);
    var el = document.getElementById('obs_result');
    el.value="";
    getJSON('/res/turboencabulator/query.php?action=munge',munge_callback);
}

Qui il file query.php restituirà: {munged:yes}

Codice:
function munge_callback(err,data){
    bt_toggle(true);
var el = document.getElementById('obs_result');
  if (err !== null) {
    el.value="ERROR";
  } else {
    if(data.munged==="yes")
    el.value="SUCCESS";
    else
    el.value="FAILURE";
  }
}

Codice:
function grok(){
    var ela = document.getElementById('obs_x');
    var elb = document.getElementById('obs_y');
    grokval(ela.value,elb.value);
}

Codice:
function grokval(x,y){
    bt_toggle(false);
    var el = document.getElementById('obs_result');
    el.value="";
    getJSON('/res/turboencabulator/query.php?action=grok&x='+x+'&y='+y,grok_callback);
}

Codice:
function grok_callback(err,data){
    bt_toggle(true);
var el = document.getElementById('obs_result');
  if (err !== null) {
    el.value="ERROR";
  } else {
    el.value=data.observation;
  }
}

Ecco qui è dove casco, perchè non so cosa succede.
Per esempio se mando la richiesta al file query.php con x=1 e y=0 (i due valori dei due menù a tendina) ricevo la seguente risposta:
"{"munged":"no","x":1,"y":0,"observation":117}"

Ecco, che diamine di calcolo ha fatto per ottenere 117?
Preciso che ogni volta che si manda la richiesta anche con gli stessi valori l'output è diverso.
Se si manda la richiesta "grok" due volte o più di seguito dalla seconda si otterrà output 0 (zero)

Quindi immagino che la funzione munge serve tipo a resettare la funzione grok, non saprei dargli altre spiegazioni.
Ho ricevuto un consiglio però: che le due funzioni hanno un'operazione in comune.


Ecco, quello a cui devo arrivare è a questa sorta di password solo che ho bisogno di spiegazioni su come lavorano quelle due funzioni.

Grazie mille a tutti.
 

marino51

Utente Attivo
28 Feb 2013
3.203
207
63
Lombardia
Ecco, che diamine di calcolo ha fatto per ottenere 117?
leggi lo script "query.php", che,
può essere richiamato senza parametri per eseguire la funzione "noop"
viceversa con i dovuti parametri per le altre due funzioni
"query.php?action=munge'"
"query.php?action=grok......"
 

MarDom96

Nuovo Utente
27 Giu 2016
8
0
1
27
Credo di non aver ben capito.
Potresti rispiegarti meglio?
Noop() non mi sembra faccia tanta roba, richiama il file query.php che da solo restituire " {} "
 

MarDom96

Nuovo Utente
27 Giu 2016
8
0
1
27
Purtroppo non mi è dato sapere cosa c'è allinternal di wuel file , per questo ho chiesto aiuto qua
 

MarDom96

Nuovo Utente
27 Giu 2016
8
0
1
27
Ma attraverso quelle funzioni, non si riesce a risalire al calcolo che fa? Sempre ammesso che lui lo faccia
 

MarDom96

Nuovo Utente
27 Giu 2016
8
0
1
27
Provo a far così. Vi mando codice html dei form, un loro screenshot e il file in js in allegato (ho copiato il codice in un file txt).

Codice:
<div class="subcontent" style="background-color:transparent;">
<div class="subcontent" style="background-color:black;border:1px solid gray;color:white; width:100%">
<form action="#" onsubmit="return false;">
<select id="obs_x"></select>
<select id="obs_y"></select>
<input type="submit" value="munge" onclick="munge()" id="bt_munge">
<input type="submit" value="grok" onclick="grok()" id="bt_grok"><br><br>
<input type="text" id="obs_result" readonly="readonly" value="" style="width:100%;margin-bottom:8px;background-color:gray;color:black;">
</form>
</div>
<br><div class="subcontent" style="background-color:transparent;border:0;"></div><br>
<div class="subcontent"  style="background-color:black;border:1px solid gray;color:white; width:100%" >
<form action="/41_lap5f87vo6k6vgb0s3.php" method="POST">
<input type="text" name="submission" value="" style="width:100%;margin-bottom:8px;" placeholder="enter password"><br>
<input type="submit" name="action" value="submit" style="width:100%;margin-bottom:8px;">
</form>
</div>
</div>

<!--
turboencapulator requests are permitted to be automated within reason

munge and grok both have one operation in common
-->

I1e1rQG.png


Magari così si riesce a capire meglio
 

Allegati

  • 3j7cc2iqrs.txt
    1,7 KB · Visite: 399

marino51

Utente Attivo
28 Feb 2013
3.203
207
63
Lombardia
il codice che hai postato non usa mai "init", suppongo sia un copia-incolla parziale (ma è strano)

se poi noti, il secondo form attiva uno script specifico ( credo ) per quella connessione,
altrimenti non ha senso un nome così strano
HTML:
<form action="/41_lap5f87vo6k6vgb0s3.php" method="POST">
questo mi fa pensare che se tu volessi bypassare il controllo calcolandoti la password,
poi non troveresti lo script che autorizza l'accesso

ma le mie sono supposizioni ....
 

MarDom96

Nuovo Utente
27 Giu 2016
8
0
1
27
Il secondo form lo devo usare alla fine. Immagino che questa password inserita andrà a scatenare qualcosa nello script per accedere alla pagina successiva.

Non c'è da bypassare nulla, devo solamente capire come funzionano quelle due funzioni munge e grok, specialmente quest'ultima.
Perchè sono sicuro che in qualche modo in quella textbox deve uscire questa maledetta password.

Edit:
Sono dell'idea che una volta che siamo riusciti a capire come diamine funziona grok, che è la funzione principale, bisogna creare un codice che stampi tutti le varie possibili combinazioni
 
Ultima modifica:
Discussioni simili
Autore Titolo Forum Risposte Data
I Creare un banner temporaneo JavaScript Javascript 0
S Impossibile scorrere un oggetto in JavaScript Javascript 0
N Passare array da php a javascript PHP 5
L Quiz javascript funzionante da migliorare Javascript 0
P errore 404 con javascript Javascript 2
D aiuto funzioni javascript Javascript 1
M Upload immagine con javascript problemi con FormData() Javascript 1
L countdown multiplo javascript Javascript 1
S Problemi Javascript + Aruba Javascript 2
M Inviare un file su un server remoto con JavaScript Javascript 0
T a href="javascript:;" Javascript 1
F Creare elementi html con javascript Javascript 3
A pulsante di update campo mysql con javascript Javascript 2
8 Javascript - PDF Form Javascript 0
B javascript per problemi con pdf e Safari Javascript 0
N informazione javascript Programmazione 0
I Eecuzione di javascript in ciclo foreach php. PHP 7
P javascript:document.forms Javascript 7
S Consiglio esercizio Javascript Javascript 2
MarcoGrazia Aggiungere o rimuovere classi in javascript Javascript 1
P Passaggio id php a javascript PHP 6
R Confrontare il dominio di una mail con una stringa contenente un dominio personalizzato, tutto ciò in php o javascript PHP 0
E lettura da un Database con Javascript jQuery 2
V TRIS in javascript Javascript 1
IClaude Funzione Javascript Javascript 8
Alex_70 Javascript date color Javascript 3
F Convertire JavaScript per la compatibilità nei browser obsoleti Javascript 0
I Passare dei parametri in javascript PHP 0
Shyson Meglio Javascript o HTML? Javascript 4
G Problema verifica palindromo e verifica pari e dispari javascript Javascript 0
M Chiamare pagina php da javascript Javascript 8
M Errore JavaScript per php [objeto HTMLParagraphElement] PHP 0
D Javascript per il download dei dati Javascript 0
grgfede Problema javascript con aruba Javascript 1
R Cerco supporto in programmazione javascript Offerte e Richieste di Lavoro e/o Collaborazione 0
webmachine [PHP] [JAVASCRIPT] Form strano in HTML PHP PHP 1
W Modificare il Type di un Input box in javascript ovunque si trovi Javascript 0
I javascript come caricare una pagina sopra quella corrente in automatico Javascript 2
L [Javascript] Problema salvataggio dati in db Javascript 1
max1974 [Javascript] Grafico chartjs con dati da J.ajax Javascript 3
G Quiz Javascript Javascript 4
A [Javascript] Scrittura su più campi contemporaneamente Javascript 18
F classic asp popolare combo box javascript Presentati al Forum 1
claudio_lorenzo [Javascript] aiuto su jquery per calcolo altezze dom Javascript 1
F [Javascript] comando innerHTML non funziona Javascript 5
alexice51 proggrammi per scrivere in javascript? Javascript 3
max1974 [Javascript] Accordion aria-exspanded Javascript 0
D [Javascript] salvare immagine canvas - paypal Javascript 0
O [Javascript] Conflitto Jquery: forse... Javascript 0
M [Javascript] Canvas js css Javascript 1

Discussioni simili