
OWASP Raider: 지속적 세션의 HTTP 프로세스를 조작하기 위한 새로운 프레임워크

OWASP Raider는 웹 인증 테스트를 개선할 목적으로 개발되었습니다. 지금은 다양한 상태 저장(stateful) HTTP 프로세스에 사용할 수 있도록 발전했습니다. Raider는 클라이언트-서버 정보 교환을 유한 상태 머신으로 추상화합니다. 각 단계는 입력이 포함된 요청(request) 하나, 출력이 포함된 응답(response) 하나, 응답에 대해 수행할 임의의 작업들, 그리고 다른 단계로의 조건부 링크로 구성됩니다. 이로써 그래프와 같은 구조가 만들어집니다. Raider를 사용하면 시스템에 들어오고 나가는 모든 데이터를 제어하면서 복잡한 시스템을 시뮬레이션할 수 있습니다.
Raider는 HTTP 프로세스에서 클라이언트와 서버 간의 정보 흐름을 설명하는 DSL을 정의합니다. 프로세스의 각 단계는 Flow로 설명되며, Flow에는 입력이 포함된 Request, 출력이 포함된 Response, 그리고 다른 Flow로의 링크를 포함한 임의의 작업들이 담깁니다:

여러 Flow를 연결하면 모든 상태 저장 HTTP 프로세스를 시뮬레이션할 수 있습니다. FlowGraphs는 시작 지점을 나타냅니다. FlowGraphs는 어떤 Flow에도 배치할 수 있습니다. FlowGraphs는 Success/Failure가 반환되거나 더 이상 링크가 없을 때까지 링크의 모든 Flow를 실행합니다.

Raider의 설정은 Emacs에서 영감을 받았습니다. Python 위에서 동작하는 LISP인 Hylang이 사용됩니다. LISP는 "코드는 데이터, 데이터는 코드"라는 속성 때문에 사용됩니다. LISP 매크로의 마법 덕분에 설정을 자동으로 생성하는 것이 쉬워집니다. 유연성은 DNA에 새겨져 있어 실제 코드로 무한히 확장할 수 있습니다. 예를 들어 HTTP 공격에 대한 개념 증명(proof-of-concept)을 쉽게 만들고, 저장하고, 재현하고, 공유하는 데 사용할 수 있습니다. 또한 Raider로 Projects를 검색하고 hyfile, Flows, FlowGraphs 등으로 필터링할 수 있습니다. 그런 다음 한 단계만 실행하거나 일련의 단계를 실행하여 모든 HTTP 프로세스에서 테스트를 자동화하고 실행할 수 있습니다.

예를 들어 HTTP 공격에 대한 개념 증명을 쉽게 만들고, 저장하고, 재현하고, 공유하는 데 사용할 수 있습니다. 또한 Raider로 Projects를 검색하고 hyfile, Flows, FlowGraphs 등으로 필터링할 수 있습니다. 그런 다음 한 단계만 실행하거나 일련의 단계를 실행하여 모든 HTTP 프로세스에서 테스트를 자동화하고 실행할 수 있습니다.
또한 Projects를 검색하고 hyfile, Flows, FlowGraphs 등으로 필터링할 수 있습니다. 그런 다음 한 단계만 실행하거나 일련의 단계를 실행하여 HTTP 프로세스 테스트를 자동화하고 실행할 수 있습니다.