30. [16주차]-1 인가 취약점
* 과제
1. 인가 취약점 정리
2. 문제 풀기
1. 인가 취약점 정리
인증: Athentication: 그 사람이 본인이 맞는지 확인하는 작업
인가: Athorization: 특정 권한을 부여하는 것
1.1 인증 취약점 대표 케이스
- 쿠키를 통한 인증
- process 점프
- 회원가입 시 step1.php, step2.php, step3.php 같은 페이지들....
- 파라미터 응답값 변조
- 응답값에 따라 분기해서 보여주는 경우가 많은 모바일앱에서 많이 보임
1.2 인가 취약점 대표 케이스
- 주석으로 접근 제한
- 인가 체크를 클라이언트 측에서 하는 경우
- guessing 공격
- 파라미터 변조
2. 문제 풀기
2.1 authorization 1
로그인을 했더니 위의 화면이 나타났다.
어떻게 할 까 고민하다가 혹시...? 싶어 확인했더니...
발사 버튼의 주석을 해제하고 플래그를 얻을 수 있었다.
2.2 authorization 2
해당 문제는 발사버튼을 클릭하면 goMenu 라는 함수를 호출한다.
해당 함수는 다음과 같으며, php페이지를 직접 호출해도 되고 goMenu('1018', '')을 goMenu('1018', 'admin')으로 고쳐도 된다.
그렇게 플래그를 얻을 수 있었다.
2.3 authorization 3
위 문제가 같은 방식이다. 단지 이번에는 url이 난독화 돼있어서 바로 호출을 하지 못한다,
goMenu('9999', 'admin')으로 수정해서 발사버튼을 클릭해 플래그를 얻을 수 있었다.
2.4 authorization 4
이번에는 게시글을 남겨야 하는 문제이다.
게시글은 하나만 있고 수정하는 것도 없다.
여기서 고민하다가 URL을 보니 notice_read.php로 되어있다.
그렇다면, notice_write.php는 어떨까 싶었다.
게시글을 쓰는 화면이 나타났고 게시글을 쓰고 플래그를 얻을 수 있었다.
2.5 authorization 5
이번에는 공지글을 읽는 문제이다.
확인해보니, 일단 글은 읽을 수 없었다.
그래서 다른 일반 게시글의 수정 기능을 통해 42번 게시글을 읽으려 했다.
처음에는 경고창이 떠서 실패한 줄 알았는데
버프스위트로 보니 내용은 응답받았는데, 스크립트 때문에 못 본것이였다.
아래로 내려보니 플래그를 얻을 수 있었다.
2.6 authorization 6
이번에는 관리자의 정보를 얻는 문제다.
바로 마이페이지로 왔고 확인해보니 URL에서 ID 값으로 마이페이지를 보여주는 건가 싶었다.
해당 값을 admin으로 바꿔봤고 플래그를 얻을 수 있었다.
'보안공부 > 웹 모의해킹 공부' 카테고리의 다른 글
29. [15주차]-1 파일 인클루드 취약점 (0) | 2024.07.27 |
---|---|
28. [14주차]-1 파일 업로드 공격 (0) | 2024.07.20 |
27. [13주차]-1 CSRF 이해-2 (0) | 2024.07.16 |
26. [12주차]-1 CSRF 이해 (0) | 2024.07.06 |
25. [11주차]-1 XSS 문제풀이-2 (0) | 2024.06.29 |