Ho avuto un cliente che viene da me con un controllo di conformità PCI fallito con l'errore apparentemente causato da un'estensione che sviluppo. Lo scenario è che il contenuto della pagina web è servito dall'estensione, ma una particolare stringa viene sostituita nelle pagine lato server HTML con il contenuto di un cookie. Questo contrassegna un problema di sicurezza sul controllo di conformità anche se il contenuto dei cookie viene passato attraverso la funzione PHP htmlspecialchars()
. Con il cookie rimosso completamente il controllo passa. La cosa strana è che lo stesso controllo passa su un altro sito web usando esattamente la stessa estensione ma con il cookie presente.
Che cosa ho perso?
EDIT: per dare un po 'più di dettaglio secondo la richiesta nel commento, il valore viene emesso in HTML e l'errore esatto come mostrato nel report è il seguente:
Affected URL:
http://www.somestore.com/somepage.html Affected Variable: cookie_name Injected
text:
PmTmLZjuQsTQRb1U;SecurityMetrics_xss_in_element_event=88bdc4bc6f8451350
a8dbc5753b48066661972c446c248ef44c94800554c44cd// Variation ID:
%3Cbutton%20type=%22button%22%20title=%22Add%20to%20Basket%22%20
class=%22button%20btnCVSS
10.00
FAIL
Port
80
Protocol
TCP
Service
http
Title
Cross-Site Scripting in event tag of HTML element
cart%22%20onclick=%22setLocation('http://www.somestore.com/checkout/cart/add/ue
nc/aHR0cDovL3d3dy5lY3V2YS5jb20vZGFpbHktbGl2aW5nLmh0bWw_bW9kZT1saX
N0JTIzJTVFJTI4JTI0JTIxJTQwJTI0JTI5JTI4JTI4JTI5JTI5JTI5JTJBJTJBJTJBJTJBJTJBJTJB/pro
duct/2577/form_key/PmTmLZjuQsTQRb1U;SecurityMetrics_xss_in_element_event=
88bdc4bc6f8451350a8dbc5753b48066661972c446c248ef44c94800554c44cd///')
%22%3E%3Cspan%3E%3Cspan%3EAdd%20to%20Basket%3C/span%3E%3C/span
%3E%3C/button%3E