Web/Web vulnerabilities 2

Directory listing 취약점

만약 디렉토리 취약점이 존재한다면 URL에 폴더명만 입력했을 때 위와 같이 login 폴더 아래에 있는 모든 파일들을 볼 수 있다. 즉 Directory listing이란 디렉토리에 접근할 때 디렉토리 하위 폴더와 파일들을 볼 수 있는 취약점이다. 패치 방법은 Indexes 부분을 지우고 설정 파일을 수정했으므로 apache2를 재시작합니다. service apache2 restart 다시 들어가보면 forbidden으로 막혀져있는 것을 확인할 수 있다. 이후 URL에 디렉토리 접근 시 웹사이트에 페이지를 표시할 수 없습니다 또는 forbidden이 나오지 않는다면 Directory listing에 취약한 것이므로 실행 과정은 위와 같다.

SQL Injection 실습

SQL 삽입(SQL Injection)은 응용 프로그램 보안 상의 허점을 의도적으로 이용해, 악의적인 SQL 문을 실행되게 함으로써 데이터베이스를 비정상적으로 조작하는 코드 인젝션 공격 방법이다. SQL Injection 실습을 위해 가상 환경에서 만든 홈페이지에서 웹 취약점인 SQL Injection을 이용해 로그인 해보도록 하겠다. 위와 같이 ' or 1=1#로 로그인이 되는 것을 확인할 수 있고 ' or 1=1# 저 SQL Injection 구문을 해석해보자면 로그인을 하는 과정에서 사용자가 입력한 id와 pw 값이 데이터베이스에 저장된 값과 일치 하는지 조회를 하는데 그 부분이 위 PHP 코드의 select * from members where mem_userid='$id' 부분이다. 이 SQL ..