serialize? serialize는 node.js에서 많이 사용하는 데이터 값들을 직렬화 시켜주는 도구이다. 해당 함수를 이용하면 다양한 데이터들을 간단한 string으로 변환해주어서 데이터 통신에 많이 사용한다. var serialize = require('node-serialize'); var data = { "data": "hello" }; var se_data = serialize.serialize(data); console.log(typeof (se_data)) console.log(se_data) var unse_data = serialize.unserialize(se_data); console.log(typeof (unse_data)) console.log(unse_data) 다음과 같은..
prototype? javascript는 java와 달리 Class라는 개념이 없다. Class가 없으면 상속이 불가능하기에 prototype을 이용해 상속과 비슷한 기능을 할 수 있다. let file = {}; file.__proto__.test = "test" let read = {}; console.log(read.test) 위와 같은 코드를 실행하면 "read.test"의 출력 값으로 "test"가 출력되게 된다. 이는 오브젝트 file이라는 변수에서 __proto__라는 변수 아래에 test라는 속성을 정의했는데 이렇게하면 모든 오브젝트에서 해당 값을 참조할 수 있다. prototype pollution javascript의 prototype을 이용한 공격방법이 바로 prototype poll..
Wargame을 풀다가 reversing 문제에서 apk파일이 주어지고 Flag를 구해야 되는 문제를 푼 적이 있다. apk파일을 분석한 적이 처음이라서 어떻게 디컴파일하고 소스코드를 분석해야 되는지 막막했다. apk파일을 압축해제하면 다양한 파일이 나오게 되는데 그중에 classes.dex 파일을 디컴파일 해야 한다. 이때 사용하면 좋은 툴을 소개하겠다. jadx https://github.com/skylot/jadx GitHub - skylot/jadx: Dex to Java decompiler Dex to Java decompiler. Contribute to skylot/jadx development by creating an account on GitHub. github.com 우선 해당 툴의 ..
CSRF 공격기법은 Cross Site Request Forgery의 약자로 사용자를 속여서 의도치 않은 요청을 보내도록 하는 공격기법이다. XSS 공격기법은 클라이언트에서 악성코드가 실행이 된다면 CSRF 공격기법은 사용자가 서버에 의도치 않은 요청을 보내기 때문에 서버에서 악의적인 코드가 실행된다. 예시 # 이용자가 /sendmoney에 접속했을때 아래와 같은 송금 기능을 웹 서비스가 실행함. @app.route('/sendmoney') def sendmoney(name): # 송금을 받는 사람과 금액을 입력받음. to_user = request.args.get('to') amount = int(request.args.get('amount')) # 송금 기능 실행 후, 결과 반환 success_sta..