빡공팟 121

[빡공팟 5기] W5 : DVWA 실습 - Stored XSS

[Stored XSS 공격의 발생] 악의적인 스크립트가 삽입된 게시글이 서버의 데이터베이스에 저장되면서, 이용자가 해당 게시글을 눌렀을 때 의도치 않은 행위가 발생하는 게 이런 이유 때문이다. [실습 내용] Stored XSS 에 대해 실습해보자! [초기 화면] - 이름과 내용을 입력하고 등록하는 폼이다. - 한번 직접 작성해보자. - 이런식으로 내용이 그대로 출력된다. - 한번 스크립트를 작성해서 넣어보자! - 스크립트가 그대로 실행되는 걸 볼 수 있다. - 이를 이용하여 전과 마찬가지로 쿠키를 해커의 서버에 보낼 수 있고, 타 사이트로 리다이렉션 시킬 수 있다. - 전에 썼던 공격 구문을 다시 활용하여 게시글을 등록했다. - 글자 수 제한이 있어 HTML 코드를 수정한 후 내용을 입력했다. - 게시 ..

TeamH4C 2022.10.23

[빡공팟 5기] W5 : DVWA 실습 - Reflected XSS

[Reflected XSS 공격의 발생] 사용자의 입력 값을 받고 되돌려 주는 곳에서 발생한다. -> 웹 사이트에서 검색 했을 때 검색 내용을 보여주는 경우가 있다. 해커가 악의적인 스크립트를 포함한 URL 을 작성하고 이용자가 해당 URL 을 눌렀을 때 악의적인 스크립트가 실행되면서 의도치 않은 행위를 수행하게 된다. -> 굳이 서버까지 갈 필요가 없다. [실습 내용] Reflected XSS 를 실습해보자! [초기 화면] - 사용자의 이름을 입력받으면 그대로 출력하는 기능이 존재한다. - 사용자의 입력 값을 받을 때 항상 주의해야 할 점은 사용자 입력값을 전적으로 신뢰한다는 것이다. - 스크립트문을 그대로 입력받으면 그대로 출력하는지 스크립트문을 넣어보았다. - 그대로 스크립트문이 출력되는 것을 볼 ..

TeamH4C 2022.10.23

[빡공팟 5기] W5 : DVWA 실습 - DOM based XSS

[XSS 의 정의] XSS(Cross Site-Scripting) 은 웹 사이트에 악성 스크립트를 주입하는 것이다. 주로, 이용자가 글을 읽거나 쓸 수 있는 게시판에서 자주 발생하지만 입력 값을 웹 페이지에 표시하는 경우에도 발생한다. 이렇게 이용자 브라우저에서 스크립트를 실행하게 된다면 사용자 세션을 가로채는 세션 하이재킹, 웹 사이트 변조, 악의적인 컨텐츠 삽입, 피싱 공격 등을 시도할 수 있다. [XSS 의 종류] 1. reflected XSS - 반사형 XSS 로 1회성 공격이며 이용자에게 입력받은 값을 되돌려 줄 때 발생한다. 보통 GET 방식을 사용하는 URL 파라미터에서 발생하며, 공격자가 악성 스크립트와 함께 누르도록 유도하고 해당 URL 을 누른 이용자는 악성 스크립트가 실행되며 공격을 ..

TeamH4C 2022.10.23

[빡공팟 5기] W5 : DVWA 실습 - Weak Session IDs

[Weak Session IDs 의 정의] 세션 ID 취약점, 세션 ID 는 사용자 인증 정보를 담고 있는 것으로 이를 통해 서버가 유저를 확인하고 인증하는 것이다. 따라서 세션이 재중복 되거나, 세션 타임아웃 등이 존재하지 않으면 사용자 정보를 이용하여 악의적인 행위가 가능하게 되는 것이다. [실습 내용] 세션 ID 취약점에 대해 실습해보자! [초기 화면] - 버튼을 누를 때마다 새로운 쿠키를 불러온다고 한다. - 한번 더 클릭하니 이렇게 나온다. - 다시 한 번 눌러보니 숫자가 계속 1씩 증가한다. [View Source] - 소스코드를 확인해보니 요청 메소드를 POST 형식으로 서버에 전달하는데, 이때 마지막 session_id 가 존재하지 않으면 마지막 세션 아이디를 0 으로 셋팅하고 1씩 증가시..

TeamH4C 2022.10.23

[빡공팟 5기] W5 : DVWA 실습 - SQL Injection(Blind)

[SQL Injection 의 종류] 1. Error based SQL Injection (지난 게시글) : 쿼리와 관련된 ', ; 삽입 시에 SQL 과 관련된 에러를 통해서 데이터베이스의 정보를 예상한다. 2. Union based SQL Injection (지난 게시글) : Union 키워드를 사용하여 select 문을 사용하여 칼럼 수와 같은 정보를 얻어낸다. 3. Blind based SQL Injection (현재 게시글) : 요즘은 에러 메시지를 1번과 같이 출력하지 않기 때문에 에러가 발생되지 않는 사이트에서 SQL 쿼리 삽입 시 정상적으로 페이지가 출력됐냐 안됐냐에 따라 DB 구조를 파악한다. 4. Stored Procedure based SQL Injection 5. Time based ..

TeamH4C 2022.10.23

[빡공팟 5기] W5 : DVWA 실습 - SQL Injection

[SQL Injection 취약점의 정의] 데이터베이스에 접속하고 테이블에 값을 가져오거나 생성할 때 쿼리문을 사용하는데, 이때 사용자의 입력값을 그대로 쿼리문에 사용하는 경우 취약점이 발생한다. [실습 내용] SQL Injection 을 이용하여 사용자 계정 정보를 알아내보자. [SQL Injection 을 보안하는 방법] 사용자의 입력을 그대로 받지 않고 필터링 함수를 이용하여 필터링을 거친다. [초기화면] - 숫자를 입력하면 숫자에 해당하는 계정이 출력된다. - 2번을 입력해보니 또 다른 계정이 나온다. - 이렇게 사용자 계정들을 조회할 수 있는 폼에서 SQL Injection 을 발생시키는 것 같다. - 이제 소스 코드를 살펴보자 [View Source]

TeamH4C 2022.10.23

[빡공팟 5기] W5 : DVWA 실습 - Insecure CAPTCHA

[실습 내용] CAPTCHA 우회를 해보자! [초기 화면] - 분명 reCAPTCHA 설정을 했는데 빨간색으로 작동이 되지 않았다. - 다시 홈페이지에 가서 확인해보니 이미 키 설정이 되어 있었는데 안된 줄 알고 중복해서 키 발급을 해서 생긴 문제였다. - 다시 정상적으로 돌아왔다. - 패스워드를 변경하는 페이지인데 로봇이 아니라는 체크 박스를 체크해야 비밀번호가 변경이 된다. - 일단 기능을 시험해보자. - 바꾸고 싶은 비밀번호를 입력하고 체크박스까지 체크했다. - 이제 변경 버튼을 누르면 변경이 될 것인데 일을 두번 하기 싫어서 한번 버프 스위트로 잡아보았다. - 제일 눈에 들어온 것은 step=1 이었다. - 이게 체크 박스를 체크하면 1 로 설정되는 것일까? - step 이 아니라 reponse ..

TeamH4C 2022.10.23

[빡공팟 5기] W5 : DVWA 실습 - File Upload

[File Upload 취약점의 정의] 파일 업로드 기능이 있을 때, 사용자의 파일 이름을 필터링 없이 서버에 업로드하거나, 확장자의 필터링 없이 서버에 업로드 할 시에 업로드 파일 이름으로 인해 지정된 디렉토리가 아닌 다른 디렉토리에 파일 업로드가 가능하거나 확장자가 .php, .asp, .jsp 일 경우 시스템 함수를 호출할 수 있어 취약점이 발생한다. [실습 내용] 쉘 파일 업로드를 통한 명령어 사용 및 중요한 파일 읽어들이기 [공격을 보안하는 방법] 사용자가 업로드한 파일 이름을 그대로 사용하지 않고 난수화하거나 확장자 검사를 하거나 -> 확장자 검사를 우회하는 방법도 존재하더라 -> Proxy 를 이용하여 Content-type 속성을 변경하면 된다. 업로드 된 파일에 직접 접근할 수 없게 해야..

TeamH4C 2022.10.23

[빡공팟 5기] W5 : DVWA 실습 - File Inclusion

[File Inclusion 의 정의] File Inclusion 은 파일 삽입 취약점이라고 한다. 이는, 악성 스크립트를 삽입한다면 해당 페이지가 악성 코드를 실행하게된다. [File Inclusion 의 종류] 1. LFI(Local File Iclusion) : 공격자가 공격 대상 서버에 업로드 되어 있는 파일을 실행하여 공격에 활용하는 취약점이다. -> include, require 등의 함수가 활성화 된 페이지 확인 2. RFI(Remote File Inclusion) : 공격자가 외부 서버에 있는 원격 파일을 URL 파라미터에 포함시키고 전달하여 실행한다. -> 공격할 대상 페이지 URL 에 파라미터에 원격지 웹 쉘 경로를 삽입한다. 3. 경로 제한, 파라미터 변조, 경로 접근, 파일 실행 등..

TeamH4C 2022.10.23

[빡공팟 5기] W5 : DVWA 실습 - CSRF

[CSRF 취약점의 정의] XSS 와 혼동하기 쉬운데 (일단 필자가 가끔 혼동함) XSS 는 사용자의 요청을 변조하는 것이라면 CSRF 는 웹 브라우저의 요청을 변조하는 것이다. 일단 이 공격은 사용자가 해당 링크를 눌러야 성립이 된다. 인증된 사용자가 링크를 누르면 쿠키를 함께 전송하여 의도하지 않은 행위를 하게 된다. [실습 내용] admin 의 비밀번호를 바꿔보자. [초기 화면] - 새로운 비밀번호를 입력하고 새로 입력한 비밀번호를 확인하는 창이다. - 해당 칸에 입력을 다 하고 버튼을 누르면 비밀번호가 변경된다. - 이런식으로 변경이 완료된다. - 참고로 이 기능에서 입력받는 곳에서도 문제가 있다. - 현재 로그인 된 계정의 비밀번호를 다시 한번 묻지 않는 것이다! 그렇다면 로그인이 된 상태에서 ..

TeamH4C 2022.10.23