해킹과 보안 동향/DVWA 썸네일형 리스트형 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.. 더보기 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에서 보면 이건 의도한 것으로 개발자의 실수에 의한 취약점을 노.. 더보기 dvwa. 브루트 포스 공격 #1-1(medium) - 브루트포스 공격 medium low에서 풀었던 아이디, 패스워드로 로그인하면 로그인된다. 난이도랑 상관없이 id, pw 모두 같다. 그리고 임의의 id, pw를 넣어 실패 반응을 보니 약간 느리게 결과가 나와서 view-source를 보니 sleep(2)초가 걸려 low단계보단 보안을 해놓은 상태였다. - 브루트포스 공격 high high에서는 로그인 실패를 반응을 확인하기 위해 임의의 값을 넣었더니 csrf 토큰값이 일치해야 로그인 되는 형태였다. 토큰값이 어딨는지 확인하기 위해 크롬 개발자모드에서 hidden 값을 지운 결과 csrf 값을 넣는 폼이 나왔다. 그리고 view-source를 보니 sleep값도 0~3으로 랜덤하게 설정하여 보안 수준을 높였다. [sleep이 2로 고정하면 2초일 때만.. 더보기 dvwa. 커맨드인젝션 공격#2-1(low) 커맨드 인젝션 공격(command injection)이란? : 말그대로 취약한 운영체제에서 임의의 명령을 실행하는 공격이다. - 주로 웹 응용 프로그램이 사용자 입력을 받아 서버에서 실행되는 명령어에 대한 검증 없이 직접 실행하는 경우 발생하며 시스템 명령을 실행하거나 시스템의 제어권을 획득할 수 있다. 커맨드 인젝션 공격이 발생 가능한 상황 입력에서 필터링이나 검증이 없을 때 취약한 명령어 문자열 조립 : 웹 응용 프로그램에서 명령어 문자열을 사용자 입력과 결합하여 실행하는 경우, 입력값을 적절하게 이스케이프하지 않고 그대로 사용할 경우 공격자는 입력에 악의적인 명령어를 포함시켜 실행될 수 있다. 에러 메시지 노출 : 웹 응용 프로그램에서 명령어 실행 시 발생하는 에러 메시지를 화면에 노출하는 경우, .. 더보기 dvwa. 브루트포스 공격 #1-1[low] 브루트 포스 공격이란? : [브루트 포스 공격 = 무차별 암호 대입 공격] 패스워드를 뚫을 만한 모든 경우의 수를 시도해 해킹을 하는 공격이다. - 0000부터 9999까지 입력이 가능하며 0001 ~ 9999까지 전부 패스워드에 대입한다. - 무식하게 모두 대입하기 때문에 패스워드가 짧으면 금방 풀 수 있지만 8자리 알파벳, 대소문자와 숫자를 섞으면 약 62^8 (약 218,340,105,584,896) 가지를 시도해야 하기 때문에 몇 년까지 걸린다. 패스워드 크래킹 공격 종류 사전 공격(dictionary attack) : 사전에 있는 단어 목록을 사용하여 패스워드 해킹을 시도하는 방법으로 비밀번호로 자주 쓰이는 문자열들을 대입하기도 한다. ex) 0000, 1234, qwerty 등.. 키로거 : .. 더보기 dvwa 구축 칼리 리눅스, xampp, dvwa 더보기 이전 1 2 다음