마침내 cpawCTF 시작

10552 단어 CTF리눅스

레벨 1 Q9 웹



문제문

HTML(Hyper Text Markup Language)은 웹사이트를 작성하기 위한 언어입니다.
페이지에 표시되는 부분 외에도 페이지를 더 잘 보이는 데이터가 포함되어 있습니다.
다음 웹 사이트에서 플래그를 찾으십시오.
[문제 URL] htp // q9. ctf. c파 w. 하고

그래서, 숨어있는 곳,


그렇게 간단하지는 않습니다 ...
HTML의 소스 코드에 숨겨져 있습니까? 그리고 추측, 즉시 F12 개발자 도구로 확인.


빙고입니다!

Level1 Q7.Reversing



문제문

확장자가 없는 파일을 받고 이 파일을 실행하라고 했지만, 어떻게 하면 실행할 수 있을까.
이 경우, 유닉스나 리눅스의 어떤 명령을 사용해 파일의 종류를 조사해, 적절한 OS로 실행하는 것이 일반적인 것 같지만…
문제 파일: exec_me

주어진 파일의 종류를 살펴보면, ""파일""이라고만 쓰여져 있다. 알다시피!
그래서 리눅스 flie 명령을 실행
file exec_me
exec_me: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 2.6.24, BuildID[sha1]=663a3e0e5a079fddd0de92474688cd6812d3b550, not stripped
그렇다고 해서, 전혀 모릅니다. 하지만 ELF란 xecutable and Linking Format이라는 바이너리 형식의 파일인 것 같습니다. 이 문자의 배열만으로는 전혀 의미를 모르고, 보기 어렵기 때문에, 이하의 커멘드를 실행합니다
readelf -h exec_me
ELF ヘッダ:
マジック: 7f 45 4c 46 02 01 01 00 00 00 00 00 00 00 00 00
クラス: ELF64
データ: 2 の補数、リトルエンディアン
Version: 1 (current)
OS/ABI: UNIX - System V
ABI バージョン: 0
型: EXEC (実行可能ファイル)
マシン: Advanced Micro Devices X86-64
バージョン: 0x1
エントリポイントアドレス: 0x400440
プログラムヘッダ始点: 64 (バイト)
セクションヘッダ始点: 4504 (バイト)
フラグ: 0x0
Size of this header: 64 (bytes)
Size of program headers: 56 (bytes)
Number of program headers: 9
Size of section headers:64 (bytes)
Number of section headers: 30
Section header string table index: 27
ELF 헤더를 이와 같이 표시할 수 있습니다. (지금 알았다)
하지만 그다지 중요하지 않았습니다.
다음
./ exec_me
그러나 권한이 없으면 화난다.
chmod 777 exec_me
해방! !
./ exec_me
실행하면 플래그가 나옵니다. 푹신~~ 의외로 시간이 걸렸다. . .
chmod 명령은 숫자를 3개 지정할 수 있는 것 같고, 일단 777로 묶으면 최강이라는 것을 배웠습니다.

Level1 Q14 PPC



문제문

아래에 있는 배열의 내용을 큰 순서로 정렬하고, 붙여 cpaw{정렬한 후의 값}을 플래그로서 제출해 주세요.
예 : 만약 배열 {1,5,3,2}이라는 배열이 있으면 큰 순서로 정렬하면 {5,3,2,1}이 됩니다.
그리고 플래그는 cpaw{5321}입니다.
똑같이 해 봅시다 (그러나 양이 많기 때문에, 정렬하는 프로그램을 쓰는 편이 좋습니다!)
[15,1,93,52,66,31,87,0,42,77,46,24,99,10,19,36,27,4,58,76,2,81,50,102,33,94 ,20,14,80,82,49,41,12,143,121,7,111,100,60,55,108,34,150,103,109,130,25,54,57,159,136,110,3,167,119,72,18,151,105,171,160,144,85,201,193,188,190,146,210,211,63,207]

sort.java
    public static void main(String[] args) {
        int[] array = { 15, 1, 93, 52, 66, 31, 87, 0, 42, 77, 46, 24, 99, 10, 19, 36, 27, 4, 58, 76, 2, 81, 50, 102, 33, 94, 20, 14, 80, 82, 49, 41, 12, 143, 121, 7, 111, 100, 60, 55, 108, 34, 150, 103, 109, 130, 25, 54, 57, 159, 136, 110, 3, 167, 119, 72, 18, 151, 105, 171, 160, 144, 85, 201, 193, 188, 190, 146, 210, 211, 63, 207 };
        int max = 0;
        int j = 0;
        System.out.print("cpaw{");
        while (j < array.length) {
            for (int i = j; i < array.length; i++) {
                //並べ替え
                if (max < array[i]) {
                    max = array[i];
                    array[i] = array[j];
                    array[j] = max;
                }
            }
            System.out.print(array[j]);
            j++;
            max = 0;
        }
        System.out.print("}");
    }
}

가독성 0입니다. 용서해주세요. 퀵 소트에서 했습니다.
콘솔에 출력된 텍스트를 그대로 붙여넣어 포인트 겟입니다!
※숫자마다 쉼표를 치고 있어 처음에는 자신의 코드가 잘못되어 있었는지라고 장고한 것은 여기만의 비밀.
Level1에서 조금 시간 걸린 것은 이 3문만이었습니다. 앞으로도 정진하겠습니다.
리눅스 커맨드 기억하는 편이 좋다 이것···에서는 여기서 무례합니다.

좋은 웹페이지 즐겨찾기