Ssoon

Security Automation for AWS WAF - 3) 공격 테스트 및 방어 (기본) 본문

AWS Hacking & Security Study

Security Automation for AWS WAF - 3) 공격 테스트 및 방어 (기본)

구구달스 2023. 9. 13. 05:03
CloudNet@가시다님이 진행하는 "AWS Hacking & Security Study" 1기 스터디입니다.
# [AWS Workshop Studio] Security Automation for AWS WAF 를 참조하였습니다.

CloudFormation 을 통해 생성된 DVWA 웹 서버를 이용하여 웹 공격 실습


SQL INJECTION 공격 

  • "SQL Injectin" 메뉴를 클릭
  • "User ID" 아래의 SQL 구문을 입력
' OR 1=1 #

  • 여러가지 계정 정보가 출력

Reflected XSS 공격

  • "XSS(Reflected)" 메뉴를 클릭
  • "User ID" 를 입력하는 화면에서 아래의 XSS 코드를 입력
<script>alert(document.cookie)</script>
  • 경고창이 나타나며 경고창에는 쿠키 정보가 포함

  • 경고창의 "OK" 버튼을 클릭하면 아래와 같이 XSS (Reflected)화면에 Hello 라는 문자가 출력

Stored XSS 공격

💠 XSS(Stored) 공격 대상 페이지 확인

  • "XSS(Stored)" 메뉴를 클릭
  • Name 부분에는 admin 을 입력하고 Message 부분에는 hello 를 입력

  • hello 메시지가 등록된 것을 확인

💠 XSS(Stored) 공격

  • Name 부분에는 admin 을 입력하고 Message 부분에는 아래의 XSS 코드를 입력
: <script>alert(document.cookie)</script>

  • 접속한 도메인 정보, 사용자의 쿠키 정보를 포함한 알람창 표시


 SQL INJECTION 공격 방어

AWS WAF 의 AWS 관리형 규칙 을 이용하여 방어

💠 Web ACLs 적용 

  • 해당 리전(서울리전) 에 CloudFormation 으로 생성된 Web ACLs 클릭합니다.

  • 앞서 생성한 ALB 를 연결합니다.

  • 연결된 ALB를 확인합니다.

💠 SQL Injection 공격 방어 확인 

  • DVWA 웹에 접속해서 SQL injection 을 재시도하면 SQL injection 구문이 "403 Forbidden" 메시지와 함께 차단
' OR 1=1 #

💠 Blocked Request 확인 

  • Web ACLs -> Overview -> Sampled requests 에서 WAFSecurityAutomationsSqlInjectionRule 을 선택

  • 개별 Request를 클릭해서 Request의 자세한 정보를 확인

Sensitivity Level for SQL Injection Protection 정책으로 차단 !

XSS 공격 방어

💠 적용한 Rule 테스트

  • DVWA 웹에 접속해서 XSS 공격를 재시도 
  • 이전 과정에서 차단되지 않았던 XSS(Reflected) 구문 역시 "403 Forbidden" 메시지와 함께 차단
<script>alert(document.cookie)</script>

  • XSS(Stored) 구문 역시 "403 Forbidden" 메시지와 함께 차단된 것을 확인
 : <script>alert(document.cookie)</script>

💠 Blocked Request 확인 

  • Web ACLs -> Overview -> Sampled requests 에서 WAFSecurityAutomationsXssRule 을 선택

  • 개별 Request를 클릭해서 Request의 자세한 정보를 확인

 

Comments