웹 취약점 & 웹 모의 해킹
- 보통 실무에서는 웹 모의 해킹 보다는 웹 취약점 점검을 많이 한다.
- OWASP Top 10 : 취약점 Best 10
- 보안상 영향을 크게 줄 수 있는 것들 10가지를 선정하여 3년 주기로 발표
OWASP Top 10
*A01*
. Broken Access Control (엑세스 제어)
- 주어진 권한을 벗어나 모든 데이터를 무단으로 열람, 수정, 삭제 하는 공격
- 보통 파라미터에 사용자의 인증 정보를 넣어서 문제가 발생함
*A02*
. Cryptographic Failures (암호화 오류)
- 데이터 저장 및 송신 과정에서 적절한 암호화가 이루어지지 않으면 민감 데이터가 노출될 수 있다.
- 같은 문자에 대해 Hash화 시키면 같은 Hash값이 나오는데, sort를 쳐서 같은 문자더라도 매번 다른 값이 나오도록
*A03*
. Injection (인젝션)
- SQL, OS, XXE, LDAp 등의 인젝션 취약점
- 악의적인 데이터로 인해 예상하지 못한 명령을 실행하거나 권한 상관없이 데이터에 접근할 수 있음
- 다양한 도구를 이용하여 일부 막을 수 있음
- Blind SQL Injection
*A04*
. Insecure Design
- 모델링, 보안 설계의 중요성을 강조하고 시큐어 코딩 점검 등 안전한 코드 작성을 위해 문화 및 방법론을 묻는 카테고리
*A05*
. Security Misconfiguration (보안 구성 오류)
- Default로 사용되는 보안 정보이 노출되었을 때 발생
- LG U+ - 관리자 비밀번호가 Admin 이였다.
*A06*
. Vulnerable and Outdated Components (취약하고 오래된 요소)
- 지원이 종료되었거나 오래된 버전을 사용할 때 발생합니다.
- 애플리케이션, DBMS, API 등 모든 요소들 대상
*A07*
. Identification and Authentication Failures (식별 및 인증 오류)
- 사람들이 다 같은 아이디, 비밀번호를 사용한다는 점에서 시작
- 크리덴셜 스터핑
*A08
. Software and Data Integrity Failures (소프트웨어 및 데이터 무결성 오류)*
- 무결성을 확인하지 않고 소프트웨어 업데이트 중요 데이터 및 CI/CD 파이프라인과 관련된 가정을 하는데 중점을 둠
- 애플리케이션 Build 될 때 악의적인 코드를 삽입하여 Build
- Suppliing Chain 공격과 연결
*A09*
. Security Logging and Monitoring Failures (보안 로깅 및 모니터링 오류)
- 적절한 로깅 및 모니터링이 이루어지지 않는다면 의심스러운 활동이 언제 일어났는지 확인하기가 어려워 사고 대응에 취약할 수 있음
*A10*
. Server-Side Request Forgery (SSRF, 서버측 요청 위조)
- 웹 애플리케이션이 사용자가 제공한 URL의 유효성을 검사하지 않고 원격 리소스를 가져올 때마다 발생함
- 응용 프로그램이 조작된 요청을 예기치 않는 대상으로 보내도록 강제할 수 있음
PortsSwigger
- 코드를 잘 짜야한다. IP는 어차피 변경할 수 있으니까.