Web Hacking Advanced

Web Hacking Advanced

[dreamhack] image-storage

개념정리파일 업로드 취약점에 대해 알아보자. ○ 파일 업로드 취약점웹 애플리케이션에서 사용자가 업로드한 파일을 처리하는 과정에서 발생할 수 있는 취약점으로 파일 업로드 기능이 존재하는 웹 사이트의 확장자 필터링이 미흡할 경우, 공격자가 악성 파일을 업로드하여 시스템을 장악할 수 있는 취약점이다. 공격자가 아무런 검증이 없는 웹사이트에 원하는 파일을 업로드할 수 있는 환경이라고 가정하자. 공격자가 웹쉘을 정상적으로 업로드한다면 웹쉘에 접근해서 시스템 명령어를 실행할 수 있게되고 공격자는 시스템 내부를 탐색하고 장악할 수 있을 것이다. 웹쉘을 업로드하면 공격자들은 보안 시스템을 피하여 별도의 인증없이 시스템에 쉽게 접속 가능하므로 굉장히 위험한 취약점이라고 할 수 있다. ○ 공격 절차해커는 악성 파일(웹쉘)..

Web Hacking Advanced

[dreamhack] command-injection-1

개념정리Command injection에 대해 알아보자. ○ Command Injection인젝션은 악의적인 데이터를 프로그램에 입력하여 시스템 명령어, 코드, 데이터베이스 쿼리 등이 실행되게 하는 기법을 말한다. 이 중, 시스템 명령어를 실행하게 하는 취약점을 Command Injection이라고 부른다. Command Injection은 사용자의 입력값을 제대로 검증하지 않는 경우에 발생한다. 특히, 리눅스에서는 여러 명령을 연속으로 실행할 수 있는 메타문자들을 제공하기 때문에 공격자는 Command Injection을 수행하여 본인이 원하는 명령을 실행시킬 수 있다. ○ 메타 문자 종류명령어 치환` `` ` 안에 포함되는 명령어를 실행한 결과로 치환한다.$()$()안에 들어있는 명령어를 실행한 결과..

Web Hacking Advanced

[dreamhack] xss-2

문제분석 & 풀이문제 구성은 xss-1와 동일하다. 다만, 입력에 대한 추가적인 필터링이 존재하는 것 같다. [dreamhack] xss-1 [dreamhack] xss-1개념정리 ○ XSS 크로스 사이트 스크립팅(Cross Site Scripting, XSS)은 공격자가 상대방의 브라우저에 스크립트가 실행되도록 해 사용자의 세션을 가로채거나, 웹사이트를 변조하거나, 악의적 콘텐츠keyme2003.tistory.comXSS 개념과 코드 분석은 위 글을 참고하자. /vuln에 접속하면 param 파라미터로 가 요청되는데, xss-1와 다르게 해당 script 코드가 실행되지 않는 것을 확인할 수 있다. 즉, 내부적으로 태그를 사용하지 못하도록 검증한다고 추측할 수 있다. 따라서 태그의 이벤트 핸들러 속..

Web Hacking Advanced

[dreamhack] Apache htaccess

개념정리Apache 서버에서 발생하는 파일업로드 취약점에 대해서 다루는 문제다. 기본 개념을 익히고 가보자. ○ .htaccess.htaccess는 hypertext access의 약자로, Apache 웹 서버의 디렉토리를 설정하는 기본 파일이다. 보통 웹사이트 root 디렉토리에 위치하며, 특정 디렉토리에 위치할 경우 해당 디렉토리 및 모든 하위 디렉토리에 설정에 대한 영향을 행사한다. .htaccess 파일을 사용하면 웹 서버 설정을 개별적으로 지정할 수 있기 때문에 공격자가 업로드할 수 있다면 웹 서버 설정을 건드릴 수 있는 위험한 취약점이다. ○ .htaccess 설정 정보URL 재작성: .htaccess 을 사용하면 URL을 재작성할 수 있다. 이를 통해 동적인 URL을 검색 엔진 최적화(SEO..

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를 수행하는 악성 링크에 의해 클라이언트 사이드의 권한(일반 유저 권한)으로 공격자가 의도한 행위(계정 정보 변경, 악..

keyme
'Web Hacking Advanced' 카테고리의 글 목록 (4 Page)