웹 어플리케이션에 조작된 데이터를 강제로 입력시켜 공격하는 것
Parameter Tampering
웹 어플리케이션에서 사용하는 Parameter를 강제로 입력하여, 어플리케이션의 의도래도 동작하지 않게 하는 공격
URL Tampering
URL로 중요한 데이터를 보내는 경우, 이를 조작하여 공격자의 의도대로 동작을 바꾸는 공격 방식
Hidden Field Manipulating
공격자가 Hidden Tag를 이용하여 값을 웹 어플리케이션으로 전달하는 방법을 이용하는 공격
HTTP Header Manipulation
웹 어플리케이션이 HTTP 헤더의 정보를 이용할 때, 이를 조작하여 웹 어플리케이션이 오작동하도록 유인하는 공격 방식
Cookie Poisoning
공격자가 Cookie를 조작하여 결과를 원하는 대로 변경하는 공격
Executable File Upload
웹 어플리케이션 서버에서 실행될 수 있는 파일을 업로드하여 실행시키는 공격 방법
Parameter Tampering, URL Tampering, Hidden Field Manipulating
이 세가지는 WAS에서 double check를 하지 않으면 쉽게 발생하는데 42swim 서비스는 WAS에서 double check를 하고 있음
프로젝트 초기에 클라이언트와 WAS 둘다 validation을 check하는 것에 대하여 속도 측면에서는 한번만 정확하게 check하는 것이 좋다고 생각하였으나 이는 보안 측면에서는 취약점이 될 수 있었음
HTTP Header Manipulation
Cookie Poisoning
JWT 토큰을 cookie에 저장하는 방식으로 user authentication을 하고 있는데
access 토큰은 탈취하면 사용이 가능하지만 유효기간을 짧게 설정해놓아서 오랜기간 사용은 불가능함
refresh 토큰은 탈취하면 오랜 기간동안 사용 가능
Executable File Upload