Security || AI

[picoCTF2018 Writeup] caesar cipher2 -Points: 250 본문

CTF(해킹대회)/picoCTF 2018

[picoCTF2018 Writeup] caesar cipher2 -Points: 250

보안&인공지능 2018. 10. 17. 12:43


문제의 message를 HxD로 열면 아래의 사진과 같은 문자열이 나온다.



이 문자열을 보고 추측을 해보면 원래의 FLAG형식은 pico로 시작하는데 이 문자열은 PICO인 대문자로 시작한다는 것을 알 수 있다. 실제로 아스키코드표를 보면 대문자가 소문자보다 아스키코드 값이 작은 것을 볼 수 있다. 또한, 중괄호가아닌 대괄호인 것을 볼 수 있다. 그래서 추측을 해보면 P와 p의 아스키코드값의 차이는 32이므로 문자열 전체에 32씩 더한 아스키코드 값을 출력하면 풀릴 것이다. 

#include <stdio.h> #include <string.h> #include <windows.h> int main() { char s[10000];     gets(s); for(int i=0; i<strlen(s); i++) { printf("%d",s[i]); s[i]+=32; }     printf("FLAG: %s\n",s); system("pause"); }>

이런 소스를 짜면 아스키코드가 32씩 추가된 문자열을 볼 수 있다.





반응형