전체 글 (1196) 썸네일형 리스트형 [Webhacking] server-side basic 서버에서는 사용자가 요청 한 데이터를 해석하고 처리한 후 사용자에게 응답함. 그 과정에서 웹 어플리케이션이나 데이터베이스와 같은 서버의 자원을 사용해 처리하기도 함. 이 과정에서 사용자의 요청 데이터에 의해 발생하는 취약점을 서버 사이드 취약점이라고 함. nc나 telnet과 같은 네트워크 프로그램을 통해 브라우저에서는 조작하지 못하는 메소드나 요청 헤더를 조작할 수 있음. $ echo -ne "POST /index.html HTTP/1.1\r\nHost: example.com\r\nContent-Type: application/x-www-form-urlencoded\r\n\r\nfoo=bar&hello=world" | nc example.com 80 HTTP/1.1 200 OK Content-Lengt.. [Webhacking] click jacking Click jacking은 웹 브라우저 화면에 출력되는 내용에 HTML, CSS , JS등과 같이 화면 출력에 영향을 미치는 요소들을 이용하여 사용자의 눈을 속여 사용자의 클릭을 유도하는 공격 방법. 외부 페이지 리소스를 불러올 수 있는 태그 엘리먼트 (, , , , )를 사용. 사용자 클릭을 유도하는 페이지 구성 후에 그 페이지 위에 iframe등의 태그로 누르게 할 페이지를 로드. 그리고 CSS opacity(투명도 조절) 등의 방법을 통해 숨겨놓음. iframe 태그가 웹 브라우상에서 더 앞에 위치. ex ) 광고 끄기 버튼 앞으로 송금 버튼 iframe으로 숨겨놓음. Mitigation 부모 페이지의 URL을 제한 X-Frame-Options HTTP 응답 헤더를 통해 DENY, SAMEORIGI.. [Webhacking] open redirect Redirect(리다이렉트)는 사용자의 Location(위치)를 이동시키기 위해 사용하는 기능 중 하나. 이동하는 주소가 공격자에 의해 변조될 경우 오픈 리다이렉트 취약점이 발생. 피싱 사이트로 접속을 유도할 수 있음. Mitigation 허용된 주소에 대해서만 이동하게끔 함. from urllib.parse import urlparse from flask import Flask, request, redirect app = Flask(__name__) @app.route('/redirect') def index(): userUrl = request.args.get('url') parseResult = urlparse(userUrl) if parseResult.scheme in ['http', 'https.. [Webhacking] CSRF (cross site request forgery) 웹 브라우저는 기본적으로 Same Origin Policy에 위반되지 않은 모든 요청에 쿠키 포함해 전송함. 비정상적으로 사용자의 의도와 무관하게 다른 사이트에 HTTP 요청 보내는 것을 CSRF 공격이라 한다. CSRF 공격을 통해 공격자는 해당 세션 쿠키를 가진 사람만 사용할 수 있는 기능을 요청할 수 있음. 권한을 갖고 있는 사용자가 의도하지 않은 요청을 보내서 이득취할 수 있음. 금액을 송금하게 하기. 사용자 패스워드를 변경하기. 관리자 권한으로 공지사항 작성. CSRF 공격을 위한 두 가지 조건 해당 웹 사이트가 쿠키를 이용한 인증 방식을 사용. (세션 아이디가 쿠키에 저장) 공격자가 사전에 사전에 알 수 없는 파라미터가 존재해서는 안됨. 자동 입력 방지 문자를 넣어야 하는 요청은 공격자가 미리.. [Webhacking] XSS (cross site scripting) 서버의 응답에 공격자가 삽입한 악성 스크립트가 포함되어 사용자의 웹 브라우저에서 해당 스크립트가 실행되는 취약점. 임의의 악성 스크립트를 실행할 수 있으며 이를 통해 해당 웹 사이트의 사용자 쿠키 또는 세션을 탈취해 사용자 권한 얻거나 페이지 조작이 가능. XSS를 수행하기 위한 조건. 입력 데이터에 대한 충분한 검증 과정이 없어야 한다. (악성 스크립트가 삽입될 수 있어야 함.) 서버의 응답데이터가 웹 브라우저 내 페이지에 출력 시 충분한 검증 과정이 없어야 한다. (응답 데이터 출력 시 악성 스크립트가 웹 브라우저 렌더링 과정에 성공적으로 포함되어야 함.) XSS with JS Javascript(자바스크립트)는 사용자의 웹 브라우저에서 화면을 동적으로 보여줄 수 있도록 자동으로 버튼을 누르거나 화면.. [Webhacking] client-side basic 보호되어 있는 글입니다. [wargame] strcmp http://wargame.kr:8080/strcmp/ php strcmp()의 취약점 인자로 배열이 들어온 경우 NULL을 반환 NULL== 0은 두 비교 인자가 같다는 True로 처리되어 인증 우회됨. HTML input element는 name에 의해 array-ready php 같은 경우 name에 배열 값을 주면 $_POST['education'] Please enter your most recent education Please enter any previous education Please enter any previous education 같은 name의 여러 input value를 배열로 받아올 수 있음. https://stackoverflow.com/questions/4688880/ht.. ppt to image import enchant from pptx import Presentation from pptx.enum.shapes import MSO_SHAPE_TYPE def iter_picture_shapes(self, prs): pictures = [] for slide in prs.slides: group_shapes = [ shape for shape in slide.shapes if shape.shape_type == MSO_SHAPE_TYPE().GROUP ] for group_shape in group_shapes: for shape in group_shape.shapes: if shape.shape_type == MSO_SHAPE_TYPE().PICTURE: pictures.append(shape).. [wargame] cookie https://dreamhack.io/wargame/challenges/6/ cookie 쿠키로 인증 상태를 관리하는 간단한 로그인 서비스입니다. admin 계정으로 로그인에 성공하면 플래그를 획득할 수 있습니다. Reference Introduction of Webhacking dreamhack.io #!/usr/bin/python3 from flask import Flask, request, render_template, make_response, redirect, url_for app = Flask(__name__) try: FLAG = open('./flag.txt', 'r').read() except: FLAG = '[**FLAG**]' users = { 'guest': 'guest', 'adm.. [Webhacking] (cookie, session) HTTP는 하나의 Request와 Response 쌍이 독립적으로 구성되어 통신하는 connectionless, stateless 프로토콜. 과거에는 서버 부하로 인해 connectionless 속성이 강조되었지만, 최근에는 네트워크 , 서버 등의 성능 향상으로 HTTP/1.1 부터 Keep-Alive를 통해 일정 시간 사용자와 서버가 계속 연결을 맺고 있음. stateless는 연결이 끝나면 상태를 유지하지 않는 것을 의미. 따라서 HTTP 요청마다 새로운 커넥션을 열기 때문에 사용자 인증을 계속해서 해야하는 단점이 존재. 단점 보완을 위해 상태를 유지하기 위한 Cookie가 탄생함. Cookie 웹 브라우저는 HTTP Response의 Set-Cookie Header나 javascript docume.. [Webhacking] 기초 지식 해킹? 본래의 의도와는 다른 행위를 발생시키는 것을 의미. 해킹을 위해서는 설계 또는 운영의 약점을 찾아야 함. 이를 위해서는 설계자 또는 운영자보다 해당 시스템에 대한 높은 이해도를 가지고 있어야 한다. 웹 인터넷상의 서비스 중 HTTP를 이용하여 정보를 공유하는 통신 서비스 웹 클라이언트 서비스를 받는 사용자 웹 서버 서비스를 제공하는 대상 웹은 웹 사이트 접속 형태 외에도 모바일 서비스, IoT 장비 관리 페이지 등 다양한 형태로 일상생활 곳곳에서 사용됨. 초기 웹은 저장된 문서의 내용을 출력해 사용자에게 제공하는 간단한 서비스. 시간이 지남에 따라 입력과 입력에 따른 기능 수행이 추가됨. 웹 기초 지식 Web Browser 웹에 접속하기 위해 사용하는 소프트웨어 Web Resource 웹 상에 존.. label studio 데이터 셋 생성 보호되어 있는 글입니다. 이전 1 ··· 4 5 6 7 8 9 10 ··· 100 다음