관리 메뉴

FU11M00N

[bee-box]Broken Auth. - Insecure Login Forms 본문

Web Hacking/bee-box

[bee-box]Broken Auth. - Insecure Login Forms

호IT 2021. 1. 14. 19:44

- Broken Auth. - Insecure Login Forms (Low)

메인 페이지

Broken Auth. - Insecure Login Forms의 메인페이지 이다.

현재는 low 레벨로 설정되어있다.

 

페이지에서 개발자도구 (f12) 를 활용하여 해당 페이지를 분석해보자.

로그인과 패스워드

해당 페이지의 from태그 부분이다.

<font color ="white">tonystark</font>

<font color ="white">I am Iron Man</font>

가 white컬러로 설정되어있어 배경색에 가려져 글씨가 안보인다.

color를 white가 아닌 다른 색으로 변경해주면 쉽게 id와password를 알 수 있다.

난이도가 엄청 쉬운문제다.

 

- Broken Auth. - Insecure Login Forms (Medium)

이것또한 id는 brucebanner로 알려준다.

하지만 패스워드가 onclick 속성을보면 unlock_secret()를 호출한다. 

unlock_srcret() 함수이다.

secret 변수가 패스워드인것같다.

 

charAt함수란

이 함수는 문자열 객체에서 문자 하나만 반환하는 함수로, 정수를 인자로 받아 해당하는 순서의

문자를 출력하며, 순서는 (인덱스) 0부터 시작한다.

 

var secret = (d + "" + j + "" + k + "" + q + "" + x + "" + t + "" +o + "" + g + "" + h + "" + d + "" + p); 

 

var d는 charAt(23)이니 bash update killed my shells를 공백을 포함하여 23번째 문자가됨.

즉 'h' 가됨. (위에 있는 var d=bWAPP.charAt(3); 이것은 무시가됨. var d bWAPP.charAt(23);가 나중에 선언되었으니.)

 

그럼 나머지도 동일하게

 

d=23, j= 5, k=14, q=12, x=4, t=2, o=19, g=1, h=2, d=23, p=28

 

hulk smash!

가 정답이 됨.

 

Comments