hacking/web

hacking/web

node.js serialize 취약점

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) 다음과 같은..

hacking/web

Node.js - prototype pollution

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..

hacking/web

CSRF

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..

hacking/web

Relative Path Overwrite

Relative Path Overwrite(RPO) 기법이란 Browser를 속여서 의도되지 않은 파일을 호출하는 기법이다. 예를 들어 아래와 같이 서버가 구성되어 있다고 가정하자. host : https://hogbal.com file : config.js, index.html 만약에 위와 같이 서버가 이루어져 있고 index.html 파일에서 아래와 같이 config.js를 호출하는 코드를 작성했다. 이 경우 https://hogbal.com/index.html로 index.html파일을 호출하게 되면 정상적으로 https://hogbal.com/config.js파일이 호출되게 된다. 하지만 만약 URL을 요청할때 https://hogbal.com/index.html/과 같이 마지막에 경로를 나타내는..

hacking/web

DOM Clobbering

DON Clobbering은 html에서 이용되는 식별자 속성을 이용해 자바스크립트에서 접근 가능한 DOM 객체들의 속성 및 메소드 등을 변조하는 기법이다. 예를 들어 아래와 같은 html 코드를 생각해보자. host 이럴 경우 자바스크립트에서 link에 접근하면 해당 요소를 DOM에서 찾게된다. 이를 이용해 코드에서 사용되는 함수를 이용해 exploit이 가능해진다. 예시 예를 들어 위와 같은 코드가 포함되어 있고 태그를 삽입가능한 html 코드가 있다고 생각해보자. 위와 같은 상황에서 cookie를 탈취해야 된다면 location.href를 이용해 cookie를 탈취할 수 있다. 이 경우 조건문을 만족해야되는데 조건문은 window.CONFIG와 window.CONFIG.debug가 존재해야한다. 이..

hogbal
'hacking/web' 카테고리의 글 목록