Alternatiivne lähenemine automatiseeritud DOM-XSS haavatavuste tuvastamisele

Date

2017

Journal Title

Journal ISSN

Volume Title

Publisher

Abstract

Käesolevas lõputöös pakutakse välja alternatiivne meetod DOM-XSS tuvastamiseks, toetudes juba olemasolevatele lähenemistele, mida kasutavad erinevad XSS tuvastamise veebiskännerid. Veebiskännerite üldine lähenemine on selline, et kõikidesse skännitavatesse veebisisenditesse sisestatakse kood ning kontrollitakse HTML vastust, et tuvastada potentsiaalne XSS haavatavus. Antud lõputöös tehakse ettepanek tuua sisse lisaskännimise kiht, mis kujutab endast eraldi veebilehitsejat. See veebilehitseja vastutaks veebiserverisse kõikide päringute saatmise ja HTML vastuste kuvamise eest. Vastuse kuvamine käivitaks kõik lehel olevad programmikoodid. Iga kood, mis muudab veebi sisu dünaamiliselt põhjustades DOM-XSS, kajastuks renderdatud vastuses. Kuvatud vastuses kontrollitakse XSS haavatavuse olemasolu. Käesoleva lõputöö meetod võimaldab tuvastada nii DOM-XSS kui ka teisi XSS liike. Selleks, et seda meetodit tõestada, on lõputöö autor loonud veebipõhise tööriista XSS tuvastamiseks. Antud tööriist suudab avada ja kontrollida veebilehitsejat, mis võimaldab automaatselt kuvatud veebilehe haavatavust kontrollida. Lõpuks annab tööriist väljundiks skännimisest tekkinud raporti, mis näitab potentsiaalseid XSS vastu haavatavaid sisendeid. See tööriist aitab penetratsiooni testijaid, kes eelistavad manuaalset testimist.
This thesis proposes an alternative methodology to detect DOM-XSS by building-up on the existing approach used by web scanners in detecting general XSS. Web scanners general approach is to inject payload in the web page inputs and check the recieved HTML repsonse for possible cross-site scripting vulnerabilties. The thesis proposes to add an extra scan layer which is an actual browser that would be resonsible for sending any request and render the recieved HTML response from webserver. Rendering the response causes any script in the page to be executed, hence any code that alters the page dynamic content causing DOM-XSS will reflect on the rendered response. Then the rendered response is checked for XSS vulnerabilties. The thesis methodology allows detecting both DOM-XSS and other types of XSS. To provide a proof of concept for this methodology, the thesis author created a web-based tool on that premises. The tool can open and control a browser which allows automated loading of web pages and scanning the rendered response for vulnerabilties. Finally, the tool provides detailed scan report that points out possible inputs that might cause XSS in order to assist penetration testers who prefer manual scans.

Description

Keywords

Citation