▲ ci4/app/Views/login.php(csrf)
http://ci4.geumsol.kr/auth/login 접속 후, 우클릭 → 페이지 소스 보기
▲ login.php 소스 - CSRF 토큰 자동 생성됨
▲ 나를 알리는 토큰값 생성(저 값이 들어와야 패스워드를 바꿀 수 있음)
(low.php → auth/mypage.php)
▲ auth.php 수정 내용
▲ AutoAttack.py 수정
※ 외부에서 비밀번호 변경 가능 (비밀번호만 변경 가능 기능)
▲ auth.php와 AutoAttack.py 수정 (비밀번호 변경 시 새 비밀번호 확인 추가)
▲ AutoAttack.py 실행 화면
▲ test.php
▲ AutoAttack.py
▲ AutoAttack.py
HTTP_REFERER: 이전 페이지 주소 (예: http://geumsol.kr/auth/mypage.php)
PHP stripos 함수로 대소문자 구분 없이 문자열 포함 여부 검사
- !== false : 있다면
▲ auth.php referer 체크 코드
▲ referer를 보내면 다시 공격 성공 (AutoAttack.py)
→ 우리 페이지에 세션 토큰 검사 기능 적용하여 비밀번호 변경 시 토큰이 있어야만 처리하도록 방어 구현 완료