[웹] JWT(JSON Web Token)에 대한 다양한 공격 기법 - 1
2022. 7. 14.
웹
JWT란 JSON 웹 토큰(Web Token)의 약자이며 암호화된 토큰값으로 JSON 데이터를 주고 받을 때 사용한다. 모든 JSON 데이터를 다 주고 받고 할 수 있지만, 일반적으로 JWT를 사용하는 웹 서버를 보면 보통 세션을 대신하는 기능으로 사용자의 권한을 검증하는 데 사용된다. JWT는 아래 사이트에서 복호화해볼 수 있는데 헤더 페이로드 서명 세 개의 영역으로 구성된다. https://jwt.io/ JWT.IO JSON Web Tokens are an open, industry standard RFC 7519 method for representing claims securely between two parties. jwt.io 헤더와 페이로드 영역인 eyJhbGciOiJIUzI1NiIsInR5..
[Web] 불충분한 인증 및 인가(파라미터 변조 취약점)에 대해
2022. 7. 13.
웹
최근엔 웹 모의해킹을 하다보면 인젝션이나 XSS 같은 취약점들은 발견하기 힘들다. 그럴 때는 불충분한 인증, 불충분한 인가와 같은 파라미터 변조를 통한 취약점을 찾게되는데 이 파라미터 변조 취약점은 상황에따라 간단하면서도 치명적일 수도 있다. 대부분의 모의해커들은 서버단 에서 조치하라. 세션값을 검증하라. 라고 대응방안을 제시 해주고 있고, 그 로직에 대해 살펴보고 좀 더 이해하는 시간을 가지려한다. 어떤것이 파라미터 변조 취약점인가 예시를 보자면, 아래 게시판에는 4개의 글이 있다 각각 test계정이 2개의 글 test2가 2개의 글을 작성하였다. 4번 글은 test2가 작성 3번 글은 test가 작성하여 test2번 계정으로 이 게시글들에 접근을 하면 본인의 글에는 글 수정 및 글 삭제 버튼이 활성화..
[웹] 파일 업로드 공격 - 확장자 우회
2022. 7. 6.
웹
파일 업로드 공격은 웹 애플리케이션 내 프로필 사진을 올린다든지 게시판에 사진이나 파일을 첨부한다든지 하는 모든 파일 업로드 기능이 공격 포인트가 될 수 있고 한번 공격이 성공하면 웹쉘이 업로드되어 서버의 모든 것들이 노출 및 유출될 수 있다. 웹쉘 예시 웹쉘 파일을 업로드 한다 그 파일로 접근을 하게 되면 간단하게 ls 명령을 실행했을 때 실제로 웹서버 경로의 파일리스트들이 출력된다. 이렇게 쉘 명령어를 그대로 실행시킬 수 있어서 위험한 취약점이다. 다양한 쉘코드는 아래 포스팅 참고 2022.02.16 - [웹] - [웹] 파일 업로드 - jsp 웹쉘 오픈소스 코드와 사용법 [웹] 파일 업로드 - jsp 웹쉘 오픈소스 코드와 사용법 웹쉘도 종류가 여러가지 있다. jsp 페이지 asp 페이지 마다 다른 ..
[웹] XML external entity Injection(XXE) 공격
2022. 7. 6.
웹
xml은 html과 마찬가지로 태그를 이용하여 사용하는 마크업 언어의 하나이다. 주로 브라우저와 서버 사이에 데이터 전송을 위해 api를 통해 사용하는 환경이 많다. 사실 요즘은 대부분의 웹 서버들이 JSON으로 개발되기 때문에 거의 볼 수 없지만 알고있으면 언제라도 발견하게된다면 공격을 시도해볼 수 있다. XML external entity Injection(XXE) 공격은 공격의 이름 그대로 external entity (외부 엔티티)를 이용한 공격으로 데이터 전송이 발생할 때 인젝션을 통하여 공격자가 시스템 파일을 볼 수 있거나 데이터들을 엿볼 수 있다. 특별한 기술이 필요한 것은 아니고 sql 인젝션이나 XSS 처럼 쿼리나 동작방식만 알고있으면 간단하다. 외부 엔티티를 이용하여 시스템 파일 확인 ..