Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2009
    Messaggi
    3

    Aiuto autenticazione

    Intanto, essendo questo il mio primo messaggio, colgo l'occasione per porre un saluto a tutti
    Entrando nel merito del problema, sto' provando a realizzare un programmino in java per accedere ad una pagina che richiede pero' di essere autenticati (il sito e' quello del fatto quotidiano). Intanto vi posto il codice che ho fin qui' realizzato:

    codice:
    import java.net.*;
    import java.io.*;
    import java.util.*;
    
    class autenticazione extends Authenticator{
    	protected PasswordAuthentication getPasswordAuthentication() {
    		return new PasswordAuthentication("MiaMail","MiaPassword".toCharArray());
    	}
    }
    
    class antefatto{
    	public static void main(String args[])  throws Exception {
    		URL url;
    		HttpURLConnection urlc;
    		String data=new String();	
    		try{	
    			Authenticator.setDefault(new autenticazione());			
    			url =new URL("http://www.antefatto.it/servizi/utenti/profilo.aspx");
    			urlc=(HttpURLConnection)url.openConnection();
    		}catch(MalformedURLException ue){
    			System.out.println("Errore malformazione");
    			return;		
    		}catch(IOException ie){
    			System.out.println("Errore di connessione");
    			return;
    		} 				
    		data=urlc.getHeaderField("Date");
    		if(data.indexOf("Mon")!= -1) System.out.println("Oggi e' lunedi' e il Fatto Quotidiano non esce");
    		InputStream in = urlc.getInputStream();
                   /*quanto segue e' utilizzato come debug*/
    		int c;
    		while((c=in.read())!=-1){
    			System.out.print((char)c);
    		}
    		return;
    	}
    }
    Non ho problemi di compilazione solo che, invece di stamparmi il contenuto della pagina che si dovrebbe avere in caso di autenticazione eseguita con successo, mi fornisce il codice di quella con il form per effettuare l'autenticazione (segno evidente che non e' andata a buon fine); che posso fare?
    Grazie in anticipo.

  2. #2
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    Ciao e benvenuto sul forum. Per prima cosa ti consiglio di usare l'apposito tag CODE per allegare del codice alle tue discussioni, in modo che l'indentazione venga conservata e il codice stesso risulti maggiormente comprensibile.

    Venendo alla questione, probabilmente insieme ad username e password vengono inviati altri dati e fatti ulteriori controlli - guardando il codice della pagina:

    codice:
    <input name="HeaderCommon1$plogin$btConfirm" value="login" onclick='javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions("HeaderCommon1$plogin$btConfirm", "", true, "login", "", false, false))' id="HeaderCommon1_plogin_btConfirm" class="button" type="submit">
    e non sono andato a guardare che cosa fa quel pezzo di codice javascript (magari tramite ajax setta via get/post/session ulteriori variabili).

    Potresti provare ad utilizzare un packet-sniffer per controllare che cosa esattamente venga trasmesso dal browser al sito all'atto del log-in e regolarti di conseguenza.
    Ciao.
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2009
    Messaggi
    3
    Ho fatto lo sniffing come mi avevi consigliato e, da quest'ultimo, risulta che vengono inviati tramite POST i seuquenti dati:

    codice:
    ScriptManager1---->	    UpdatePanel1|Login1$LoginButton
    
    __EVENTTARGET---->
    
    __EVENTARGUMENT---->
    	
    __VIEWSTATE---->	/wEPDwUKMTY1MjA5MzAyOWQYAQUeX19Db250cm9sc1JlcXVpcmVQb3N0QmFja0tleV9fFgIFEUxvZ2luMSRSZW1lbWJlck1lBRdMb2dpbjEkTG9naW5JbWFnZUJ1dHRvbjfjyH746ajNdVv6tHEQVjYewAqH
    
    __EVENTVALIDATION--->	/wEWBQLihaedDwKUvNa1DwL666vYDAKC0q+kBgKnz4ybCC0CuWakl8o5oHUG8s8vvTlqZWRM
    
    Login1$UserName---->	      MiaEmail
    Login1$Password---->	      MiaPassword
    Login1$LoginButton---->      Entra
    Consigli?

  4. #4
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,328

    Moderazione

    Suggerisco una lettura del Regolamento interno per conoscere le norme di partecipazione al forum, con riferimento particolare a quanto descritto nel punto 6, riguardo al posting del codice e all'uso degli appositi tag CODE...

    Questo per evitare lo sfasamento del layout del forum e, soprattutto, per consentire una più corretta e facile lettura del codice anche agli altri.


    Aggiungo i tag.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  5. #5
    Utente di HTML.it
    Registrato dal
    Nov 2009
    Messaggi
    3
    Ho effettuato delle correzioni al codice, però continua non funzionare. Posto quest'ultimo, gli headers di richiesta, risposta e la stringa che viene inviata tramite post (risultato dello sniffing via browser)

    codice:
    import java.net.*;
    import java.io.*;
    import java.util.*;
    
    
    class antefatto {
    	public static void main(String args[]) throws Exception{
    		String data=(new Date()).toString();
    		if(data.indexOf("Mon")>=0) {
    			System.out.println("Oggi e' lunedi' e il fatto quotidiano non esce");
    			return;
    		}		
    		URL url;
    		HttpURLConnection connessione;
    		try{
    			url =new
    URL("http://www.antefatto.it/servizi/login/login.aspx?redirect=%2fservizi%2futenti%2fprofilo.aspx");
    			connessione=(HttpURLConnection)url.openConnection();
    			connessione.setRequestMethod("POST");
    			connessione.setFollowRedirects(true);
    			connessione.setDoOutput(true);
    		}catch(MalformedURLException me){
    			System.out.println("Errore costruttore URL");
    			return;		
    		}catch(IOException ie){
    			System.out.println("Errore openConnection");
    			return;
    		}
    		PrintWriter out;
    		try {
    			out=new PrintWriter(connessione.getOutputStream());
    		
    out.print(URLEncoder.encode("ScriptManager1=UpdatePanel1|Login1$LoginButton&__EVENTTARGET=&__EVENTARGUMENT=&__VIEWSTATE=%2FwEPDwUKMTY1MjA5MzAyOWQYAQUeX19Db250cm9sc1JlcXVpcmVQb3N0QmFja0tleV9fFgIFEUxvZ2luMSRSZW1lbWJlck1lBRdMb2dpbjEkTG9naW5JbWFnZUJ1dHRvbjfjyH746ajNdVv6tHEQVjYewAqH&__EVENTVALIDATION=%2FwEWBQLihaedDwKUvNa1DwL666vYDAKC0q%2BkBgKnz4ybCC0CuWakl8o5oHUG8s8vvTlqZWRM&Login1$UserName=MiaEmail&Login1$Password=MiaPassword&Login1$LoginButton=Entra","UTF-8"));
    	
    		}catch(IOException io){
    			System.out.println("Errore getOutputStream");
    			return;		
    		}
    		BufferedReader in;
    		try{
    			in = new BufferedReader(new InputStreamReader (connessione.getInputStream()));
    		}catch(IOException ie){
    			System.out.println("Errore getInputStream");
    			return;
    		}
    		Map<String, List<String>> map =connessione.getHeaderFields();
    		Set<String> key=map.keySet();
    		List<String> cookie = map.get("Set-Cookie");
    		String line;
    		while ((line = in.readLine()) != null){
      			System.out.println(line);
    		}
    		for(String k : key){
    			System.out.println("Chiave: "+k+"    Valore: "+map.get(k));
    		}
    		return;
    	}
    }
    
    
    
    (Request-Line)	POST
    /servizi/login/login.aspx?redirect=%2fservizi%2futenti%2fprofilo.aspx HTTP/1.1
    Host	www.antefatto.it
    User-Agent	Mozilla/5.0 (X11; U; Linux i686; it; rv:1.9.1.5) Gecko/20091109
    Ubuntu/9.04 (jaunty) Shiretoko/3.5.5
    Accept	text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
    Accept-Language	it-it,it;q=0.8,en-us;q=0.5,en;q=0.3
    Accept-Encoding	gzip,deflate
    Accept-Charset	ISO-8859-1,utf-8;q=0.7,*;q=0.7
    Keep-Alive	300
    Connection	keep-alive
    X-MicrosoftAjax	Delta=true
    Cache-Control	no-cache, no-cache
    Content-Type	application/x-www-form-urlencoded; charset=UTF-8
    Referer
    http://www.antefatto.it/servizi/logi...i/profilo.aspx
    Content-Length	432
    Pragma	no-cache
    
    
    (Status-Line)	HTTP/1.1 200 OK
    Date	Thu, 12 Nov 2009 10:29:37 GMT
    Server	Microsoft-IIS/6.0
    X-powered-by	ASP.NET
    X-AspNet-Version	2.0.50727
    Set-Cookie	ASP.NET_SessionId=po5ftz45sh5r4z3ewvftyp45; path=/; HttpOnly
    Cache-Control	no-cache
    Pragma	no-cache
    Expires	-1
    Content-Type	text/plain; charset=utf-8
    Content-Length	46
    
    
    ScriptManager1=UpdatePanel1|Login1$LoginButton&__EVENTTARGET=&__EVENTARGUMENT=&__VIEWSTATE=%2FwEPDwUKMTY1MjA5MzAyOWQYAQUeX19Db250cm9sc1JlcXVpcmVQb3N0QmFja0tleV9fFgIFEUxvZ2luMSRSZW1lbWJlck1lBRdMb2dpbjEkTG9naW5JbWFnZUJ1dHRvbjfjyH746ajNdVv6tHEQVjYewAqH&__EVENTVALIDATION=%2FwEWBQLihaedDwKUvNa1DwL666vYDAKC0q%2BkBgKnz4ybCC0CuWakl8o5oHUG8s8vvTlqZWRM&Login1$UserName=MiaEmail&Login1$Password=MiaPassord&Login1$LoginButton=Entra

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.