소스보기를 해보니 Hint가 있었고 'admin'으로 로그인을 하라는것 같다.

비밀번호는 0~9999 사이 인것 같으니 brute force 하면 쉽게 해결할 것으로 보인다.



python3 중 requests라는 모듈을 이용해 password를 brute force 해보니 쉽게 답을 찾을 수 있었다.

소스 보기에서 id,pw는 post방식으로 넘어가는 것을 확인하고 requests.post()를 사용한다.

(블러 처리한 부분은 본인의 cookie값)





'WarGame > SuNiNaTaS' 카테고리의 다른 글

SuNiNaTaS_18 [FORENSIC]  (0) 2018.08.23
SuNiNaTaS_14 [FORENSIC]  (0) 2018.08.23
SuNiNaTaS_6 [WEB]  (0) 2018.08.22
SuNiNaTas_2 [WEB]  (0) 2018.08.20
SuNiNaTas_1 [WEB]  (0) 2018.08.17

처음 시작하면 아래와 같은 화면이 나옵니다.


ID, PW에 1, 1 값을 입력해봤는데 다음과 같은 alert창이 발생합니다.



개발자 도구로 소스를 확인해보니 join을 클릭 시 ID,PW가 동일하면 alert창을 띄우고 다르면 submit을 한다는 것을 확인합니다.


또 아래 주석으로 HINT가 있는대 id = pw인것을 보니 id랑 pw값이 동일하면 문제가 풀리는 것으로 보여집니다.





id, pw를 동일하게 보내면 script로 alert창이 발생하기 때문에 burp suite라는 프록시 툴로 임의로 값을 바꿔줍니다.




javascript는 서버단에서 처리하는게 아니라 사용자 웹브라우져에서 처리하는 값이므로 이미 값이 보내졌고 중간에 변경된 값은 확인할 수 없습니다. 


웹브라우져에서도 검사를하고 서버단에서도 검사를 이중으로해야 좀 더 안전해집니다.


'WarGame > SuNiNaTaS' 카테고리의 다른 글

SuNiNaTaS_18 [FORENSIC]  (0) 2018.08.23
SuNiNaTaS_14 [FORENSIC]  (0) 2018.08.23
SuNiNaTaS_6 [WEB]  (0) 2018.08.22
SuNiNaTaS_8 [WEB]  (0) 2018.08.21
SuNiNaTas_1 [WEB]  (0) 2018.08.17

asp 코드로 짜여있는 문제입니다.


특정 텍스트를 입력 시 아래의 스크립트가 실행되어 result 값에 "admin"이 나오면 되는 문제입니다.



   Replace(변수, 변경문자, 변경하려는 값) 

   Mid(문자열, 문자열시작, 문자열길이)

   &연산자: 문자열을 합침




Replace 함수를 통해 문자열에서 "a"는 "aad"로 "i"는 "in"으로 변경해줍니다.


admin이라는 문자열을 입력했으면 aaddminn 값으로 변경되고

Mid함수를 통해 result1 = "ad", result2 = "dminn"라는 값이 입력되어 result = "addminn"라는 값으로 풀리지 않습니다.

(Mid로 6자리를 가져오려고 해도 문자열 끝에 도달하기 때문에 5개만 가져오게 됩니다.)


ami라는 문자열을 입력하면 aadmin 값으로 변하고

result1 = "ad", result2 = "min", result = "admin"이 되어 성공하게됩니다.




'WarGame > SuNiNaTaS' 카테고리의 다른 글

SuNiNaTaS_18 [FORENSIC]  (0) 2018.08.23
SuNiNaTaS_14 [FORENSIC]  (0) 2018.08.23
SuNiNaTaS_6 [WEB]  (0) 2018.08.22
SuNiNaTaS_8 [WEB]  (0) 2018.08.21
SuNiNaTas_2 [WEB]  (0) 2018.08.20

+ Recent posts