본문 바로가기
정보보안/Web Hacking

모의해킹 문제풀이 - 1번(답 포함) - 써니나타스(SuNiNaTaS) // CTF, Web Hacking, 암호 유추

by 우동이 2021. 7. 31.
300x250

문제분류


난이도

기초


언어 공부를 많이 안해놔서 이 언어를 보고 웹 언어인거는 직감을 했는데

뭘까,,, 자바스크립트인가 Jinja 인가... 헷갈렸다.

검색해보니까 "JSP" 라고 하는데 공부를 어지간히 안하긴 했나보다

JSP가 뭔지를 모르겠다. ㅋㅋㅋ

 

아무튼 코드만 대충 해석을 좀 해보자면

<%
str = Request("str")
%>

str이라는 변수 요청 일듯하다.

JSP 라는 언어가 Java에서 나온 API 같은 느낌으로

서버 요청용 Java Api(서블릿) 이라는 기능이라고 한다.

즉 서버에 요청하는 HTTP 헤더를 Java로 짠 듯 하니

 

If not str="" Then

이거는 str을 요청해서 확인해봤을때 Null이 아니라면? 이겠지?

 

<%
result = Replcae(str, "a", "aad")
result = Replace(result, "i","in")
result1 = Mid(result,2,2)
result2 = Mid(result,4,6)
result = result1 & result2
Response.write result
If result = "admin" Then
	pw="????????"
   End if
  End if
%>

코드를 살펴본 바로는 아직 모르는 str 값을 넣으면 str이 admin이 되어야 하는 듯 하다.

 

이제 문제를 풀어보면

result는 result1과 result2 의 합이다(& = And, 합 연산자)

즉 result의 2부터 3까지의 두자리수인 ad가 result1 이고

result의 4부터 6까지 세자리수인 min이 result2이기에

result1=ad

result2=min 이다.

 

그럼 위에서 a가 aad로 대체되기에 

a a d m i n

1 2 3 4 5 6

Mid()함수를 거치기 전에 이렇게 6자리의 숫자였음을 알 수 있다.

 

그럼 aad를 a로 치환 

in도 i로치환하면

a m i

1 2 3

세자리 수가 나오는데

ami 를 입력해보자

문제가 해결되면 문제 하단에 Auth key가 나오는데

일종의 Flag이다

 

홈페이지의 Auth에 가서 키를 입력하면 문제 해결 Pt를 받을 수 있다.

 

 

300x250

댓글