본문 바로가기

전체 글

dvwa. 파일 업로드 공격 #5-2(medium, high, impossible) medium - low단계처럼 파일을 업로드 했을 때 업로드 실패한 것으로 보아 검증 로직이 있다. - view-source를 보면 이미지인지 검증을 위해 uploaded_type이 image/jpeg, image/png인지 확인하고 있고 크기는 100000 미만으로 되어있다. - 필터링을 우회하기 위해 버프스위트로 인터셉트 후 content-Type을 image/jpeg로 바꿔주면 업로드 성공 확장자 변경 - 다른 방법으로 php확장자를 강제로 jpeg로 바꾼 후 업로드 하면 업로드가 된다.(high에서 필터링됨) - 추가로 view-help를 보면 hidden 값이 있다고 해서 봤더니 이미지 사이즈를 변경할 수 있는 폼이 있다. high - vie-source를 보면 정확히 jpg, jpeg 파일만 .. 더보기
dvwa. CAPTCHA 공격 #6-1(low) CAPCHA 공격이란? : 컴퓨터와 사람을 구분하기 위한 보안 메커니즘으로 사용되는 검증 시스템이다. 일반적으로 웹사이트 등에서 자동화된 스크립트나 봇의 악용을 방지하고, 사용자의 신원을 확인하는데 사용된다. [Completely Automated Public Turing test to tell Computers and Humans Apart] - captcha는 일반적으로 이미지나 오디오로 제공되는 왜곡된 텍스트, 그림 등을 포함하고 있으며 이를 해결하기 위해 사용자는 정확한 정보를 입력해야 한다. - 카네기 멜론 대학교 사람이 만듦 CAPTCHA 활용 블로그 댓글 스팸 방지 웹사이트 등록 보호 : 봇으로 많은 이메일 계정을 만드는 경우 스크레이퍼로부터 이메일 주소 보호 스크레이퍼(scrapper) :.. 더보기
dvwa. 파일 업로드 공격 #5-1(low) 파일 업로드 공격이란? : 파일 업로드 기능이 존재하는 웹 어플리케이션에서 업로드 파일에 대한 적절한 제어를 하지않을 경우 허가되지 않은 파일들이 웹서버로 업로드될 수 있는 취약점을 말한다. - 간단하게 이미지를 올리는 게시판에 확장자나 용량 제한을 하지 않아 공격자가 악성 웹쉘을 올려 악성코드를 실행시키는 취약점이다. - 업로드하는 파일 타입이나 확장자를 체크하지 않고 업로드를 허용하는 경우 웹쉘이 업로드되어 서버에서 악의적인 명령이 수행되거나 악성코드 파일이 업로드되어 이를 다운받은 사용자 PC가 침해사고를 당할 수 있다. 웹쉘 : 악의적인 목적으로 웹서버 내 임의의 명령을 실행할 수 있는 서버 사이드 스크립트(server side script) 파일을 말하며 다양한 언어(ASP, JSP, php.... 더보기
dvwa. 파일 인클루션 #4-2(medium, high, impossible) 공격 실습) low에서 했던 공격을 시도했더니 막혔다. - view-source를 보니 파일에 문자 http://와 https://가 있으면 공백으로 대체시켜 문자열 검증을 하고 있다. 그리고 ../와 ..\ 특수문자를 필터링해서 path Traversal 공격을 막는것으로 보인다. - http://를 공백으로 바꾸기 때문에 http://안에 http://를 넣으면 [http:/"http://"/] --> [http:/""/]로 없어지기 때문에 우회해서 공격을 할 수 있다. - 특수문자 필터링은 ../를 공백으로 만들기 때문에 ....//처럼 만들면 .."../"/ 쌍따옴표안의 값이 없어지므로 ../가 되어 우회할 수 있다. high fnmatch 함수는 파일 이름 패턴 매칭을 위해 사용되며 주어진 파일.. 더보기
dvwa. 파일 인클루션 #4-1 (low) 파일 인클루션공격 https://choimungu.tistory.com/215 GH(NOB); 파일 삽입(File Inclusion) 취약점[RFI, LFI] 1. 파일 삽입 공격 : 파일 삽입 취약점은 공격자가 악성 서버 스크립트를 서버에 전달하여 해당 페이지를 통해 악성 코드가 실행되도록 하는 취약점을 말한다. - 동적으로 파일을 로드할 때 발생 choimungu.tistory.com LFI : 시스템에 있는 파일을 인클루션하는 공격 RFI : 외부에 있는 파일을 원격으로 인클루션하는 공격 사용자가 qwer.php를 인클루션하는데 공격자가 이를 hack.php로 지정하여 인클루드할 시 별다른 검증이 없다면 악성코드가 실행된다. 실습) 3개의 파일 먼저 mal.php파일을 만들어 cd /opt/lamp.. 더보기
2일차 더보기
dvwa. CSRF #3-1(low) CSRF란? https://choimungu.tistory.com/212 GH(NOB); 크로스 사이트 요청 변조(CSRF: Cross Site Request Forgery) 1. CSRF란? : 웹 어플리케이션에서 정상적인 경로를 통한 요청과 비정상적인 경로를 통한 요청을 서버가 구분하지 못할 경우 공격자가 스크립트 구문을 이용하여 정상적인 사용자로 하여금 조작 choimungu.tistory.com 예시) 1. 임의의 홈페이지에 접속 2. 공격자가 희생자에게 피싱메일 전송하고 희생자가 열어봄 3. 피싱메일에는 사용자의 패드워드 변경 요청이 담겨진 코드가 있어서 피싱메일을 열어볼 경우 희생자의 패스워드가 변경된다. 4. 공격자는 변경된 패스워드로 임의의 홈페이지에 접속한다. 공격 실습) 대응 방안 - .. 더보기
dvwa. 커맨드 인젝션 #2-2(medium, high, impossible코드 분석) Medium 127.0.0.1에 대한 응답은 하지만 low에서 했던 명령어들은 먹히지 않는다. - view-source보면 특수문자 '&&'와 ';'이 공백으로 필터링 되는 것을 볼 수 있다. 127.0.0.1 ; cat /etc/passwd -> 127.0.0.1 cat /etc/passwd로 실행 - 다른 특수문자를 이용해서 명령 실행 High 127.0.0.1에 대한 응답은 하지만 medium에서 했던 명령어가 먹히지 않는다. - view-source를 보면 특수문자 필터링이 늘어났다. 하지만 "| "기호에서 뒤에 공백이 생겨 공격자가 그 틈을 노려 "|" 뒤에 공백 없이 바로 명령을 내리면 공격을 수행할 수 있다. - view help에서 보면 이건 의도한 것으로 개발자의 실수에 의한 취약점을 노.. 더보기