1. Dashboard
  2. Forum
    1. Unerledigte Themen
  3. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team-Mitglieder
    4. Trophäen
    5. Mitgliedersuche
  4. Tutorial Bereich
  • Anmelden
  • Registrieren
  • Suche
Dieses Thema
  • Alles
  • Dieses Thema
  • Dieses Forum
  • Seiten
  • Forum
  • Lexikon
  • Erweiterte Suche
  1. Informatik Forum
  2. Webmaster & Internet
  3. Entwicklung

Server Error 500 beim Zugriff auf Weblink

  • sommeralex
  • 28. April 2009 um 16:44
  • Unerledigt
  • sommeralex
    11
    sommeralex
    Mitglied
    Punkte
    1.325
    Beiträge
    188
    • 28. April 2009 um 16:44
    • #1

    Hallo!

    Ich würd gern ein bisschen "Webextraction" üben, stolpere jedoch über ein einfaches problem, dass mir nicht verständlich ist.

    Wenn ich eine einfache Webseite mittels UrlConnection auslesen will, zb http://www.schulen-online.at funktionierts, nicht jedoch mit der Suchseite, deren link

    http://www.schulen-online.at/sol/pub_ssuche…chenOeffentlich

    ist..

    Code
    String sourceUrlString = "http://www.schulen-online.at/sol/pub_ssuche_init.do?method=schuleSuchenOeffentlich";
            URL url = new URL(sourceUrlString);
            URLConnection urlConnection = url.openConnection();
    
    
            BufferedReader in = new BufferedReader(new InputStreamReader(
                    urlConnection.getInputStream()));
            String inputLine;
    
    
            while ((inputLine = in.readLine()) != null)
                System.out.println(inputLine);
            in.close();
    Alles anzeigen
  • Peter
    1
    Peter
    Gast
    • 28. April 2009 um 17:48
    • #2

    Dein Problem heiszt POST Parameter.

  • sommeralex
    11
    sommeralex
    Mitglied
    Punkte
    1.325
    Beiträge
    188
    • 28. April 2009 um 17:50
    • #3

    oki, werd ich mir ansehen!

  • a9bejo
    21
    a9bejo
    Mitglied
    Reaktionen
    42
    Punkte
    4.697
    Beiträge
    913
    • 29. April 2009 um 10:59
    • #4
    Zitat von Peter

    Dein Problem heiszt POST Parameter.

    Nein.

    Wenn ich die URL im Browser aufmache (also einen GET request ohne Parameter schicke), dann bekomme ich einen HTTP 200 und ein Dokument zurück. Wenn ich den selben GET Request mit Poster schicke, dann geht das auch ganz fein. Mit curl allerdings schlägt der Aufruf fehl:

    HTML
    ben@kafka: curl -get [url]http://www.schulen-online.at/sol/pub_ssuche_init.do?method=schuleSuchenOeffentlich[/url]
    <html><head><title>Apache Tomcat/6.0.14 - Error report</title><style><!--H1 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:22px;} H2 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:16px;} H3 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:14px;} BODY {font-family:Tahoma,Arial,sans-serif;color:black;background-color:white;} B {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;} P {font-family:Tahoma,Arial,sans-serif;background:white;color:black;font-size:12px;}A {color : black;}A.name {color : black;}HR {color : #525D76;}--></style> </head><body><h1>HTTP Status 500 - </h1><HR size="1" noshade="noshade"><p><b>type</b> Exception report</p><p><b>message</b> <u></u></p><p><b>description</b> <u>The server encountered an internal error () that prevented it from fulfilling this request.</u></p><p><b>exception</b> <pre>[b]org.apache.jasper.JasperException: /allgemein/agenterror.jsp(21,100) equal symbol expected[/b]
    	org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:40)
    	org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:407)
    	org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:88)
    	org.apache.jasper.compiler.Parser.parseAttribute(Parser.java:195)
    	org.apache.jasper.compiler.Parser.parseAttributes(Parser.java:150)
    	org.apache.jasper.compiler.Parser.parseCustomTag(Parser.java:1234)
    	org.apache.jasper.compiler.Parser.parseElements(Parser.java:1449)
    	org.apache.jasper.compiler.Parser.parseBody(Parser.java:1657)
    	org.apache.jasper.compiler.Parser.parseOptionalBody(Parser.java:1004)
    	org.apache.jasper.compiler.Parser.parseCustomTag(Parser.java:1272)
    	org.apache.jasper.compiler.Parser.parseElements(Parser.java:1449)
    	org.apache.jasper.compiler.Parser.parseBody(Parser.java:1657)
    	org.apache.jasper.compiler.Parser.parseOptionalBody(Parser.java:1004)
    	org.apache.jasper.compiler.Parser.parseCustomTag(Parser.java:1272)
    	org.apache.jasper.compiler.Parser.parseElements(Parser.java:1449)
    	org.apache.jasper.compiler.Parser.parse(Parser.java:133)
    	org.apache.jasper.compiler.ParserController.doParse(ParserController.java:216)
    	org.apache.jasper.compiler.ParserController.parse(ParserController.java:103)
    	org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:167)
    	org.apache.jasper.compiler.Compiler.compile(Compiler.java:306)
    	org.apache.jasper.compiler.Compiler.compile(Compiler.java:286)
    	org.apache.jasper.compiler.Compiler.compile(Compiler.java:273)
    	org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:566)
    	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:317)
    	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
    	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
    	javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
    	org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:1069)
    	org.apache.struts.action.RequestProcessor.processForwardConfig(RequestProcessor.java:455)
    	org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:279)
    	org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
    	org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:507)
    	javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
    	javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
    </pre></p><p><b>note</b> <u>The full stack trace of the root cause is available in the Apache Tomcat/6.0.14 logs.</u></p><HR size="1" noshade="noshade"><h3>Apache Tomcat/6.0.14</h3></body></html>ben@kafka: 
    ben@kafka:
    Alles anzeigen


    Die Antwort liegt in der Stacktrace, die Tomcat mit dem 401 zurückwirft. Man beachte:

    Code
    org.apache.jasper.JasperException: /allgemein/agenterror.jsp(21,100) equal symbol expected

    Also der Server liest den User Agent des HTTP Requests aus, rechnet aber offenbar damit, dass dieser in zu einer bekannten Teilmenge gehört (Was Blödsinn ist: Der User Agent ist vom Client frei wählbar.).

    Also offenbar ein Bug am Server. Lässt sich auf der Seite des Client natürlich ganz einfach hacken, indem man einfach einen bekannten User Agent String setzt:

    HTML
    ben@kafka: curl --get --header "User-Agent: Mozilla/5.0 (X11; U; Linux i686; pl-PL; rv:1.9.0.2) Gecko/20121223 Ubuntu/9.25 (jaunty) Firefox/3.8" http://www.schulen-online.at/sol/pub_ssuche_init.do?method=schuleSuchenOeffentlich
    
    
    
    
    
    
    
    
    
    
    
    
    <html lang="en">
    <head>
    <title>Schulen-Online Suche</title>
    <meta content="text/html; charset=iso-8859-1" http-equiv="Content-Type" />
    <link href="resources/solstyles2.css" rel="stylesheet" type="text/css" />
    <script type="text/javascript" src="resources/sol_scripts.js">
        /*Script-Includes*/
        var scripts=true;
      </script>
    </head>
    <body marginwidth="0" marginheight="0" topMargin="0" leftMargin="0"
    	id="top">
    <table height="100%" width="100%" border="0" cellpadding="2"
    	cellspacing="0">
    	<colgroup>
    		<col width="130" />
    		<col />
    	</colgroup>
    	<tr height="1">
    		<td class="topnav" colspan="2">
    		<table width="100%" border="0" cellpadding="3" cellspacing="0">
    			<tr>
    				<td><img align="center" src="resources/top-logo2.gif" alt="Schulendatei-Online Logo"/></td>
    				<td class="menu" valign="bottom" align="right">
    
    
    				<div class="menu"><a href="javascript:goWin('help.html')"
    					class="menu">Hilfe</a>� <a href="javascript:goWin('glossar.html')"
    					class="menu">Glossar</a>� <a href="kontakt.html" class="menu">Kontakt</a>�
    				<a href="login_start.do" class="menu">Login</a>�</div>
    
    
    
    
    				<div class="menu"><a class="menu"
    					href="pub_ssuche_init.do?method=schuleSuchenOeffentlich">Suche
    				Schulen</a>� <a class="menu" href="pub_behsuche_init.do">Suche
    				Beh�rden</a>� <a class="menu" href="links.html">Links</a>�</div>
    
    
    				</td>
    			</tr>
    		</table>
    		</td>
    	</tr>
    	<tr>
    		<td align="center" valign="top" class="leftnav"><img
    			align="center" src="resources/bmbwk1.gif" alt="BMUKK Logo klein"/><br />
    		<div class="submenu"></div>
    		</td>
    		<td valign="top" class="formcontent">
    
    
    		<p id="h1">Suche nach Schulen</p>
    
    
    		<script type='text/javascript' src='/sol/dwr/interface/SolDwrBean.js'> </script>
    <script type='text/javascript' src='/sol/dwr/engine.js'> </script>
    <script type='text/javascript' src='/sol/dwr/util.js'> </script>
    <script type='text/javascript'>
    function update()
    {
    	SolDwrBean.getBezirke(createList, $("bundesland").value);
    }
    
    
    function createList(data)
    {
        DWRUtil.removeAllOptions("bezirk");
        DWRUtil.addOptions("bezirk", data);
    }
    
    
    function updateLpu()
    {
    	SolDwrBean.getGliederungsebene2(createListLpu, $("ebene1").value);
    }
    
    
    function sucheLpu()
    {
    	SolDwrBean.getGliederungsebene2Suche(createListLpu, $("ebene1").value);
    }
    
    
    function createListLpu(data)
    {
    	DWRUtil.removeAllOptions("ebene2");
    	DWRUtil.addOptions("ebene2", data);
    }
    
    
    </script>
    
    
    
    
    
    
    
    
    
    
    
    
    		<div class="formcontentsize">
    		<table class="" cellpadding="3" cellspacing="0" border="0">
    			<tr valign="top">
    				<td align="left" class=""><a
    					href="javascript:goWin('help_suche.html')">Wie suche ich
    				richtig?</a></td>
    			</tr>
    			<tr valign="top">
    				<td align="left" class=""></td>
    			</tr>
    		</table>
    		<p />
    		 <form name="SSuchenFB" method="GET" action="/sol/pub_ssuche_exec.do;jsessionid=909B8BB1C7BCF5F1920795D7C39055DB">
    
    
    			<table class="formback1" cellpadding="3" cellspacing="0" border="0">
    				<tr valign="top">
    
    
    					<input type="hidden" name="method" value="schuleSuchenOeffentlich">
    					<input type="hidden" name="formItem" value="">
    
    
    					<td align="left" class="">
    					<table class="" cellpadding="3" cellspacing="0" border="0">
    						<tr valign="top">
    							<td width="130" align="left" class="form1"><b>Suchkriterien</b></td>
    							<td align="right" width="140" class="form1"><b>Sortierung</b></td>
    							<td><select id='sortierung' name='sortierung'  class="form1" >
    <option value='KENNZAHL' selected='selected'>Schulkennzahl</option> <option value='KURZTITEL'>Schultitel</option> <option value='PRIMAER_SCHULART_ID,KURZTITEL'>Schulart</option> <option value='STAATEN_ID,BUNDESLAND_ID,KURZTITEL'>Bundesland</option> <option value='STAATEN_ID,BUNDESLAND_ID,BEZIRK_ID,KURZTITEL'>Bezirk</option> <option value='PLZ'>Postleitzahl</option> </select></td>
    							<td align="right" width="150" class="form1"><b>Treffer
    							pro Seite</b></td>
    							<td><select id='treffer' name='treffer'  class="form1" >
    <option value='10' selected='selected'>10</option> <option value='20'>20</option> <option value='50'>50</option> </select></td>
    						</tr>
    					</table>
    
    
    					<table class="" cellpadding="3" cellspacing="0" border="0">
    						<tr valign="top">
    							<td width="130" align="left" class="form1">Schulkennzahl</td>
    							<td><input type="text" name="schulkennzahl" maxlength="6" size="6" value="" class="form1" title="Geben Sie die exakte Schulkennzahl ein, wenn bekannt "></td>
    						</tr>
    						<tr valign="top">
    							<td width="120" align="left" class="form1">Schulbezeichnung</td>
    							<td><input type="text" name="bezeichnung" maxlength="50" size="50" value="" class="form1" title="Geben Sie einen beliebigen Suchbegriff ein: z.B. Hauptschule"></td>
    						</tr>
    					</table>
    
    
    					<table class="" cellpadding="3" cellspacing="0" border="0">
    						<tr valign="top">
    							<td width="130" align="left" class="form1">Postleitzahl</td>
    							<td><input type="text" name="plz" maxlength="4" size="4" value="" class="form1" title="Geben Sie die Postleitzahl ein, wenn bekannt "></td>
    							<td width="80" align="right" class="form1">Schulort</td>
    							<td><input type="text" name="ort" maxlength="38" size="15" value="" class="form1" title="Geben Sie den Schulort ein "></td>
    							<td width="80" align="right" class="form1">Stra�e</td>
    							<td><input type="text" name="strasse" maxlength="30" size="15" value="" class="form1" title="Geben Sie die Adresse ein, wenn bekannt "></td>
    						</tr>
    					</table>
    
    
    					<table class="" cellpadding="3" cellspacing="0" border="0">
    						<tr valign="top">
    							<td width="130" align="left" class="form1">Schulart</td>
    							<td><select id='schulart' name='schulart'  class="form1" >
    <option value='XX' >&lt;alle&gt</option><option value='01:VS'>Volksschule</option> <option value='02:HS'>Hauptschule</option> <option value='03:SS'>Sonderschule</option> <option value='04:PS'>Polytechnische Schule</option> <option value='05:BS'>Berufsschule (ohne land- u. forstw. Berufsschule)</option> <option value='16:LFBS'>Land- u. forstwirtschaftliche Berufsschule</option> <option value='06:AHS'>Allgemeinbildende h�here Schule</option> <option value='07:TMHS'>Technische und gewerbliche mittlere oder h�here Schule</option> <option value='08:KMHS'>Kaufm�nnische mittlere oder h�here Schule</option> <option value='09:WMHS'>Wirtschaftsberufliche mittlere oder h�here Schule</option> <option value='10:SMS'>Sozialberufliche Schule</option> <option value='20:SAK'>Sozialakademie</option> <option value='11:LFMS'>Land- und forstwirtschaftliche mittlere Schule</option> <option value='17:LFHS'>Land- und forstwirtschaftliche h�here Schule</option> <option value='12:LMHS'>Lehrerbildende mittlere oder h�here Schule</option> <option value='13:LAK'>P�dagogische Hochschule</option> <option value='18:MUS'>Musikschule</option> <option value='14:SOBE'>Sonstige Bildungseinrichtung</option> <option value='21:SAB'>Sonstige allgemein bildende Schulen (Statut)</option> </select></td>
    						</tr>
    					</table>
    
    
    					<table class="" cellpadding="3" cellspacing="0" border="0">
    						<tr valign="top">
    							<td width="130" align="left" class="form1">Bundesland</td>
    							<td><select id='bundesland' name='bundesland' onchange='update();' class="form1" >
    <option value='XX' >&lt;alle&gt</option><option value='0:0'>Auslandsschulen</option> <option value='A:1'>Burgenland</option> <option value='A:2'>K�rnten</option> <option value='A:3'>Nieder�sterreich</option> <option value='A:4'>Ober�sterreich</option> <option value='A:5'>Salzburg</option> <option value='A:6'>Steiermark</option> <option value='A:7'>Tirol</option> <option value='A:8'>Vorarlberg</option> <option value='A:9'>Wien</option> </select></td>
    							<td width="80" align="right" class="form1">Bezirk</td>
    							<td><select id="bezirk"
    								onchange="
    		javascript:validate('bezirk'); 
    	"
    								name="bezirk" required="n" class="form1">
    								<option value="0" class="">alle</option>
    							</select></td>
    						</tr>
    					</table>
    
    
    					<table class="" cellpadding="3" cellspacing="0" border="0">
    						<tr valign="top">
    							<td width="130" align="left" class="form1">�ffentlich/privat</td>
    							<td><input type="radio" id="privat" name="privat" value="XX"
    								checked="checked" class="form1" /></td>
    							<td width="90" align="left" class="form1">alle Schulen</td>
    							<td><input type="radio" id="privat" name="privat" value="1"
    								class="form1" /></td>
    							<td width="130" align="left" class="form1">�ffentliche
    							Schulen</td>
    							<td><input type="radio" id="privat" name="privat" value="2"
    								class="form1" /></td>
    							<td width="130" align="left" class="form1">private Schulen</td>
    						</tr>
    					</table>
    
    
    					</td>
    				</tr>
    			</table>
    
    
    			<table class="" cellpadding="3" cellspacing="0" border="0">
    				<tr valign="top">
    					<td height="40px" width="536px" align="left" class="" />
    					<td><input value="Suchen" type="submit" class="" /></td>
    				</tr>
    			</table>
    
    
    		</form> 
    
    		</div>
    
    
    		</td>
    	</tr>
    	<tr height="1">
    		<td class="leftnav"><img align="center" border="0" height="2"
    			width="130" src="resources/pixel.gif" /></td>
    		<td class="leftnav"><img align="center" border="0" height="2"
    			width="20" src="resources/pixel.gif" /></td>
    	</tr>
    	<tr height="1">
    		<td align="center" class="topnav">Release�3<br />
    		��BRZ�Gmbh</td>
    		<td align="right">
    			<div style="text-align:left; float:left; width:5em;">
    	  			<img src="resources/wcag1A.gif" alt="W3C WAI Logo der Stufe A"/>
    	  		</div>
    	  		<div style="text-align:reight; clean:both;">
    	  			<IMG  src="resources/bmbwklogo2.jpg" alt="BMUKK Logo gro�">
    	  		</div>
    		</td>
    	</tr>
    </table>
    </body>
    </html>
    ben@kafka:
    Alles anzeigen

    lg, Benjamin Ferrari, bookworm.at

    3 Mal editiert, zuletzt von a9bejo (29. April 2009 um 11:08)

  • josef19
    9
    josef19
    Mitglied
    Reaktionen
    9
    Punkte
    749
    Beiträge
    135
    • 29. April 2009 um 14:20
    • #5

    Das muss ja eine superstabiler Programierstil sein! Ein gefundenes Fressen für jeden "Hacker". (Aber bei solchen Fehlern ist ja jeder Google-Bot ein Angreifer;-))

    Habt ihr das den Seitenbetreiber gemeldet? (Waere lustig, wie die reagieren.)

    Warum einfach, wenns kompliziert geht ! USB-CD-ROM mit USB-Stick emulieren

  • a9bejo
    21
    a9bejo
    Mitglied
    Reaktionen
    42
    Punkte
    4.697
    Beiträge
    913
    • 29. April 2009 um 15:57
    • #6
    Zitat von josef19

    Aber bei solchen Fehlern ist ja jeder Google-Bot ein Angreifer;-))

    Wieso Angreifer? Eine Angriffsmöglichkeit sehe ich nicht. Das Dokument kann halt von vielen Clients nicht gelesen werden. Das ist sicher schlechtes Design, und das man Fehlermeldungen offen legt, ist wohl auch ein Sicherheitsrisiko. Aber das System schädigen oder geheime Daten auslesen lässt sich hier (so weit ich das erkennen kann) noch nicht so ohne weiteres.

    lg, Benjamin Ferrari, bookworm.at

  • josef19
    9
    josef19
    Mitglied
    Reaktionen
    9
    Punkte
    749
    Beiträge
    135
    • 29. April 2009 um 16:11
    • #7

    OK! --> Angreifer ist fast uebertrieben.
    Man weis aber: Apache Tomcat/6.0.14 (aktuell 6.0.18)
    In den Logs steht gefühlsmäßig 1MB Muell von den beschriebenen Aktionen.
    (...)

    Warum einfach, wenns kompliziert geht ! USB-CD-ROM mit USB-Stick emulieren

  • Maximilian Rupp 27. Dezember 2024 um 00:26

    Hat das Thema aus dem Forum Programmieren nach Entwicklung verschoben.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!

Benutzerkonto erstellen Anmelden

Rechtliches

Impressum

Datenschutzerklärung