SECCON Beginners CTF 2019 Writesup
스코어 서버
htps : / / s 이것. 베긴 rs. 괜찮아. jp/짱게 s
[warmup] 환영
문제 문장에 설명 된대로 https://webchat.freenode.net/?channels=seccon-beginners-ctf에 액세스하면 플래그가 있습니다.
FLAG:ctf4b{welcome_to_seccon_beginners_ctf}
containers
파일을 다운로드하고 file 명령으로 판정하면 data로 표시된다.
바이너리 에디터 등으로 확인하면 PNG 파일이 연결된 파일이라고 알 수 있다.
(빨강 프레임 부분이 PNG 파일의 매직 넘버이다)
따라서 파일이 내장되어 있다고 판단하고 파일 추출 명령 foremost로 추출하면 다음 PNG 파일을 얻을 수 있으므로 플래그가 있습니다.
FLAG:ctf4b{e52df60c058746a66e4ac4f3fdb6fc81}
[warmup] Seccompare
파일이 다운로드되므로 file 명령으로 확인하면 ELF로 표시됩니다.
간단히 실행하면 사용법이 표시됩니다.
# ./seccompare
usage: ./seccompare flag
잘못된 플래그를 인수에 전달하면 다음과 같은 표시가 발생합니다.
./seccompare 888
wrong
해당 파일을 IDA로 해석하면 s1이 인수로 건네준 문자열, S2가 프로그램내에서 정의하고 있는 플래그의 문자열을 비교한 결과, 맞는 경우에는 Correct, 잘못된 경우에는 wrong 을 표시합니다.
S2의 문자열 부분을 ASCII 코드에 적용하면 플래그를 얻을 수 있습니다.
FLAG:ctf4b{5tr1ngs_1s_n0t_en0ugh}
다음은 도중까지 실시한 것과 최종적으로 응답을 얻을 수 없었다
[warmup]라멘
라면집의 웹사이트가 표시된다. 중간의 Seach에서 점원이 검색할 수 있는 것 같다.
일부 문자도 검색할 수 있기 때문에 LIKE구를 이용한 SQL을 발행하고 있는 것 같다.
;을 입력하면 오류가 출력되므로 SQLInjection을 수행하려고합니다.
SQLInjection을 조사하는 툴 sqlmap에서 확인하면 테이블 내에 flag라는 테이블이 있는 것을 확인할 수 있었다. 다만, column을 취득할 수 없었기 때문에, 대답을 실시할 수 없어.
아마 UNION SELECT에서 결합하여 출력하는 응답이라고 생각된다.
[warmup] So Tired
대답하면 긴 문장이 출력된다. 가장 마지막이 ==이므로 base64로 인코딩되어 있는 것으로 판단하고 디코딩한 것을 저장하면 zlib compressed data로 표시된다.
해동 처리를 실시했지만, 잘 해동되지 않았기 때문에, 회답할 수 없어.
덤프
파일을 다운로드하고 file 명령으로 확인하면 tcpdump 파일로 표시됩니다.
해석하면, 이하의 URL이 발행되고 있는 것을 알 수 있다.
/webshell.php?cmd=ls%20%2Dl%20%2Fhome%2Fctf4b%2Fflag
/webshell.php?cmd=hexdump%20%2De%20%2716%2F1%20%22%2502%2E3o%20%22%20%22%5Cn%22%27%20%2Fhome%2Fctf4b%2Fflag
디코드 후, 이하의 문자열이 된다.
/webshell.php?cmd=ls -l/home/ctf4b/flag
/webshell.php?cmd=hexdump -e '16/1 "%02.3o ""\n"'/home/ctf4b/flag
웹 서버에 ls 커맨드를 발행한 후, 그 후, hexdump로 16바이트씩 0 채워 3문자 표시 개행을 실시하게 되어 있다.
그 때문에, hexdump의 출력을 바이너리에 되돌린 후, 플래그를 얻을 수 있다고 생각되지만, 그 부분의 실장을 갔다.
감상
오랜만에 갔지만, 역시 끝까지 해내는 힘이 필요하다고 생각된다.
특히 hexdump의 역 부분은 python 등으로 구현할 수 있다고 생각되므로 나중에 시도해보고 싶다.
Reference
이 문제에 관하여(SECCON Beginners CTF 2019 Writesup), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/karma0106/items/c11fae279b4d36f9e7b8
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
파일을 다운로드하고 file 명령으로 판정하면 data로 표시된다.
바이너리 에디터 등으로 확인하면 PNG 파일이 연결된 파일이라고 알 수 있다.
(빨강 프레임 부분이 PNG 파일의 매직 넘버이다)
따라서 파일이 내장되어 있다고 판단하고 파일 추출 명령 foremost로 추출하면 다음 PNG 파일을 얻을 수 있으므로 플래그가 있습니다.
FLAG:ctf4b{e52df60c058746a66e4ac4f3fdb6fc81}
[warmup] Seccompare
파일이 다운로드되므로 file 명령으로 확인하면 ELF로 표시됩니다.
간단히 실행하면 사용법이 표시됩니다.
# ./seccompare
usage: ./seccompare flag
잘못된 플래그를 인수에 전달하면 다음과 같은 표시가 발생합니다.
./seccompare 888
wrong
해당 파일을 IDA로 해석하면 s1이 인수로 건네준 문자열, S2가 프로그램내에서 정의하고 있는 플래그의 문자열을 비교한 결과, 맞는 경우에는 Correct, 잘못된 경우에는 wrong 을 표시합니다.
S2의 문자열 부분을 ASCII 코드에 적용하면 플래그를 얻을 수 있습니다.
FLAG:ctf4b{5tr1ngs_1s_n0t_en0ugh}
다음은 도중까지 실시한 것과 최종적으로 응답을 얻을 수 없었다
[warmup]라멘
라면집의 웹사이트가 표시된다. 중간의 Seach에서 점원이 검색할 수 있는 것 같다.
일부 문자도 검색할 수 있기 때문에 LIKE구를 이용한 SQL을 발행하고 있는 것 같다.
;을 입력하면 오류가 출력되므로 SQLInjection을 수행하려고합니다.
SQLInjection을 조사하는 툴 sqlmap에서 확인하면 테이블 내에 flag라는 테이블이 있는 것을 확인할 수 있었다. 다만, column을 취득할 수 없었기 때문에, 대답을 실시할 수 없어.
아마 UNION SELECT에서 결합하여 출력하는 응답이라고 생각된다.
[warmup] So Tired
대답하면 긴 문장이 출력된다. 가장 마지막이 ==이므로 base64로 인코딩되어 있는 것으로 판단하고 디코딩한 것을 저장하면 zlib compressed data로 표시된다.
해동 처리를 실시했지만, 잘 해동되지 않았기 때문에, 회답할 수 없어.
덤프
파일을 다운로드하고 file 명령으로 확인하면 tcpdump 파일로 표시됩니다.
해석하면, 이하의 URL이 발행되고 있는 것을 알 수 있다.
/webshell.php?cmd=ls%20%2Dl%20%2Fhome%2Fctf4b%2Fflag
/webshell.php?cmd=hexdump%20%2De%20%2716%2F1%20%22%2502%2E3o%20%22%20%22%5Cn%22%27%20%2Fhome%2Fctf4b%2Fflag
디코드 후, 이하의 문자열이 된다.
/webshell.php?cmd=ls -l/home/ctf4b/flag
/webshell.php?cmd=hexdump -e '16/1 "%02.3o ""\n"'/home/ctf4b/flag
웹 서버에 ls 커맨드를 발행한 후, 그 후, hexdump로 16바이트씩 0 채워 3문자 표시 개행을 실시하게 되어 있다.
그 때문에, hexdump의 출력을 바이너리에 되돌린 후, 플래그를 얻을 수 있다고 생각되지만, 그 부분의 실장을 갔다.
감상
오랜만에 갔지만, 역시 끝까지 해내는 힘이 필요하다고 생각된다.
특히 hexdump의 역 부분은 python 등으로 구현할 수 있다고 생각되므로 나중에 시도해보고 싶다.
Reference
이 문제에 관하여(SECCON Beginners CTF 2019 Writesup), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/karma0106/items/c11fae279b4d36f9e7b8
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
라면집의 웹사이트가 표시된다. 중간의 Seach에서 점원이 검색할 수 있는 것 같다.
일부 문자도 검색할 수 있기 때문에 LIKE구를 이용한 SQL을 발행하고 있는 것 같다.
;을 입력하면 오류가 출력되므로 SQLInjection을 수행하려고합니다.
SQLInjection을 조사하는 툴 sqlmap에서 확인하면 테이블 내에 flag라는 테이블이 있는 것을 확인할 수 있었다. 다만, column을 취득할 수 없었기 때문에, 대답을 실시할 수 없어.
아마 UNION SELECT에서 결합하여 출력하는 응답이라고 생각된다.
[warmup] So Tired
대답하면 긴 문장이 출력된다. 가장 마지막이 ==이므로 base64로 인코딩되어 있는 것으로 판단하고 디코딩한 것을 저장하면 zlib compressed data로 표시된다.
해동 처리를 실시했지만, 잘 해동되지 않았기 때문에, 회답할 수 없어.
덤프
파일을 다운로드하고 file 명령으로 확인하면 tcpdump 파일로 표시됩니다.
해석하면, 이하의 URL이 발행되고 있는 것을 알 수 있다.
/webshell.php?cmd=ls%20%2Dl%20%2Fhome%2Fctf4b%2Fflag
/webshell.php?cmd=hexdump%20%2De%20%2716%2F1%20%22%2502%2E3o%20%22%20%22%5Cn%22%27%20%2Fhome%2Fctf4b%2Fflag
디코드 후, 이하의 문자열이 된다.
/webshell.php?cmd=ls -l/home/ctf4b/flag
/webshell.php?cmd=hexdump -e '16/1 "%02.3o ""\n"'/home/ctf4b/flag
웹 서버에 ls 커맨드를 발행한 후, 그 후, hexdump로 16바이트씩 0 채워 3문자 표시 개행을 실시하게 되어 있다.
그 때문에, hexdump의 출력을 바이너리에 되돌린 후, 플래그를 얻을 수 있다고 생각되지만, 그 부분의 실장을 갔다.
감상
오랜만에 갔지만, 역시 끝까지 해내는 힘이 필요하다고 생각된다.
특히 hexdump의 역 부분은 python 등으로 구현할 수 있다고 생각되므로 나중에 시도해보고 싶다.
Reference
이 문제에 관하여(SECCON Beginners CTF 2019 Writesup), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/karma0106/items/c11fae279b4d36f9e7b8
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
파일을 다운로드하고 file 명령으로 확인하면 tcpdump 파일로 표시됩니다.
해석하면, 이하의 URL이 발행되고 있는 것을 알 수 있다.
/webshell.php?cmd=ls%20%2Dl%20%2Fhome%2Fctf4b%2Fflag
/webshell.php?cmd=hexdump%20%2De%20%2716%2F1%20%22%2502%2E3o%20%22%20%22%5Cn%22%27%20%2Fhome%2Fctf4b%2Fflag
디코드 후, 이하의 문자열이 된다.
/webshell.php?cmd=ls -l/home/ctf4b/flag
/webshell.php?cmd=hexdump -e '16/1 "%02.3o ""\n"'/home/ctf4b/flag
웹 서버에 ls 커맨드를 발행한 후, 그 후, hexdump로 16바이트씩 0 채워 3문자 표시 개행을 실시하게 되어 있다.
그 때문에, hexdump의 출력을 바이너리에 되돌린 후, 플래그를 얻을 수 있다고 생각되지만, 그 부분의 실장을 갔다.
감상
오랜만에 갔지만, 역시 끝까지 해내는 힘이 필요하다고 생각된다.
특히 hexdump의 역 부분은 python 등으로 구현할 수 있다고 생각되므로 나중에 시도해보고 싶다.
Reference
이 문제에 관하여(SECCON Beginners CTF 2019 Writesup), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/karma0106/items/c11fae279b4d36f9e7b8
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(SECCON Beginners CTF 2019 Writesup), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/karma0106/items/c11fae279b4d36f9e7b8텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)