공격 실습)
low에서 했던 공격을 시도했더니 막혔다.
- view-source를 보니 파일에 문자 http://와 https://가 있으면 공백으로 대체시켜 문자열 검증을 하고 있다.
그리고 ../와 ..\ 특수문자를 필터링해서 path Traversal 공격을 막는것으로 보인다.
- http://를 공백으로 바꾸기 때문에 http://안에 http://를 넣으면 [http:/"http://"/] --> [http:/""/]로 없어지기 때문에 우회해서 공격을 할 수 있다.
- 특수문자 필터링은 ../를 공백으로 만들기 때문에 ....//처럼 만들면 .."../"/ 쌍따옴표안의 값이 없어지므로 ../가 되어 우회할 수 있다.
high
fnmatch 함수는 파일 이름 패턴 매칭을 위해 사용되며 주어진 파일이름과 패턴을 비교하여 일치 여부를 true, false로 반환한다.
fnmatch(파일 이름, 패턴)
파일이름 : 비교할 파일 이름
패턴 : 파일 이름에 대응시킬 패턴으로 와일드카드(*, ?)를 포함할 수 있다.
- file이름이 file*로 시작하는지 검사한다. file이거나 파일이 include.php가 아니면 에러를 출력하므로 page=file로 하고 뒤에 공격 문자를 넣으면 된다.
IMPOSSIBLE
- 보안 대책 보기
- view-source를 보면 파일이름이 정확히 include.php, file1.php, file2.php, file3.php인지 검증하고 아니면 에러를 출력한다. 파일을 하나하나 지정해줘서 사용자가 파일명을 모르면 접근 불가하다.
이때는 어떻게 뚫어야 하지..
'해킹과 보안 동향 > DVWA' 카테고리의 다른 글
dvwa. CAPTCHA 공격 #6-1(low) (0) | 2023.05.27 |
---|---|
dvwa. 파일 업로드 공격 #5-1(low) (0) | 2023.05.26 |
dvwa. 파일 인클루션 #4-1 (low) (0) | 2023.05.26 |
dvwa. CSRF #3-1(low) (0) | 2023.05.23 |
dvwa. 커맨드 인젝션 #2-2(medium, high, impossible코드 분석) (0) | 2023.05.23 |