저번 포스팅에서는 인증 / 인가 취약점에 대응하여 웹 시큐어 코딩을 해보았다.
인증 / 인가 취약점 방어하기 : [모의해킹_실습] - 웹 시큐어 코딩 : 인증 및 인가
이번 포스팅에서는 마지막으로 디렉토리 및 시스템 운영정보 노출 취약점을 막아보자!
① Directory 노출 취약점
Directory 노출의 경우, 그 자체로는 심각한 피해를 주진 않을 수 있지만, directory 구조나 파일명을 노출시킴으로써 2차 피해를 일으킬 수 있다. Apache 설정 파일을 수정해서, 디렉토리가 노출되지 않도록 하자.
Apache 설정 파일은 우분투의 경우 apache2.conf 파일을 찾을 수 있다.
find / -name apache2.conf 2>/dev/null
/etc/apache2/apache2.conf 경로에 존재한다.
여기서 Directory Options의 Indexes를 지워주었다.
적용을 위해 서버를 껐다가 재시작해주자.
sudo service apache2 stop
sudo service apache2 restart
성공적으로 Forbidden이 뜬다!!
② 시스템 운영정보 노출
Apache의 버전 정보 등이 뜬다. 시스템 운영정보가 노출될 경우, 침투 테스트(Penetration Testing)를 통한 악의적인 접근이 가능하므로, 노출을 방지해야 한다. (버전 정보만 알아도 원격 쉘 접속 등이 가능한 경우가 있다.)
설정 파일에 ServerTokens Prod, ServerSignature Off를 추가해준 후 다시 서버를 껐다 켰다.
성공적으로 운영정보를 제거했다!
개발 초기에 에러 메시지가 뜨도록 세팅을 바꿨었는데, 그 부분도 다시 off로 바꿔주면 에러 메시지를 통한 DB 정보 노출 등도 막을 수 있다. ([모의해킹_실습] - Php로 웹 개발하기 : 로그인(2) - MySQL 연동 Error)
처음에 연동이 잘 안 되는데 에러 메시지도 안 떠서 굉장히 고생했던 기억이 있는데, 이제 웹 시큐어 코딩 단계까지 진행하고 마무리로 에러 메시지 출력을 끄니 기분이 묘하다.
약 5개월 간 PHP 개발을 하면서 웹 해킹 주요 취약점을 공부했는데, 이제 다른 취약점도 하나둘씩 공부해보고, 더 나아가 침투 테스트와 모바일 앱 해킹도 공부해볼 것이다! 해킹 공부 시즌1 마무~의리!
'WEB HACKING > 웹 해킹[실습]' 카테고리의 다른 글
Burp Suite 프록시 설정 및 인증서 설치 (0) | 2022.06.26 |
---|---|
웹 시큐어 코딩 : 인증 및 인가 (0) | 2022.03.05 |
웹 시큐어 코딩 : 파일 업로드 & 다운로드 (0) | 2022.02.24 |
웹 시큐어 코딩 : XSS(Cross-Site Scripting) (0) | 2022.02.21 |
웹 시큐어 코딩 : SQL Injection (0) | 2022.02.20 |
댓글