hacking study/인증, 인가

정보보안 스터디 - 11주차 2일 - 인증인가 취약점 CTF

wonder12 2022. 12. 23. 09:36

글 읽을 수 있는방법

클릭해서 글읽기가 있고

referer없이 그냥 url로 들어가는방법

일반 유저 세션에 대해서 막지 않았기 때문에 글수정으로 들어갈 수도 있습니다.

 

권한이없다고 눈에는 보이지만

사실 burp suite로 보는걸 습관화 해야되고 내용이 보이게 됩니다.

 

 

 

공지사항 글쓰기

관리자 권한으로 글을 쓸 수 있는 공지사항에서

유저한테 글쓰기 기능이 없다면

또한 주석처리로도 버튼이 안보인다면

 

write_post.php라는 페이지가 있을 수 있음을 추측할 수 있습니다.

유저에게 보이지만 않을뿐 안막아 놨을 수도있죠.

보통 세션으로 접근권한이없습니다. 저리가세요!

해야하는데 제대로 막지않고 개발했습니다.

 

들어갈 수 있다고하더라도 서버에서 php소스코드로 유저네임을 admin이 아니라면 글을 쓸 수 없게하거나 세션을 검증하거나 하는 방법으로 막으면 글 동록이 안되게 할 수 있긴합니다.

 

 

 

다음은 많이 익숙했던

클라이언트측 자바스크립트 접근제한(처리)입니다.

intercept로 패킷을 잡아봤을 때 클라이언트측에서 막는 자바스크립트는 기본적으로 취약하고 변조가 가능하다고 보면 됩니다.

 

응답패킷을 잡았을 때 자바스크립트가 보여야되는데 노출시켜놓지 않고

link rel 시켜놨습니다. 하지만 우리에겐 js파일 다운로드를 받을 수 있을 뿐만아니라 변조도 가능합니다.

 

 

자바스크립트를 콘솔로 옮겨서 변조하는 방법도 있고

관리자라면 어디로 가라는지 하이퍼링크 해놨기 때문에 주소로 바로 들어갑니다.

마찬가지로 일반 유저에 대해서 접근권한을 제한해두지 않은 실수를 범했습니다.

 

 

 

자바스크립트 취약점2

역시 마찬가지로 자바스크립트 취약점입니다.

자바스크립트 js 파일을 링크로 연결시켜놨기 때문에 바로는 못 바꿀 것 같습니다.

burp suite로 수정 하기에도 js변경까지 가능할지 모르겠습니다.

admin계정이 아니라서 권한이 없다고 뜨기 때문에

해당 부분 else를 삭제해주고

if부분을 싹다 지워줘서 바로 admin일 경우 응답하는 스크립트 코드를 실행시키도록 합니다.

코드로만 봤을 때는 하이퍼링크 이동시키는 것도 아니고 뭔지는 모르겠지만 인증이 성공했을 경우의 코드를 불러오는 것이기 때문에 실행시켜줍니다.

console로 불러와 적용시켜줍니다.  

 

 

인증, 인가 취약점은

모두 개발에 있어서 실수한 취약점이라고 볼 수 있습니다.