
Data Illusion Survey Software Solutions NGSurvey v2.4.28 및 이하 버전의 취약점으로 인해 공격자가 조작된 설문조사를 통해 서비스 거부(DoS)를 유발할 수 있습니다.
ngSurvey 2.4.28 이하 버전은 설문에 "텍스트 필드(Text Field)", "댓글 필드(Comment Field)" 또는 "연락처 세부정보(Contact Details)"가 포함된 경우 서비스 거부(Denial of Service)에 취약합니다. 이 문제는 해당 필드에 문자 수 제한이 없기 때문에 발생합니다. 공격자는 필드에 무한한 수의 문자를 제출할 수 있습니다. 테스트 중 도커 애플리케이션이 요청을 제출하는 동안 충돌했습니다. 다른 경우에는 설문 응답이 여전히 제출되었습니다. ngSurvey 관리자가 응답자의 데이터를 보거나 내보내기를 수행하려고 하면 웹 브라우저가 과도한 양의 RAM을 사용하거나 서버가 내부 오류(500)를 반환합니다. 이로 인해 최소한 웹 인터페이스에서는 설문 데이터에 접근할 수 없게 됩니다. ngSurvey 관리자가 답변에 문자 수 제한을 설정하더라도 검사가 클라이언트 측 브라우저에서만 수행되므로 익스플로잇은 여전히 가능합니다.
참고: "슬라이더(slider)" 질문도 문자열 대신 큰 정수를 사용하여 취약할 수 있습니다. 제 로컬 환경에서는 확인할 수 없었습니다.
dospayload를 입력합니다(다른 문자열도 작동하지만 데모에서는 이 문자열을 사용하겠습니다).import requests 아래에 다음 코드를 추가합니다: dospayload= "A" * 123456789burp0_json에서 텍스트/댓글 답변을 찾습니다. 다음과 같이 표시됩니다: "value" : "dospayload""value" : dospayload최종 코드는 다음과 같아야 합니다:

텍스트 또는 댓글 필드를 다른 유형의 답변(단일 선택, 드롭다운 목록 등)과 구분할 방법을 찾지 못했습니다. 애플리케이션에서 ID로 식별하는 것으로 보입니다. URL을 입력으로 받아 익스플로잇 단계를 수행하는 작동 가능한 스크립트를 만드는 방법을 찾으시면 기꺼이 참조하겠습니다.