Penetrationstestrapport for centraliseret udveksling

Ledelsesoversigt

Centraliseret Exchange-team kontaktede Sayfer for at udføre fuld blackbox-penetrationstest på deres webapplikation og whitebox-gennemgang for deres kryptoarkitektur i december 2021.

Før vi vurderede ovenstående tjenester, holdt vi et kickoff-møde med det tekniske team på Centralized Exchange og modtog et overblik over systemet og målene for denne forskning.

I løbet af undersøgelsesperioden på 4 uger opdagede vi 10 sårbarheder i systemet. De farligste sårbarheder var SQL-injektion og fejl i forretningslogikken.

Indvirkningen på systemet er kritisk, da en ondsindet hacker kan udnytte nogle af disse sårbarheder til at drage fordel af systemet, enten ved at ændre sin brugerrolle til "super_user" via SQL-indsprøjtningen eller ved at misbruge systemet og stjæle penge fra den centraliserede børs ved hjælp af 30'ernes systemopdateringsmekanisme.

Sårbarheder efter risiko

Høj – Direkte trussel mod vigtige forretningsprocesser.
Medium – Indirekte trussel mod vigtige forretningsprocesser eller delvis trussel mod forretningsprocesser.
Lav - Der er ingen direkte trussel. Sårbarheden kan udnyttes ved hjælp af andre sårbarheder.
Informational – Denne konstatering indikerer ikke sårbarhed, men angiver en kommentar, der giver besked om designfejl og ukorrekt implementering, der kan forårsage et problem i det lange løb.

Severity
# af problemer
Høj
3
Medium
3
Lav
2
Informational
0

Tilgang

Introduktion

Det Centralized Exchange-team kontaktede Sayfer for at udføre fuld grå-boks-penetrationstest på Centralized Exchange-applikationen og for at udføre white-box-sikkerhedsrevision af den Centralized Exchange-forretningslogik og -kode fra et kryptovalutasynspunkt.

Denne rapport dokumenterer forskningen udført af Sayfer rettet mod de udvalgte ressourcer, der er defineret under forskningsomfanget. Specielt viser denne rapport gennemgangen af ​​sikkerhedspositionen for den centraliserede Exchange-applikation og -kode og dens omgivende infrastruktur og procesimplementeringer.

 

Vores gennemtrængningstestprojekts livscyklus:

01

Omfangsoversigt

02

Teknisk oversigt

03

Omfangsvalidering

04

Trusselsmodel

05

Sikkerhedsvurdering

06

Sikkerhedsvurdering

Omfangsoversigt

Under vores første møde og efter at have forstået virksomhedens behov, definerede vi applikationens omfang, der ligger på følgende URL'er som omfanget af projektet:

  • █████████████████████
  • ████████████████████████████
  • █████████████████████████████████████
  • ████████████████████████████

Vores test blev udført mellem 21/12/2021 til 17/01/2022

Lad det ikke være for sent!

Start din revision med Sayfer

Omfangsvalidering

Vi startede med at sikre, at det omfang, som kunden havde defineret for os, var teknisk logisk. At beslutte, hvilket omfang der er det rigtige for et givet system, er en del af den indledende diskussion. At få det rigtige omfang er nøglen til at få maksimal forretningsværdi ud af forskningen.

Trusselsmodel

Under vores kickoff-møder med kunden definerede vi de vigtigste aktiver, som applikationen besidder.

Vi definerede, at den største aktuelle trussel mod systemet er at manipulere brugerne og

████████ finansielle aktiver.

Lad det ikke være for sent!

Start din revision med Sayfer

Sikkerhedsvurderingsmetode

Sayfer bruger OWASP WSTG som vores tekniske standard ved gennemgang af webapplikationer. Efter at have fået en grundig forståelse af systemet besluttede vi, hvilke OWASP-tests der kræves for at evaluere systemet.

Sikkerhedsvurdering

Efter at have forstået og defineret omfanget, udført trusselsmodellering og evalueret de korrekte test, der kræves for fuldt ud at kontrollere applikationen for sikkerhedsfejl, udførte vi vores sikkerhedsvurdering.

Information Indsamling

Information Indsamling Testnavn
WSTG-INFO-01 Udfør søgemaskineopdagelse for informationslækage
WSTG-INFO-02 Fingeraftryk webserver
WSTG-INFO-03 Gennemgå webservermetafiler for informationslækage
WSTG-INFO-04 Opregn applikationer på webserver
WSTG-INFO-05 Gennemgå websideindhold for informationslækage
WSTG-INFO-06 Identificer applikationsindgangspunkter
WSTG-INFO-07 Kortlæg udførelsesstier gennem applikationen
WSTG-INFO-08 Fingerprint Web Application Framework
WSTG-INFO-09 Webapplikation med fingeraftryk
WSTG-INFO-10 Kortapplikationsarkitektur

Konfiguration og implementering af ledelsestest

Konfiguration og implementering af ledelsestest Testnavn
WSTG-CONF-01 Test netværksinfrastrukturkonfiguration
WSTG-CONF-02 Test applikationsplatformens konfiguration
WSTG-CONF-03 Test filudvidelseshåndtering for følsomme oplysninger
WSTG-CONF-04 Gennemgå gamle sikkerhedskopier og filer uden reference for følsomme oplysninger
WSTG-CONF-05 Opregn infrastruktur- og applikationsadministrationsgrænseflader
WSTG-CONF-06 Test HTTP-metoder
WSTG-CONF-07 Test HTTP Strict Transport Security
WSTG-CONF-08 Test RIA-politik på tværs af domæner
WSTG-CONF-09 Test filtilladelse
WSTG-CONF-10 Test for subdomæneovertagelse
WSTG-CONF-11 Test Cloud Storage

Identitetsstyringstest

Identitetsstyringstest Testnavn
WSTG-IDNT-01 Testrolledefinitioner
WSTG-IDNT-02 Test brugerregistreringsproces
WSTG-IDNT-03 Test kontoprovisioneringsproces
WSTG-IDNT-04 Test for kontooptælling og gættelig brugerkonto
WSTG-IDNT-05 Tester for svag eller uhåndhævet brugernavnpolitik

Autentificeringstest

Autentificeringstest Testnavn
WSTG-ATHN-01 Test af legitimationsoplysninger transporteret over en krypteret kanal
WSTG-ATHN-02 Test for standardlegitimationsoplysninger
WSTG-ATHN-03 Test for svag låsemekanisme
WSTG-ATHN-04 Test for omgåelse af godkendelsesskema
WSTG-ATHN-05 Test for sårbare Husk adgangskode
WSTG-ATHN-06 Test for svagheder i browsercache
WSTG-ATHN-07 Test for svag adgangskodepolitik
WSTG-ATHN-08 Test for svagt sikkerhedsspørgsmål svar
WSTG-ATHN-09 Test for svag adgangskodeændring eller nulstilling af funktioner
WSTG-ATHN-10 Test for svagere autentificering i alternativ kanal

Autorisationstest

Autorisationstest Testnavn
WSTG-ATHZ-01 Test af kataloggennemløbsfil inkluderer
WSTG-ATHZ-02 Test for omgåelse af autorisationsskema
WSTG-ATHZ-03 Test for privilegie-eskalering
WSTG-ATHZ-04 Test for usikre direkte objektreferencer

Sessionsstyringstest

Sessionsstyringstest Testnavn
WSTG-SESS-01 Test for Session Management Schema
WSTG-SESS-02 Test for cookies-attributter
WSTG-SESS-03 Test for sessionsfiksering
WSTG-SESS-04 Test for eksponerede sessionsvariabler
WSTG-SESS-05 Test for forfalskning af anmodninger på tværs af websteder
WSTG-SESS-06 Test for logout funktionalitet
WSTG-SESS-07 Timeout for testsession
WSTG-SESS-08 Test for Session Puzzle
WSTG-SESS-09 Test for sessionskapring

Datavalideringstest

Datavalideringstest Testnavn
WSTG-INPV-01 Test af reflekteret scripting på tværs af websteder
WSTG-INPV-02 Test for Stored Cross Site Scripting
WSTG-INPV-03 Test af HTTP-udsagnsordsmanipulation
WSTG-INPV-04 Test for HTTP-parameterforurening
WSTG-INPV-05 Test for SQL Injection
WSTG-INPV-06 Test for LDAP-injektion
WSTG-INPV-07 Test for XML-injektion
WSTG-INPV-08 Test for SSI-injektion
WSTG-INPV-09 Test for XPath-injektion
WSTG-INPV-10 Test for IMAP SMTP-injektion
WSTG-INPV-11 Test for kodeinjektion
WSTG-INPV-12 Test for kommandoinjektion
WSTG-INPV-13 Test for Format String Injection
WSTG-INPV-14 Test for inkuberet sårbarhed
WSTG-INPV-15 Test for HTTP-smugling
WSTG-INPV-16 Test for indgående HTTP-anmodninger
WSTG-INPV-17 Test for Host Header Injection
WSTG-INPV-18 Test af skabeloninjektion på serversiden
WSTG-INPV-19 Test for server-side anmodningsforfalskning

Fejlhåndtering

Fejlhåndtering Testnavn
WSTG-ERRH-01 Test for forkert fejlhåndtering
WSTG-ERRH-02 Test af stakspor

Kryptografi

Kryptografi Testnavn
WSTG-CRYP-01 Test for svag transportlagssikkerhed
WSTG-CRYP-02 Test af polstring Oracle
WSTG-CRYP-03 Test for følsomme oplysninger sendt via ukrypterede kanaler
WSTG-CRYP-04 Test for svag kryptering

Test af forretningslogik

Test af forretningslogik Testnavn
WSTG-BUSL-01 Test Business Logic Data Validering
WSTG-BUSL-02 Test evne til at forfalske anmodninger
WSTG-BUSL-03 Test integritetstjek
WSTG-BUSL-04 Test for procestiming
WSTG-BUSL-05 Test Antal gange, en funktion kan bruges Grænser
WSTG-BUSL-06 Test for omgåelse af arbejdsgange
WSTG-BUSL-07 Test forsvar mod applikationsmisbrug
WSTG-BUSL-08 Test upload af uventede filtyper
WSTG-BUSL-09 Test upload af ondsindede filer

Test på klientsiden

Test på klientsiden Testnavn
WSTG-CLNT-01 Test af DOM-baseret Cross Site Scripting
WSTG-CLNT-02 Test af JavaScript-udførelse
WSTG-CLNT-03 Test for HTML-injektion
WSTG-CLNT-04 Test af URL-omdirigering på klientsiden
WSTG-CLNT-05 Test for CSS-injektion
WSTG-CLNT-06 Test for klientsideressourcemanipulation
WSTG-CLNT-07 Test Cross Origin-ressourcedeling
WSTG-CLNT-08 Test for Cross Site Flashing
WSTG-CLNT-09 Test for Clickjacking
WSTG-CLNT-10 Test af WebSockets
WSTG-CLNT-11 Test webmeddelelser
WSTG-CLNT-12 Test af browserlagring
WSTG-CLNT-13 Test for Cross Site Script-inkludering

API-testning

API-testning Testnavn
WSTG-APIT-01 Test af GraphQL

Anmeldelse af Crypto Wallet

Anmeldelse af Crypto Wallet Testnavn
SAYFER-CRPTW-01 Test handel forretningslogik
SAYFER-CRPTW-03 Test UTXO-baserede cryptocurrency node konfigurationer
SAYFER-CRPTW-04 Test kontobaserede cryptocurrency-kodekonfigurationer
SAYFER-CRPTW-05 Test transaktionsbekræftelse kritisk kode
SAYFER-CRPTW-06 Test TAPROOT-understøttelse
SAYFER-CRPTW-07 Test opbevaring af privat nøgle

 

Bestil revision hos Sayfer

    Dette websted er beskyttet af reCAPTCHA og Google Privatlivspolitik og Servicevilkår ansøge.

    Sikkerhedsvurderingsresultater

    Gemmer private MPC-nøgler på en usikker måde

    ID SAYFER-CRPTW-07
    Risiko Høj
    Påkrævet færdighed Høj
    OWASP
    Henvisning
    -
    Lokation -
    Værktøjer Konfigurationsrevision

    Beskrivelse

    Centraliserede udvekslinger lider under nøgleledelsespraksis af lav kvalitet. Der er mange eksempler på sådanne tilfælde, hvor nøglerne blev tabt eller stjålet, hvilket medførte, at tjenesten mistede alle pengepungen eller låste midlerne fuldstændigt.

    Under vores revision af konfigurationsfiler gennemgik vi nøglestyringslagringen. Vi fandt ud af, at nøglerne, der bliver brugt til den kolde multi-sig-pung, ikke opbevares fordelt nok steder.

    Der er 3 nøgler, der bruges i MPC-nøglesigneringen. 1 opbevares i en fysisk beskyttet maskine. De andre 2 er gemt i den samme dedikerede maskine i GCP.

    Der er taget et par sikkerhedsmålinger for at sikre disse maskiner, men problemet afhænger af distributionen, hvis maskinen, der er installeret på GCP, bliver kompromitteret, kan en angriber underskrive enhver transaktion fra den kolde tegnebog.

    Dette er et højrisiko og følsomt sted, hvor mange har fejlet tidligere, bedste praksis bør følges nøje.

    Mitigation

    Brug 3. parts depotservice til at administrere hot wallets og bokse. Vi vil med glæde anbefale en af ​​vores samarbejdspartnere.

    Disse tjenester håndterer MPC og nøglestyring for dig, med andre ekstra sikkerhedslag, der gør brugen af ​​sådanne tjenester til det bedste valg til centraliserede udvekslinger.

     

    SQL Injection

    ID WSTG-INPV-05
    Risiko Høj
    Påkrævet færdighed Medium
    OWASP
    Henvisning
    - Link
    Lokation – ██████████████
    Værktøjer Burp Repeater, sqlmap, PayloadAllTheThings

    Beskrivelse

    Et SQL-injektionsangreb involverer at indsætte eller "injicere" en delvis eller komplet SQL-forespørgsel i datainputtet, der transmitteres fra klienten til webapplikationen. Et vellykket SQL-injektionsangreb kan læse følsomme data fra databasen, ændre databasedata (indsætte/opdatere/slette), udføre databaseadministrationshandlinger (såsom nedlukning af DBMS), gendanne indholdet af en given fil på DBMS-filsystemet eller skrive filer ind i filsystemet og i nogle tilfælde udstede kommandoer til operativsystemet.

    Brug af transaction endepunkt, vi var i stand til at misbruge more URL-forespørgselsparameter til indsprøjtning af ondsindet SQL-nyttelast:

    /api/transactions?size=10&more=te');INJECTION_PAYLOAD

    Den nyttelast vi brugte var:

    /api/transactions?size=10&sort=time,DESC&more=te');SELECT+CASE+WHEN+(substring(versio n(),12,2)+%3d+'10')+THEN+pg_sleep(10)+ELSE+pg_sleep(0)+END%3b – Hvilket i dette tilfælde kontrollerer, om den kørende forekomst af Postgres er version 10 eller ej.

    En hacker, der udnytter denne sårbarhed, kan overtage systemet. Vi var i stand til at udtrække tabelskemaerne, opdatere vores egen brugers rolle eller dumpe enhver information gemt på DB'en og endda ændret vores brugers balance på DB'en.

    Mitigation

    SQL-injektionssårbarhed er let at rette, men svær at afbøde. Der er behov for stærk lining eller implementering af kompileringsregler, der gennemtvinger fremtidige ændringer.

    Afhjælpning af SQL-injektionssårbarheder udføres normalt ved at følge en ramme efter eget valg, hvilket betyder, at udvikleren aldrig bør sammenkæde strenge i en fuld SQL-sætning.

    Hvert brugerinput bør renses til en SQL-eksekvering i stedet for at blive brugt som en simpel SQL-forespørgselsstreng.

    For mere information om SQL-injektion perfektion henvises til SQL Injection Forebyggelse CheatSheet.

     

    Usikre direkte objektreferencer

    ID WSTG-ATHZ-04
    Risiko Høj
    Påkrævet færdighed Medium
    OWASP
    Henvisning
    - Link
    Lokation – ██████████████████/dashboard/{DASHBOARD_ID}
    Værktøjer Burp Repeater, DevTools

    Beskrivelse

    Usikre direkte objektreferencer (IDOR) er en type adgangskontrolsårbarhed, der opstår, når en applikation bruger brugerleveret input til at få direkte adgang til objekter. Som et resultat af denne sårbarhed kan angribere omgå autorisation og få direkte adgang til ressourcer i systemet, for eksempel databaseposter eller filer.

    Vi fandt ud af, at █████████ API'en lader en angriber se andre brugeres dashboardoplysninger, herunder alle denne brugers finansielle data.
    Sårbarheden er afhængig af dashboard-id-parameteren, som er et gætteligt heltal. Eksempel på anmodning om et enkelt dashboard (for et dashboard, der ikke ejes af den aktuelle bruger):

    GET ████/dashboard/827371 HTTP/1.1

    Host: ██████████████████

    api-key: ██████████

    Det indikerer, at /dashboard/DASHBOARD_ID slutpunkt tjekker ikke for autorisation for den anmodede ressource. En autentificeret angriber kunne skrabe hvert enkelt dashboard, som indeholder oplysninger om brugerens midler og tidligere transaktioner.

    Mitigation

    Der er flere måder at afbøde IDOR-sårbarheder på, i dette tilfælde ser det ud til, at løsningen kan være at tjekke for autorisation for hver eneste anmodning.

    Det betyder, at hver anmodningsnøgle kun vil kunne hente sin kontos dashboards

     

    Svagere autentificering i alternativ kanal

    ID WSTG-ATHN-10
    Risiko Høj
    Påkrævet færdighed Medium
    OWASP
    Henvisning
    - Link
    Lokation – ██████████████████
    Værktøjer Google Chrome, DevTools, amass, ffuf

    Beskrivelse

    Selvom de primære godkendelsesmekanismer ikke inkluderer nogen sårbarheder, kan det være, at der findes sårbarheder i alternative legitime godkendelsesbrugerkanaler for de samme brugerkonti.

    Denne sårbarhed er en del af en kæde af 2 sårbarheder, der gjorde det muligt for os at overtage enhver konto med kun en e-mailadresse.

    Som en del af vores rekognoseringsfase, hvor vi prøver at finde en bredere angrebsvektor ved at opregne de vigtigste målundersystemer, fandt vi en admin -grænseflade under underdomænet ██████████████████. Det er muligt at logge ind på admin-grænsefladen ved hjælp af en normal app-bruger, men for næsten alle de netværksanmodninger, vi inspicerede under indlæsningen af ​​hovedsiden, returnerer serveren en 401-fejl.

    [IMAGE_REDACTED]

    Vi reverse-manipulerede main.js bundle-filen, som har front-end-koden til appen, og fandt alle de potentielle slutpunkter, en administrator kan interagere med.

    Vi kunne kun udnytte endepunktet af api/updateUser. Slutpunktet gjorde det muligt for os at redigere enhver bruger-e-mail, og ved at gøre det var vi i stand til at nulstille ofrets adgangskode og overtage kontoen

    [IMAGE_REDACTED]

    Mitigation

    Det anbefales stærkt at lave en godkendelsesmekanisme eller en VPN til debugging eller til de administrative tjenester i systemet for at forhindre tilstedeværelsen af ​​usikrede offentlige applikationer, der kan udnyttes af en angriber.

    Derudover er der en autorisationsmekanisme i admin-grænsefladen, men dette er uden for dette projekts rammer.

     

    Gennemgå webservermetafiler for informationslækage

    ID WSTG-INFO-03
    Risiko Høj
    Påkrævet færdighed Medium
    OWASP
    Henvisning
    - Link
    Lokation – ████████████████

    – █████████████████████████████

    – ████████████

    Værktøjer Chrome, fortsæt

    Beskrivelse

    Som en del af vores forskning om målet og dets underdomæner fandt vi nogle metafiler, der ikke burde være offentlige, eller i det mindste ikke uden den rette autentificeringsmekanisme.

    • ████████████████████████.gitignore
    • ██████████████████████████████./docker-komponér
    • ████████████████████████/swagger-ui.html

    [IMAGE_REDACTED]

    [IMAGE_REDACTED]

    [IMAGE_REDACTED]

    Vi fandt tre slags filer, der kan skade ████████ tjenester, .gitignore, swagger-ui og docker-compose.yml fil. Disse tre filer afslører følsomme data

    om servicearkitekturen. En ondsindet aktør kan bruge denne information til at øge sin angrebsvektor på målet.

    Mitigation

    Hvis det er muligt, skal du fjerne disse filer fra den offentlige service eller implementere en autorisationsmekanisme, der kun giver adgang til privilegerede brugere.

     

    Manglende overskrift for indholdssikkerhedspolitik

    ID SAYFER-CONFIG-008
    Risiko Medium
    Påkrævet færdighed Høj
    OWASP
    Henvisning
    -
    Lokation -
    Værktøjer Bøvs, webbrowser

    Beskrivelse

    Content Security Policy (CSP) er et ekstra lag af sikkerhed, der hjælper med at opdage og afbøde visse typer angreb, herunder Cross-Site Scripting (XSS) og datainjektionsangreb.

    Vi fandt ikke en CSP-header i nogen af ​​serverens svar.

    [IMAGE_REDACTED]

    Ved at bruge CSP-webstedsadministratorer tilføjer en anden forsvarslinje mod XSS eller clickjacking-angreb, ved at gøre det vil systemet være sikkert, selvom fremtidige usikrede ændringer foretages i kildekoden.

    En grundlæggende CSP-politik bør i det mindste beskrive de standard-hvidlistede domæner for statiske filer (som scripts, billeder og CSS). Og frame-ancestors for at forhindre klik-jack-angreb.

    Mere info:

    1. https://cspvalidator.org/
    2. https://csp-evaluator.withgoogle.com/

    Mitigation

    Tilføjelse af Content-Security-Policy: [policy] på hvert svar, hvor det kan være farligt at indlæse eksterne ressourcer

    Vi anbefaler stærkt, at du bruger den og tester den først med varianten "Kun rapportering" for at teste din politik, før du frigiver den til produktion:

    Content-Security-Policy-Report-Only: [policy]

     

    Test af sikkerhedsoverskrifter

    ID SAYFER-CONFIG-009
    Risiko Medium
    Påkrævet færdighed Høj
    OWASP
    Henvisning
    -
    Lokation – ████████████
    Værktøjer Bøvs, webbrowser

    Beskrivelse

    1. Browsere understøtter mange HTTP-headere, der kan forbedre applikationssikkerheden for at beskytte mod en række almindelige angreb, headerne udveksles mellem en webklient (normalt en browser) og en server for at specificere de sikkerhedsrelaterede detaljer for HTTP-kommunikation.

    Når du ser på ████████ sikkerhedsheadere, mangler følgende:

    • X-Content-Type-Options

    Indstilling af denne header forhindrer browseren i at fortolke filer som noget andet end det, der er deklareret af indholdstypen i HTTP-headerne.

    • Streng-Transport-Sikkerhed

    HSTS er en websikkerhedspolitikmekanisme, der hjælper med at beskytte websteder mod protokolnedgraderingsangreb og cookiekapring. Det giver webservere mulighed for at erklære, at webbrowsere kun bør interagere med den ved hjælp af sikre HTTPS-forbindelser og aldrig via den usikre HTTP-protokol.

    • Henvisningspolitik

    Referer-headeren er en anmodningsheader, der angiver det sted, hvorfra trafikken stammer fra. Hvis der ikke er tilstrækkelig forebyggelse på plads, vil selve URL'en og endda følsomme oplysninger indeholdt i URL'en blive lækket til webstedet med krydsoprindelse.

    • Access-Control-Allow-Origin

    Overskriften har værdien "*", som afslører API'en for hvert websted, dette er muligvis ikke det ønskede resultat.

    Mitigation

    Tilføjelse af de nævnte overskrifter til alle back-end-tjenester.

     

    Gennemgå webservermetafiler for informationslækage

    ID WSTG-INFO-03
    Risiko Lav
    Påkrævet færdighed Medium
    OWASP
    Henvisning
    - Link
    Lokation -
    Værktøjer DevTools

    Beskrivelse

    Mens vi undersøgte målet med DevTool, var vi i stand til at se frontend-kildekoden uden nogen form for sløring. Denne sårbarhed opstår, fordi JS-pakkerne sendes med sourcemaps til produktion, som gør det muligt at læse den originale kildekode med kommentarer, der kan afsløre information, for eksempel følgende paths.ts-fil:

    █████████████████████/paths.ts [IMAGE_REDACTED]

    Ved at have kildekortet kan en angriber lære om kodebasen, læse kommentarer og finde forældede kodedele, som senere kan bruges til at finde sårbarheder.

    Mitigation

    Send ikke kildekort til produktion, de fleste log- og fejlsporingssystemer har en mening om at uploade kildekortene til et back-office-system. En anden tilgang ville være kun at servere kildekortene til autentificerede brugere via VPN eller andre mekanismer.

     

    Fingeraftryk webserver

    ID WSTG-INFO-002
    Risiko Lav
    Påkrævet færdighed Medium
    OWASP
    Henvisning
    - Link
    Lokation – ███████████████████████████
    Værktøjer Bøvse

    Beskrivelse

    Mens blotlagte serveroplysninger i sig selv ikke nødvendigvis er en sårbarhed, er det oplysninger, der kan hjælpe angribere med at udnytte andre sårbarheder, der måtte eksistere. De fleste af slutpunkterne afslører ikke nogen information om serveren gennem HTTP-headere eller fejlsider.
    Ved at bruge følgende forkert udformet HTTP-anmodning var vi i stand til at fingeraftrykke en Nginx-server gennem et 400-svar
    GET /v2 HTTPMALFORMED/1.1
    Host: ██████████████████
    Accept: */*

    Svarlegemet er:
    <html>
    <head><title>400 Bad Request</title></head>
    <body bgcolor="white">
    <center><h1>400 Bad Request</h1></center>
    <hr><center>nginx 1.14.0</center>
    </body>
    </html>

    Mitigation

    Der er forskellige måder at skjule webserverheadere på, de mest almindeligt anvendte metoder er:

    1. Reverse proxy-servere, der står mellem det globale internet og det interne
    2. Konfigurer hver webserver til at fjerne disse overskrifter.

    Bilag A: Rettelser til sikkerhedsevaluering

    Vil blive opdateret af Sayfer-teamet efter den første revision.

    Du kan finde mere information om det på vores blog

    Sayfers blog fokuserer på web3, sikkerhed og sårbarhedsforskning. Vi tror på, at det i cybersikkerhedsindustrien er afgørende at holde sig opdateret på de seneste trends og fremskridt. I øjeblikket nyder vores team af erfarne forskere at forske i banebrydende blockchain- og web3-teknologier.
    Kontakt os

    Hold kontakten

    Lokation
    Tel Aviv, Israel
    messengers:
    Du er velkommen til at kontakte os, vi vil med glæde svare!

      Dette websted er beskyttet af reCAPTCHA og Google Privatlivspolitik og Servicevilkår ansøge.
      Spring til indhold