ksnctf#8 Basic is secure?
Basic is secure?
문제
Basic is secure?: Basic 인증은 안전합니까?
기본 인증에 대한 문제.
http 통신에 있어서의 인증 방식의 하나로, 이하의 순서로 통신이 행해진다.
1. 클라이언트는 인증이 필요한 페이지를 요청한다. 그러나 일반적으로 여기에서는 사용자 이름과 암호를 보내지 않습니다. 왜냐하면 클라이언트는 그 페이지가 인증을 필요로 하는지 여부를 모르기 때문이다.
2. 서버는 401 응답 코드를 반환하고 인증 영역 (authentication realm) 및 인증 방법 (Basic 인증)에 대한 정보를 클라이언트에게 알립니다.
3. 이를 받은 클라이언트는 인증 영역(일반적으로 액세스하는 컴퓨터나 시스템의 간략한 설명)을 사용자에게 제시하고 사용자 이름과 암호를 입력하도록 요청한다. 사용자는 여기에서 취소할 수도 있다.
4. 사용자가 사용자 이름과 암호를 입력하면 클라이언트는 요청에 인증 헤더를 추가하고 다시 전송합니다.
5. 인증이 성공하면 서버는 인증이 필요한 페이지의 요청을 처리합니다. 한편, 사용자명이나 패스워드가 잘못되었을 때에는, 서버는 다시 401 응답 코드를 돌려준다. 이렇게하면 클라이언트는 다시 사용자에게 사용자 이름과 암호를 묻습니다.
"사용자 이름 : 암호"라는 형식의 문자열을 base64로 인코딩 한 것을 인증 키로 사용합니다. 이 때문에, 도청이나 개편이나 간단하게 할 수 있다.
문제에는 q8.pcap이라는 파일이 있습니다. 다운로드하여 WireShark에서 열어보세요.
http 통신으로 필터링.
우선 No.7에서 서버에 페이지를 요청하고 있다. 그런 다음 No.9에서 서버는 클라이언트에게 401 응답을 반환하고 Basic 인증을위한 정보를 요청합니다. 그건 그렇고, 아래 이미지에서 기본 인증임을 알 수 있습니다.
다음의 No.13에서는, 클라이언트가 서버에, 「유저명: 패스워드」라고 하는 형식의 캐릭터 라인을 base64로 encode 한 것을 송신하고 있다. (아래 그림의 Authorization: Basic cTg6RkxBR181dXg3eksyTktTSDhmU0dB 부분.) 이것을 base64로 디코딩하면 FLAG를 얻을 수 있을 것 같다. 여기 로 해 본다.
또, WireShark에서는 아래 그림의 Credentials(인증 정보)보다 FLAG는 자명했다.
요약
Basic 인증에 대해 배웠다.
패킷 챠쳐함으로써 간단하게 인증 정보를 볼 수 있었다.
Basic is NOT secure.
Reference
이 문제에 관하여(ksnctf#8 Basic is secure?), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/NakashimaKenta/items/b7ad8828761413c82870
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Basic 인증에 대해 배웠다.
패킷 챠쳐함으로써 간단하게 인증 정보를 볼 수 있었다.
Basic is NOT secure.
Reference
이 문제에 관하여(ksnctf#8 Basic is secure?), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/NakashimaKenta/items/b7ad8828761413c82870텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)