2024/07 52

XML and JSON

XML(eXtensible Markup Language)태그 베이스의 마크업 언어.(HTML과 상당히 유사)문법 형식 또한 HTML과 같다. !!다만!!: 무조건 닫는 태그가 있다.(HTML은 닫는 태그가 필요 없는 것들도 있음 ex. img태그)기본 형식 // xml임을 명시(헤더) // 루트 태그( 과 같은 기능)...  장∙단점(pros and cons of XML) 장점)알기 쉽다(읽기 쉽다 사람이나 컴퓨터나)오랫동안 써왔고 그만큼 발전해서 도구가 많다.모든 일반적 데이터 표현 가능좀 표준적임단점)간단한 데이터도 복잡하게 써진다...어차피 JS가 해석해야 해서 XML DOM이 막 변형되고.. 어쩌구..최근 추세, JSON(JavaScript Object Notation)최근에는 JSON을 사용하는..

3SCTF2024) 돈돈돈 쓰쓰쓰 돈돈돈 MISC문제

파일을 받아보면 pcapng 파일이다.TCP 따라가기를 해보면,이상하게 반복되는 값들이 나온다.뭐지.. 하고 고민하다가 일단 문자로 바꿔볼까 하고 바꿔보았다.print(chr(0x2e)) print(chr(0x2d)) 실행결과:.-!! 점(dot, .)과 바(bar, -)였다. 보자마자 모스부호가 바로 생각났다.그래서 바꿔보니(파이썬 코드로 바꿨다)morse = list(input().split()) decode_morse = [] for m in morse: one_word = [] for i in range(0, len(m), 2): tmp = int(m[i] + m[i+1], 16) tmp = chr(tmp) one_word.a..

CTF/3SCTF2024 2024.07.28

3SCTF2024) DUM DUM :P 포렌식 문제

파일을 받아보면 dump.bin 파일이 있다.HxD로 열어보면여러 파일들이 섞여 있는 듯 하다.foremost를 사용해 보았다. foremost -t all -i dump.bin 해보니,이런 것 뿐이었고... 플래그가 아니었다.엥 말이 안되는데 하면서 다시한번 HxD를 봤다.IEND라는 문자열로 검색하다가 우연히 7z 파일 시그니처를 보았다.!! 7z도 있네 하면서 저 파일 부분 바이트를 따로 새로 복붙해서 파일을 만들었다.7z 파일 안에는 txt 파일 여러개가 존재했다.저 중에서 diye.txt에 플래그가 존재했다. FLAG: 3S{EA5Y_DUMP_F1L3_G00D_:P}

CTF/3SCTF2024 2024.07.28

3SCTF2024) Find Spade 리버싱 문제

일단 저 스페이드 문자는 실제로 유니코드 값으로 0x2660이다.그리고 아래 식들을 보면, 한 줄당 하나의 알파벳의 값을 구할 수 있음을 알 수 있다.그리고 Flag는 해당 알파벳들을 순서대로 나열하고 아스키 코드값으로 바꾸면 된다는 것을 명시해 놓았다.그래서 차례대로 알파벳을 계산해 보면(아래 파이썬 코드로 계산시켰다)i = 1 cnt = 0 alphabets = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0] while cnt > 1) + 0x1460 == 0x2660: if not alphabets[5]: alphabets[5] = i cnt += 1 if 0x75 * (i  실행결과 :u | 117 | 20q |..

CTF/3SCTF2024 2024.07.28

간단한 Ajax

AJAX(Asynchronous JavaScript and XML)웹 서버와 데이터를 교환하는 기술 중 하나.서버(혹은 DB)에서 "데이터" 가져오기사용자가 입력한 "데이터"를 서버(혹은 DB)에 저장하기비동기적인 페이지 갱신!!웹 페이지를 전체 갱신하는 것이 아닌, "일부만!"갱신동기/비동기?[동기:] 서버에 요청을 하고, 응답이 올때까지 "다른 작업을 하지 않고 기다리는" 것[비동기:] 서버에 요청을 하고, 응답이 오기까지 "다른 작업을 하다가" 처리되면 그 작업을 이어가는 것데이터 전송 형식:1) XML2) JSON둘 중 하나로 전송한다.데이터 처리:JavaScript=> XML(JSON) 형식의 데이터가 들어온다=> 해당 데이터를 해석한다(parse)=> HTML DOM 모델을 이용하여 동적으로 ..

모듈의 개념과 express 모듈

모듈(Module)라이브러리 같은 것.필요한 일부 기능을 js 파일로 작성해 놓은 것이다. 내장 모듈)http 모듈: 웹 서버 객체 생성url 모듈: url 주소 문자열, url 객체 상호 변환Fs 모듈: 파일 처리사용자 정의)module1.js... 모듈 호출: require()require 함수를 사용, 인자로 사용할 모듈을 문자열로 받는다.npm 설치 모듈, 내장 모듈: 이름만으로 가능ex. require('http'), require('url')사용자 정의 모듈: 상대 경로 등의 경로로ex. require('./module1')패키지여러 개의 모듈을 합쳐 놓은 것. Express 모듈http 모듈 기반, 웹 서버 동작을 더욱 편리하게 구현할 수 있도록 하는 모듈.각종 미들웨어와 라우터 제공설치(f..

Node.js 설치, 간단한 실행까지

https://nodejs.org/en/ 에서 LTS 버젼 download설치 완료 후, cmd 창을 키고.node -vnpm -v버젼 확인하여 정상적으로 뜨면 완료된 것.기본적으로 express 모듈, static 미들웨어 사용하여 실행해볼 수 있음.노드 실행할 폴더로 이동(거기가 서버 여는 곳이 되는거) 그 경로(디렉토리)에서 cmd창으로npm init(이후 무한 엔터.. yes 뜨면 yes 입력)-> package.json 생성모듈 설치npm install express --savenpm install serve-static --save테스트 코드: app.js 파일var express = require('express'), http = require('http');var static = requi..

캔버스와 JS(그림 그리기)

도화지 태그가 html에서의 canvas.그 도화지에 그림을 그리는게 js의 각종 메소드들.Canvas도화지 태그.... canvas와 JS를 연결하여 닷(dot;.)메소드로 그린다.JS로 그리기일단 무조건 context 객체로 받아서 사용한다.var canvas = document.getElementById("myCanvas");var context = canvas.getContext("2d"); 그 다음에 사각형을 그리든, 배경을 넣든 하는 것이다. 색 꽉 채운 사각형 그리기context.fillStyle = "#00FF00"; // fill 스타일 지정 후context.fillRect(0, 0, 100, 50); // fill...(여기서는 fillRect) 사용직선 그리기context.beginP..

Pair STL

서로 다른 2개의 연관된 데이터를 하나의 데이터로 묶어서 관리할 수 있게 해주는 STL.data1data2한 pair가 저렇게 생겼다.다양한 방면에서 사용할 수 있다. 대표적으론 다음과 같다.인덱스와 그 인덱스에 해당하는 데이터를 따로 저장해야 할 경우좌표를 저장해야 할 경우키 값과, 비교해야하는 값(우선순위가 있는 값) 쌍일 경우 등사용 방법헤더 파일라는 헤더 파일에 있는데, 사실 이 헤더 파일은 혹은, 에 포함되어 있다.#include #include #include 3 가지 헤더 파일 중 하나라도 있으면 사용이 가능하다.선언pair p;type1, type2에는 저장할 데이터의 자료형을 적어주면 된다.둘이 같아도 무방하다.메소드p는 pair 변수라 가정한다.p.first // 첫 번째 페이 데이..

시작해요 언리얼 2022 무작정 따라하기 - 4주차

KEYWORDS:텔레포트, 점프대, 떨어지는발판, 트리거로함정작동, 함정, 콜리전, 바운스, 자동 활성화, 피직스 시뮬레이트, 프로젝틸무브먼트(발사체속성), 박스콜리전마지막 차시인 4주차에서는 다음과 같이 크게 4가지를 실습한다.텔레포트 발판 만들기밟으면 곧 떨어지는 발판 만들기점프대 만들기밟으면 함정이 작동하는 발판과 함정 만들기텔레포트 발판 만들기발판 하나 만들기블루프린트 생성스태틱 매시 하나 더(텔레포트 작용 위치 표시용)트리거 역할을 할 box collision 추가이제 블루프린트의 이벤트 그래프를 건드리고, 텔레포트 지점을 등록해주기만 하면 된다.다음과 같은 동작들을 블루프린트로 만들어주면 된다.캐릭터가 텔레포트 지점에 닿으면 텔레포트 할 때까지 멈춤나이아가라를 이용해 만든 이펙트가 발생딜레이를..