Notice
Recent Posts
Recent Comments
Link
«   2024/07   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31
Tags more
Archives
Today
Total
관리 메뉴

Hello Security World

[Web Hacking] Bee - Box -Broken Authentication 본문

정보보안/BWAPP Bee-box

[Web Hacking] Bee - Box -Broken Authentication

프로앱등이 2020. 5. 3. 18:13

 

 

불충분한 인증 및 세션 관리 취약점은 2013 OWASP TOP 10 2위에 등극한 취약점이다.

웹 어플리케이션에서는 로그인하는 대상이 아이디와 패스워드를 이용하여 사이트에 등록된

사용자가 맞는지 확인하는 인증 절차를 거친다.

 

인증 절차를 거쳐 사용자로 확인되면 웹 사이트에서 특정한 권한을 받는다. 또한,인증 후 페

이지를 이동할 때는 로그인 상태를 유지하

고, 일정 시간에 따라 접속을 초기화하기 위하여 세션을 생성한다.

 

그러나 인증 과정에서 결함이 발생하면 사용자의 계정 정보가 노출되고 공격자는 노출된 계

정 정보로 로그인할 수 있다. 또한, 세션 관리가 허술한 경우 공격자는 세션 아이디를 탈취

하여 사용자의 권한을 획득하기도 한다. 공격자가 공격에 성공하면 인증 없이도 사용자 권

한으로 웹 사이트의 서비스를 이용할 수 있게 된다.

[A2-(1)]–Broken Authentication

 

 

인증 결함[Broken Authentication] 이란 인증에 필요한 사용자의 계정 정보를 노출하는 취약점

으로, 보통 웹 페이지의 HTML 코드에 계정 정보를 노출하거나 인증을 GET 메서드로 요청

하여 URL에 계정 정보가 노출된다. 또한, 웹 사이트에 가입할 때 추측할 수 있거나 무차별

대입 공격 이 가능한 비밀번호 입력을 허용하는 경우도 포함된다. 이외에도 비밀번호 찾기

기능에서 계정 정보를 노출하기도 한다.

 

 

ba_insecure_login_1.php 페이지에서 웹 페이지가 안전하지 않은 로그인 형식 을 사용하는지

점검 할것이다.

 

 

해당 페이지를 브라우저의 개발자도구를 이용하여 소스코드를 확인해보았다. <form> 태그 밑

에 있는 소스코드를 보면 <font color> 로 while 흰색으로 “tonystark” 라는 문자열이 있다 login

<label> 태그 밑에 있는 것을 보니 아이디를 표시하고 있는것으로 추측된다.

 

<label> 태그를 따라가보니 password 문자열 밑에 “I am Iron Man” 이라는 문자열도 확인된다

폰트 컬러가 white 흰색으로 되어있으니 이것을 black 으로 바꿔 화면에 표시해보도록 하겠다.

 

 

<font> 태그에 있는 폰트 컬러를 white 가 아닌 black 으로 바꾸었다.

 

CSS(Client Side Script) 클라이언트 언어는 javascript , html 이 있는데 CSS(Client Side Script) 언어

는 사용자가 임의로 수정, 읽기 등을 할수 있다. 따라서 인증 , 접근제어 , 민감정보 등은 반

드시 SSS(Server Side Script) 언어로 설정해야한다.

 

 

<font color> 색상을 white 가 아닌 black 으로 바꾸자 id 와 password 로 추측되는 문자열이

출력되었다. 이게 무엇을 의미 하는것일까? 이 문자열을 id , password 로 입력해보겠다.

 

 

 

노출된 문자열을 입력하고 로그인을 시도하니 “Succeful” 이라는 문자열을 출력 하고 로그인

에 성공한 것을 알수있다.

현재 상용화된 웹사이트에서는 이러한 취약점을 찾기는 어렵다 다만 BEE-BOX에서 전달하고자 하는것은 이러한 인증 결함의 한 예시를 말하고자 하는것인것 같다.