웹 해킹 & 보안 완벽 가이드 05장 정리

2023. 10. 16. 18:04웹 해킹 & 보안 완벽 가이드 정리

05 클라이언트 측 통제 우회

숨겨진 폼 필드

웹 사이트 안에 input 태그 속성이 hidden이고 임의의 값을 전송해주는 필드가 있다면 간단하게 값을 사용자가 수정 후 값을 전송할 수 있다.

hidden 안전하지 않다. 변조 쉽다.

HTTP 쿠키

프록시를 이용해서 쿠키값을 조작해서 얼마든지 조작된 쿠키를 전송할 수 있다.

URL 매개변수

매개변수를 담고 있는 URL이 주소창에 노출이 된다면 얼마든지 매개변수의 값을 조작 할 수 있다.

Refer 헤더

브라우저들은 대부분의 HTTP 요청에 Refer 헤더를 포함하고 있다.

이는 해당 URL에 대한 요청이 어떤 URL에서 온 것인지를 나타내기 위해 쓰인다.

Refer 헤더를 조작해서 서버로 전송할 수 있다.

번형된 데이터

떄로는 클라이언트를 통해 전송되는 데이터가 암호화 또는 의도적으로 번형해서 알아볼수없게 된 경우가 있다.

번형된 값의 평문을 알게 되면 사용된 변형 알고리즘을 파악해서 복호화를 시도할수있다.

길이제한

<input type=”text” maxlength=”5”>

다음과 같이 길이 제한이 있으면 maxlength 속성을 제거함으로써 임의의 길이의 값을 전송할 수 있다.

스크립트 기반 검증

만약 입력값에 대한 검증이 JS 기반 검증이라면 클라이언트 측에서 임의 수정을 통해 우회할 수 있다.

클라이언트가 생성한 데이터를 안전하게 검증하는 방법은 서버 측 애플리케이션에서 검증 루틴을 구현하는 것이다.