문제정보이다. 1,2번과 비슷한 문제이다.
디폴트페이지, Support 페이지는 동일하다. 하지만 이번엔 login.html 페이지가 좀 다르다. username 파람은 받지 않는 것을 확인 가능하다.
소스를 확인하면 username이 없은것 말고는 password, debug 파람을 받는 것은 동일하다.
입력값 조작말고 일반적인 값을 넣어보았다. 하지만 whoami를 입력하였지만, whoami말고 다른 값이 나온다.
이것은 ROT13로 암호화되서 출력되는 것이다. ROT13은 굉장히 단순한 암호알고리즘이다. Rotate by 13의 약자이며 13자리 뒤로 밀어내는 카이사르 암호의 일종이다 ROT의 종류는 ROT26(평문인데 이게왜..), ROT47이 있다.
우선 알파멧은 A-Z 까지 기본적으로 26개가 있다. 이것을 13개씩 쪼개면 A-M까지와 N-Z가 나오는데 이것을 서로 치환하는 것이다.
$python3 -c 'import string; print(" ".join(list(string.ascii_lowercase)[:13]))'
a b c d e f g h i j k l m
$python3 -c 'import string; print(" ".join(list(string.ascii_lowercase)[13:]))'
n o p q r s t u v w x y z
"""
a b c d e f g h i j k l m
n o p q r s t u v w x y z
"""
여튼 실제로 입력갑셍 a~z 까지 입력하면 상단의 알파벳들 처럼 치환되는 것을 볼 수 있다.
결국 or 를 ROT13 시키면 be가 되는데 or 대신 be를 넣어 인젝션시켜주면 플래그를 얻을 수 있다.
FLAG : picoCTF{3v3n_m0r3_SQL_06a9db19}
'WebHacking > picoCTF2019' 카테고리의 다른 글
JaWT Scratchpad (1) | 2022.08.27 |
---|---|
Irish-Name-Repo 2 (0) | 2022.08.26 |
Irish-Name-Repo 1 (0) | 2022.08.26 |
client-side-again (0) | 2022.08.26 |
picobrowser (0) | 2022.08.26 |