1. Web hacking (웹 해킹)/2) 개념 정리 (40) 썸네일형 리스트형 [2020.11.07] Dream Hack - Client-side-Advanced 2. XSS 활성 하이퍼링크 브라우저들은 URL을 통해 정규화(normalization)를 거치고 이 과정에서 \x01, \x04와 같은 특수 제어 문자들이 제거될 수 있다. HTML 요소 속성에서 엔티티를 사용할 수 있다는 점을 이용하면 다양한 우회 기법을 사용할 수 있게 된다. JavaScript에서는 URL 객체를 통해 직접 정규화할 수 있고, protocol, hostname 등 URL의 각종 정보를 추출할 수 있다. 엔티티(Entitiy) HTML 미리 예약된 문자(reserved characters)가 있다. 이러한 HTML 예약어를 HTML 코드에서 사용하면, 웹 브라우저는 그것을 평소와는 다른 의미로 해석한다. 따라서 HTML 예약어를 기존에 사용하던 의미 그대로 사용하기 위해 별도로 만든.. [2020.9.26] DreamHack개념 정리 - Sever-side Basic Server-side Basic (서버 사이드 취약점) 개념: 서버에서 사용자가 요청한 데이터에 의해 발생하는 취약점 목적: 서버를 이용한 서비스 공격 ex) 서버 내에 존재하는 사용자들의 정보 탈취, 서버의 권한 장악 등등 Injection 사용자의 입력 데이터가 어플리케이션의 처리 과정에서 구조나 문법적인 데이터로 해석되어 발생하는 취약점을 의미 -> 변조된 입력을 주입해 의도한 행위를 변질시켜 의도하지 않은 행위를 발생시킴 1. SQL Injection : SQL 요청을 사용할 때 공격자의 입력 값이 정상적인 요청에 영향을 주는 취약점 -> 웹 애플리케이션 사용자 입력 값에 필터링이 제대로 적용돼 있지 않을 때 발생 -> 웹사이트 취약점을 찾아, DB를 관리하는 SQL 명령어에 악성코드를 삽입해 해.. [2020.9.19] DreamHack 개념 정리 - Client-side Basic 1.Client-side Basic - HTTP 웹 서버가 사용자를 식별하기 위해 보편적으로 쿠키와 세션을 사용 (Connectionless와 Stateless 한 특성) [ 목적 ] : 사용자로부터 쿠키나 쿠키에 저장된 세션 아이디를 탈취해 사용자 권한을 얻음 /사용자의 브라우저에서 자바스크립트를 실행하거나 특별한 행위를 수행하도록 함 => 사용자가 보낸 것처럼 요청을 전송 > SOP(Same Origin Policy) :서로 다른 오리진의 문서 또는 스크립트 들의 상호 작용을 제한 - Origin의 구성 : 프로토콜(protocol, scheme), 포트(port), 호스트(host) > Cross Origin Resource Sharing(CORS) :SOP가 적용된 상태에서도 리소스 공유 가능 x.. [2020.05.19] Dreamhack 개념정리 - 5강 Server-side Advanced - SQLInjection https://dreamhack.io/ 해커들의 놀이터, DreamHack 해킹과 보안에 대한 공부를 하고 싶은 학생, 안전한 코드를 작성하고 싶은 개발자, 보안 지식과 실력을 업그레이드 시키고 싶은 보안 전문가까지 함께 공부하고 연습하며 지식을 나누고 실력 향 dreamhack.io 1. SQL Injection Advanced 이번 강의에서는 MySQL과 SQLite를 중점적으로 다루며, 그 외에도 SQL Server(MSSQL), Oracle, PostgreSQL에 대해서도 다룬다. SQL Injection 공격기법, SQL DML 구문에 대한 이해, Exploit Technique 에 대해서 알아보자. 2. SQL Injection 공격 기법 Logic 논리 연산을 이용한 공격 방법이다. 대표.. [2020.05.19] Dreamhack 개념정리 - 4강 Client-side Advanced https://dreamhack.io/ 해커들의 놀이터, DreamHack 해킹과 보안에 대한 공부를 하고 싶은 학생, 안전한 코드를 작성하고 싶은 개발자, 보안 지식과 실력을 업그레이드 시키고 싶은 보안 전문가까지 함께 공부하고 연습하며 지식을 나누고 실력 향 dreamhack.io 1. Client-side Advanced Client-side에서 발생하는 취약점들을 잘못 방어한 사례에 대해 알아보고 이를 공격하는 방법들을 다룬다. 이 외에도 XSS와 연계하여 HTML(DOM)과 자바스크립트 간에 객체 이름이 겹치는 것을 이용해 공격하는 DOM Clobbering에 대해 알아보고, 더불어 RPO(Relative Path Overwrite) 공격기법과 이를 방어하는 법에 대해서도 알아본다. 2. X.. [20.04.07] Dreamhack 개념정리 - Server-side Basic Server-side(서버 사이드) 취약점 1)정의: 서버에서는 사용자가 요청한 데이터를 해석하고 처리한 후 사용자에게 응답한다. 그 과정에서 웹 어플리케이션이나 데이터베이스와 같은 서버의 자원을 사용해 처리하기도 한다. 이 과정에서 사용자의 요청 데이터에 의해 발생하는 취약점을 서버 사이드 취약점이라고 한다. 2)발생 원인: nc나 telnet과 같은 네트워크 프로그램을 통해 HTTP Request를 보낼 때는 메소드나 요청 헤더처럼 브라우저에서 조작하지 못하는 데이터도 조작하여 전송할 수 있기 때문에 서버에서는 사용자에게 받는 모든 입력 데이터를 신뢰하지 않아야 한다. (HTTP 요청 시 모든 데이터는 조작하여 전송이 가능하며, 악의적인 사용자는 이를 이용해 서버의 취약점을 확인 할 수 있게 된다.).. [20.03.31] Dreamhack 개념정리 - Introduction of Web hacking (1) Web browser= 웹에 접속하기 위해 사용하는 소프트웨어 (2) Web resource= 웹 상에 존재하는 모든 콘텐츠(HTML, CSS, JS, PDF, PNG등) (3) URL(URI)= 리소스를 식별하기 위한 식별자 (4) HTTP= 웹을 이용하기 위한 통신규약 (5) HTTPS= 기존 HTTP 데이터를 암호화하여 통신함 (6) Cookie= 웹 브라우저에 저장하는 데이터 (7) Session= 서버에 저장하는 데이터 (8) Domain Name= 웹 네트워크 상에서 컴퓨터를 식별하는 이름 (9) Server= 인터넷상에서 사용자에게 서비스를 제공하는 컴퓨터. 그 중 웹서버는 사용자(웹 브라우저)와 HTTP를 이용하여 통신하는 서버 (10) Application= 서버에서 설정한 특정 .. [2020.03.31] Dreamhack 개념정리 - Client-side Basic 1. Client-side Basic Client-side 취약점의 주목적 공격자는 사용자로부터 본인을 식별하기 위한 사용자 정보, 즉 쿠키나 쿠키에 저장된 세션 아이디를 탈취해 사용자 권한을 얻거나, 사용자의 브라우저에서 자바스크립트를 실행하거나 특별한 행위를 수행하도록 하여 사용자가 보낸 것처럼 요청을 전송하는 것이 클라이언트 사이드 취약점의 주 목적 취약점이 발생할 수 있는 이유 웹 브라우저는 Stateful한 상태를 유지하기 위해 모든 HTTP 요청에 쿠키를 함께 보냄 ※ stateful: client의 이전 상태를 기록하고 있는 것 > 서로 다른 사이트인 dreamhack.io와 theori.io에서 dreamhack.io/resource1에 요청을 보내지만, 같은 쿠키가 함께 보내지는 것을.. 이전 1 2 3 4 5 다음