본문 바로가기
카테고리 없음

접근 제어 취약점 [ 첫 번째 실습 ]

by 할 수 있다 ! 2024. 6. 16.

안녕하세요 ! 

 

블로그 이웃님들 오늘은 접근 제어 취약점 파라미터 변조에 실습한 자료들을 업로드 하려고 합니다. 

 

접근 제어 취약점 

 

1. 보호되지 않는 관리자 기능 

 

보호되지 않은 관리자 패널이 있는데 사용자를 삭제해서 실습을 해결해야 하는 실습입니다. ( carlos ) 

 

 

  1. 실습실로 이동하여 실습 URL에 robots.txt추가하여 확인하세요. /robots.txt이 Disallow줄은 관리자 패널의 경로를 공개합니다.
  2. URL 표시줄에서 /robots.txt로 바꿔서 /administrator-panel관리 패널을 로드하세요. 
  3. 삭제 carlos.

 

 

 

 

메인 홈페이지 접속. 

 

 

 

URL 뒷편에 admin 붙여서 한번 검색을 해줍니다. 

 

 

 

파일이 없다고 뜨네요. 

 

 

robots.txt 를 뒷편에다가 붙여서 검색하니까

/administrator-panel

 

이렇게 확인할 수 있습니다. 

 

 

 

관리자 페이지로 접속을 했습니다. 

 

 

 

 

 

칼리를 삭제하면 해결이 완료했다고 뜹니다. 

 

 

 

 

 

2. 예측할 수 없는 URL을 사용한 보호되지 않은 관리 기능

 

이번 실습에서는 보호되지 않은 관리자 패널이 있습니다. 예측할 수 없는 위치에 위치해 있는데 그 위치는 애플리케이션 어딘가에 공개되어 있다고 합니다. 관리자 패널에 액세스 하고 이를 사용하여 사용자를 삭제하여 실습을 해결하세요. ( carlos )

 

 

해결책. 

 

  1. Burp Suite 또는 웹 브라우저의 개발자 도구를 사용하여 연구실 홈 페이지의 소스를 검토하세요.
  2. 여기에는 관리자 패널의 URL을 공개하는 일부 JavaScript가 포함되어 있습니다.
  3. 관리자 패널을 로드하고 삭제합니다 carlos.

 

 

 

메인 화면에 접속합니다. 

 

 

 

robots.txt 를 붙여서 한번 검색을 해봅니다. 

 

 

 

파일이 없다고 뜨네요. 

 

 

 

 

파일이 없어서 다시 돌아와서 페이지 소스를 확인해봅니다. 

 

 

 

/admin-u5e6e6 뒷편에다가 붙여줍니다. 

 

 

 

 

 

관리자 사이트에 접속한 것을 확인할 수 있습니다. 

 

 

 

 

 

칼로스를 삭제하니까 바로 클리어 한 것을 확인할 수 있습니다. 

 

 

 

 

3. 요청 매개변수로 제어되는 사용자 역할

 

세 번째 실습에서는 요청 매개변수로 제어되는 사용자 역할 실습을 해보도록 하겠습니다. 

/admin 이 실습에는 위조 가능한 쿠키를 사용하여 관리자를 식별 관리 패널이 있습니다. 

관리자 패널에 액세스 하고 이것을 사용해서 사용자를 삭제하여 실습을 해결하세요. ( carlos )

 

실습 로그인 계정  wiener:peter 

 

 

해결책 

 

  1. /admin관리자 패널에 액세스할 수 없는지 찾아보고 확인하세요.
  2. 로그인 페이지로 이동합니다.
  3. Burp Proxy에서 차단을 켜고 응답 차단을 활성화합니다.
  4. 로그인 페이지를 완료하여 제출하고 결과 요청을 Burp로 전달하세요.
  5. 응답이 쿠키를 설정하는지 확인하세요 Admin=false. 로 변경하세요 Admin=true.
  6. 관리자 패널을 로드하고 삭제합니다 carlos.

 

 

 

 

 

 

메인 화면에 접속을 합니다. 

 

 

 

 

 

 

/admin 을 뒷편에다가 붙여서 검색합니다.

 

 

 

 

관리자 인터페이스는 관리자로 로그인한 경우에만 사용할 수 있습니다. 라고 뜨네요. 

 

 

 

 

 

그러면 로그인을 합니다. 

 

 

 

로그인을 한 상태에서 /admin 을 붙여서 검색해봅니다. 

 

 

 

다시 로그인 화면으로 돌아온 것을 볼 수 있습니다. 

 

 

 

버프 스위터로 프록시 정보를 받아왔는데 여기서 봐야 할 내용은 Admin 쪽에 false 로 되어 있다는 것 입니다.  액세스를 허용하려면 true 로 바꿔줘야겠죠 ? 

 

 

 

 

true 로 바꿔서 admin 을 입력하면 관리자 사이트로 접속하는 것을 확인할 수 있습니다. 

 

 

 

 

이렇게 되면 admin panel 이 뜬 것을 확인할 수 있습니다. 

 

 

 

 

 

 

 

 

admin panel 이 생겼습니다. 

 

 

 

 

다른 하나의 방법은 개발자 도구를 확인합니다. 

 

 

쿠키 값에 접속을 해서 admin 을 true 로 바꾸어 줘도 admin panel 가 뜨는 것을 확인할 수 있습니다.

 

 

 

 

접속해서 칼로스를 삭제하면 됩니다. 

 

 

 

클리어 한 것을 확인할 수 있습니다.