Web Hacking

Web Hacking Advanced

[dreamhack] error based sql injection

개념정리Error based sql injection에 대해서 알아보자. ○ Error based sql injectionError based SQL Injection은 에러를 발생시켜서 데이터베이스 및 운영 체제의 정보를 획득하는 공격 기법이다. Error based SQLi는 쿼리 실행 결과로 에러가 발생했을 경우, 에러가 화면에 출력되는 시나리오에서 발생할 수 있는 취약점이다. 만약, 애플리케이션에서 발생하는 에러를 이용해 공격하려 한다면 문법 에러와 같이 DBMS에서 쿼리가 실행되기 전에 발생하는 에러가 아닌 런타임 (Runtime) 시점에 발생해야한다. 즉, 쿼리가 실행되고 나서 발생하는 에러(논리적 에러)가 필요하다. 대표적으로 mysql에서는 ExtractValue()를 이용해서 Error ..

Web Hacking Advanced

[dreamhack] csrf-1

개념정리○ CSRFCSRF(Cross Site Request Forgery)은 웹 어플리케이션 취약점 중 하나로 인터넷 사용자가 자신의 의지와는 상관없이 공격자가 의도한 행위(수정, 삭제, 등록 등)를 특정 웹사이트에 요청하게 만드는 공격이다. 즉, CSRF는 클라이언트 사이드에서 취약점이 발생한다. 예를 들어보자. 만약, SNS를 사용하는 일반 유저가 현재 로그인 상태라고 가정하자. 다음으로 공격자가 흥미로운 글과 함께 CSRF를 수행하는 악성 링크를 같이 게시글로 올렸다고 해보자. 일반 유저는 해당 게시글의 내용에 흥미를 느끼고 링크를 클릭하게 될 것이다. 이때, 일반 유저는 CSRF를 수행하는 악성 링크에 의해 클라이언트 사이드의 권한(일반 유저 권한)으로 공격자가 의도한 행위(계정 정보 변경, 악..

Web Hacking Advanced

[dreamhack] xss-1

개념정리○ XSS크로스 사이트 스크립팅(Cross Site Scripting, XSS)은 공격자가 공격대상의 브라우저에서 스크립트가 실행되도록 유도하여 사용자의 세션을 가로채거나, 웹사이트를 변조 또는 악의적 콘텐츠등을 수행하는 것을 말한다. XSS를 근본적으로 제거하기 위해서는 태그 삽입이 되지 않도록 처음부터 원인을 제거하는 것이 중요하다. ○ XSS 종류Stored XSS: XSS에 사용되는 악성 스크립트가 서버에 저장되고 서버의 응답에 담겨오는 XSSReflected XSS: XSS에 사용되는 악성 스크립트가 URL에 삽입되고 서버의 응답에 담겨오는 XSSDOM-based XSS: XSS에 사용되는 악성 스크립트가 URL Fragment에 삽입되는 XSSUniversal XSS: 클라이언트의 브라..

Web Hacking Advanced

[dreamhack] simple-ssti

개념정리SSTI에 대한 개념을 간단하게 짚고 넘어가자. ○ SSTISSTI(Server Side Template Injection)취약점은 웹 어플리케이션에 적용된 웹 템플릿 엔진(Web Template Engine)에 공격자의 공격 코드가 템플릿에 포함된 상태에서 서버 측에서 템플릿 인젝션 되는 공격 SSTI 취약점은 서버 측에 Template이 구성되어 있고 사용자 입력이 기존 Template에 삽입되는 경우 공격자는 Template 구문을 이용해 악성 페이로드를 삽입하여 공격자가 원하는 액션을 수행하도록 하는 공격이다. [그림]의 SSTI 공격 구성도와 같이 공격자가 kw에 {{ 2*2 }}라는 Template 구문을 입력하면 사칙연산 결과인 4라는 값이 리턴되면서 공격자가 삽입한 Template구..

Web Hacking Advanced

[dreamhack] file-download-1

개념정리파일 다운로드 취약점에 대해 알아보자. ○ 파일다운로드 취약점파일 다운로드 기능 사용 시,임의의 문자나 주요 파일의 입력을 통해 웹 서버의 홈 디렉터리를 벗어나 임의의 위치에 있는 파일을 열람하거나 다운 가능한 취약점이다. (passwd, 중요파일/백업, 데이터베이스, 소스코드 등) ○ 발생원인파일 다운로드 시 파일의 절대 경로 또는 상대 경로가 노출되는 경우다운로드 모듈이 파일의 경로나 이름을 파라미터로 사용하는 경우파일 경로와 파일명 필터링 미흡하여 ../를 이용해 상위 디렉터리에 접근이 가능한 경우다운로드 경로가 노출되지 않더라도 구조가 단순하여 파라미터 변조를 통해 접근이 허용되지 않은 파일에 접근이 가능할 경우 위와 같은 케이스들에 해당한다면 공격자는 파일 다운로드 취약점으로 서버 내부에..

Web Hacking Advanced

[dreamhack] simple_sqli

개념정리○ SQL InjectionSQL Injection은 웹 어플리케이션에서 입력 데이터의 유효성 검증을 하지 않아서 개발자가 의도하지 않은 동적 쿼리를 생성하여 DB 정보를 열람하거나 조작할 수 있는 보안 취약점이다. 웹 어플리케이션은 유저의 행동(클릭, 입력 등)에 따라 DB에 있는 데이터를 서로 다르게 표시한다. 이를 위해 Query는 유저가 입력한 데이터를 포함하여 Dynamic 하게 변하므로 개발자가 의도하지 않은 정보를 열람할 수 있게 된다. 예를 들어 다음 쿼리문을 이용해서 로그인을 수행한다고 해보자.select * from user where id = "{$id}" and pw = "{$pw}"만약, admin 계정으로 로그인하고 싶은 상황이라면 admin 계정에 맞는 id와 pw를 입..

keyme
'Web Hacking' 태그의 글 목록 (3 Page)