2009-09-08 4 views
0

누구나 도구 또는 일부 JavaScript 라이브러리의 소스 코드 "보안 검토"을 수행하는 방법을 제안 할 수 있습니까? 특히 악랄한 개인이 잠재적으로 남긴 크로스 사이트 스크립팅 (XSS) 활동.JavaScript 라이브러리 보안 검토

"RATS - 보안을위한 거친 감사 도구"와 같은 것이 이상적입니다. 잠재적 취약점을 나타내는 키워드 또는 구문의 소스 코드를 구문 분석하는 JavaScript에 사용할 수 있습니다.

또는

이 /가해야 할 특별한주의를 지불하는 것들을 내 목록에 추가 ...
* md5sum이을 (존재하는 경우!)
* 자바 스크립트 린트 (www.javascriptlint.com)
확인 * JS 린트 (www.jslint.com)

(그렙이 준비하는 행동에 대한 준비가) 핵심 단어를 다음를 찾아보십시오 : - 자바 스크립트, 평가, 양식, 요소, 쿠키, href가, SRC
- 위치, 해시 , 호스트, 호스트 이름, href, 경로 이름, 포트, pr otocol, 검색,
-하여 fromCharCode
URL, 온로드 - - 프로토콜 - 할당, 교체
를 다시 HTTP FTP SSH 텔넷 (어떤 사람?)
- & # \ D \ D \ D 유니 코드? 사전에

덕분에

마이크

답변

3

나는 스크립트, 그리고

myDomNode.innerHTML = '<b>' + needsToBeEscaped + '</b>'; 
document.write('<b>' + needsToBeEscaped + '</b>'); 

에서 당신이 document.write를 위해 전달되는 특별한주의를 지불해야한다고 생각하고, myDomNode.innerHTML 주사 당신은 일반적인 용의자에 대해 걱정할 필요가 :

eval(...) 
new Function(...) 

응용 프로그램이 로컬 저장소를 사용하는 경우 SQL 주입도 찾아야합니다.

링크의 URL을 구성하거나 XMLHttpRequest의 대상으로 지정할 때 URL의 동적 부분은 encodeURIComponent로 이스케이프 처리해야하며 XMLHttpRequest의 POST 본문도 분석해야합니다.

잠재적으로 악의적 인 패턴에 대한 유용한 리소스는 http://code.google.com/p/google-caja/wiki/AttackVectors

입니다.