Retire.js 는 javascript library의 취약점을 찾아주는 JS Library 이자 , Node.js app 이다. 대체로 chrome 브라우저의 extension 으로 사용하거나 Burp 의 extension 이나 OWASP ZAP의 plugin 형태로 많이 사용된다.
https://github.com/retirejs/retire.js/
Retire.js 를 이용한 취약점 분석
크롬에서 retire.js extension을 설치하고 타겟 사이트에 접속하게 되면, 아래와 같이 스캔 결과가 리포트된다. 즉, load 되는 js 버전을 분석 후 공개된 취약점이 있는 버전 사용 시 유저에게 노티만 해준다.
js 파일 상에 취약점이 있다는 것이다. 다만 실제로 영향력이 있으려면 트리거가 있어야 할 것이다.
위에 보이는 것과 같이 angularJS 취약점이 많이 나왔다. 우선 AngulaJS에 대해 간단히 알아보자.
참고
- http://www.hahwul.com/2017/09/web-hacking-retirejs-js-library.html
- http://www.hahwul.com/2017/07/web-hacking-angularjs-sandboxdom-based.html
- angular 1.5.9 페이로드 있는 곳 ( http://blog.portswigger.net/2016/01/xss-without-html-client-side-template.html )
- https://www.youtube.com/watch?v=JFIGpRh76XY