it-swarm-korea.com

ASP.NET 사이트를 통과 할 수있는 크롤러 / 스파이더 소프트웨어를 알고 있습니까?

ASP.NET MVC가 아닌 ASP.NET 응용 프로그램을 통과 할 수있는 크롤러/스파이더 소프트웨어를 알고 계십니까? 모든 링크/버튼/변경 이벤트에서 __doPostBack JavaScript 함수로 가득 찬 소프트웨어를 알고 계십니까?

그러한 응용 프로그램이없는 경우 ASP.NET 웹 사이트 검사를 어떻게 시작합니까? 내 접근 방식은 일반적으로 응용 프로그램 폴더의 모든 * .aspx 파일을 검색하고 매개 변수없이 페이지에 도달 할 수 있는지 또는 실시간 킬러 인 웹 사이트 GUI를 통해 페이지에 도달 할 수 있는지 하나씩 확인하는 것입니다.

4
bretik

자바 스크립트 링크는 자동화 된 스파이더 링의 실제 문제입니다. 개인적으로 저는 Burp suite 를 사용하고 사이트를 탐색하여 수동으로 페이지 목록을 작성한 다음 페이지 단위 스캔을 사용하는 경향이 있습니다.

이론적으로이를 수행하는 방법은 스파이더 링을 수행하기 위해 브라우저 엔진 자체에 의존하는 스파이더를 사용하는 것입니다 (브라우저를 "구동"하는 일부 도구가 유용 할 수 있음).

또 다른 옵션은 프로그래밍 언어에서 사용할 수있는 JavaScript 구문 분석 엔진을 얻는 것입니다. 내가 본면에서 유용 할 수있는 한 가지는 이 프로젝트 from rubyracer 인데, Ruby 내에서 JavaScript 구문 분석 엔진에 액세스 할 수 있습니다. 나는 그것을 시도하지 않았지만 양식 제출에서 JavaScript를 평가하고 거미가 따라갈 적절한 URL을 추출하는 데 이와 같은 것을 사용할 수 있다고 생각했습니다.

4
Rory McCune

소프트웨어 품질 엔지니어/테스터는 버그를 테스트하기 위해 크롤러와 스파이더에 의존하지 않습니다. 애플리케이션 보안 엔지니어/테스터도 다음과 같이해야한다고 생각하지 않습니다.

대신 SQE는 Selenium RC/Bromine, Watir/WatiN/Watij, Sahi, HtmlUnit 또는 WebDriver와 같은 개발 테스트 프레임 워크 (또는 테스트 장치)에 크게 의존합니다. 일부는 HP QTP, IBM Rational Functional Tester, TestComplete 및 VisualStudio Tester Edition 2010과 같은 고급 상용 QA 도구를 사용합니다.

SQE는 일반적으로 다음과 같은 이유로 앱 실행 흐름을 자동화하지 않습니다.

  • 테스트는 특히 시간 일정에 따라 (많은 테스터가 그렇듯이) 결론 범위를 지정하고 결과를 결정하기 위해 여행자가 가본 적이없는 새로운 도시에서 수행하는 것과 같은 탐색 적 발견이 필요합니다.
  • 동등성 분류와 같은 개념은 동일한 실수를 반복 할 필요가 없으므로 테스터의 작업 시간을 절약 할 수 있습니다. 보안 테스트는 모든 것을 테스트해야한다는 점에서 약간 다릅니다.하지만 확실히 오늘은이 작업을 수행하지 않으며 특히 시간 제한이있는 경우이 기술을 활용할 수 있습니다.

테스트 자동화의 문제는 앱이 빠르게 변경되고 이러한 변경 사항을 따라 잡기 위해 일반적으로 테스트 장치를 지속적으로 수정해야한다는 것입니다. ICONIX와 같은 애자일 방법론에서 견고성 테스트는 도메인 모델 및 시퀀스 다이어그램 (일반적으로 UML)에서 생성 된 코드이지만 코드 변동 및 새 빌드 중에 테스트 케이스 재 구축을 자동화 할 수있는 많은 방법이 있습니다. 아마도 메타 프로그래밍이 필요하지 않을 것입니다.

0
atdre