Web Hacking

Web Hacking Advanced

[dreamhack] blind sql injection advanced

문제분석 & 풀이@app.route('/', methods=['GET'])def index(): uid = request.args.get('uid', '') nrows = 0 if uid: cur = mysql.connection.cursor() nrows = cur.execute(f"SELECT * FROM users WHERE uid='{uid}';") return render_template_string(template, uid=uid, nrows=nrows)uid를 이용해서 select 쿼리를 실행하는 구성이다. uid 파라미터에 대한 검증과 prepare statement와 같은 시큐어 함수가 적용되지않았다. 따라서 uid를 이용해 SQL injec..

Web Hacking Advanced

[dreamhack] php-1

개념정리PHP Wrapper를 이용한 LFI 취약점을 실습하는 문제다. ○ LFILFI(Local File Inclusion) 취약점은 웹 애플리케이션에서 발생할 수 있으며, 공격자가 악의적인 목적으로 웹 서버의 파일 시스템에 접근하여 중요한 파일을 읽거나 실행할 수 있는 취약점이다. LFI는 주로 웹 애플리케이션에서 파일을 동적으로 로드할 때 발생한다. 이때, 애플리케이션은 파일 이름을 사용자 입력값으로 받아들이는데, 이 입력값에 대한 검증이 제대로 이루어지지 않으면 공격자가 파일 시스템의 다른 파일에 접근할 수 있다. 공격자는 LFI 취약점을 이용하여 애플리케이션의 설정 파일, 암호화된 비밀번호, 데이터베이스 정보 등 중요한 정보를 탈취할 수 있다. 또한 공격자는 원격 코드 실행(RCE) 공격을 수행..

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

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