-
[L.O.S] Level 12 - darkknightWargame/L.O.S 2022. 12. 4. 03:46반응형
Level 12 - darkknight를 풀어보자.
이번 문제는 pw 파라미터에서 싱글쿼터(')를 필터링한다.
그리고 no 파라미터에서는 substr과 ascii 함수, '=' 문자를 필터링한다.(제일 위의 필터링은 생략)

<darkknight의 php 코드 내용> pw 파라미터는 싱글쿼터로 닫혀 있으니, no 파라미터에 값을 입력해보자.
(pw가 닫혀 있다는 것은 다른 입력을 넣기가 힘들다고 생각하면 될 것 같다.)
출력을 확인하기 위해 참 값을 넣으니 Hello guest가 출력되는 것을 확인할 수 있다.

<Hello guest 출력> id 파라미터에 admin을 입력해야 하는데 golem 문제처럼 '=' 문자를 필터링한다.
이미 해봤던 것이기 때문에 like로 우회하도록 하자.

<id 파라미터에 admin 입력> 이제 pw의 값을 구할건데, 기존에 했던 방식과 유사하게 구할 수 있다.
우선 pw의 길이를 확인하는 requests 모듈을 이용한 파이썬 코드를 작성해 실행하도록 하자.
이번 문제의 pw 길이도 8이 나왔다.


<pw의 길이 확인> 이제 pw를 구하면 되는데, php 코드를 보면 ascii 함수가 필터링되어 있다.
그래서 이것을 우회하기 위해 ord 함수를 이용해 pw를 구해보자.
ord 함수는 ascii 함수와 마찬가지로 입력받은 문자에 대해 숫자(유니코드)를 반환한다.


<pw 값 출력> 출력된 pw 값을 입력하면 DARKKNIGHT Clear!가 출력되며 문제가 해결된다.

<darkknight 문제 완료> 반응형'Wargame > L.O.S' 카테고리의 다른 글
[L.O.S] Level 14 - giant (0) 2022.12.04 [L.O.S] Level 13 - bugbear (0) 2022.12.04 [L.O.S] Level 11 - golem (0) 2022.12.02 [L.O.S] Level 10 - skeleton (0) 2022.12.01 [L.O.S] Level 9 - vampire (0) 2022.12.01