My Hobby^/궁시렁궁시렁

블랙보드 출석체크 변조

ch4rli3kop 2020. 5. 25. 15:45
반응형

블랙보드 출석체크 변조하기

대수학을 너무나도 듣기 싫은 마음에 진도를 빨리 앞당겨버리는 방법을 찾고 싶었다.

동영상을 종료할 때의 동작과 이번에 새로 생긴 학습종료 버튼을 눌렀을 때의 동작이 사용자의 진도를 업데이트하는 부분이라고 생각하여 패킷을 조사해봤다.

TLS 암호화 통신을 지원하지만, 복호화를 통해 살펴볼 수 있었고 다음과 같이 단순 GET 요청으로 서버에게 전송하는 동작을 확인할 수 있었다.

추측컨데, 학습 진도를 서버에서 처리하지 않고 클라이언트에서 계산하여 서버로 전송하면, 해당 값을 그대로 업데이트 하는 것 같다.

이 Request를 변조하면 내 맘대로 내 학습 진도를 땡길 수 있다고 생각하여 다음과 같이 프록시를 통해 변조 작업을 수행해봤다.

현재 수업을 듣지 않아 아래 하단바의 진행 창이 회색인 것을 확인할 수 있다.

동영상 창을 종료했을 때, 다음과 같은 POST Request가 서버로 가는 것을 확인할 수 있는데, currentTime Field가 존재한다. 사실 굳이 할 필요는 없었던거 같지만 혹시 모르니 수정하는 것을 추천한다.

해당 필드 값은 현재 동영상 진행 시간을 초 단위로 변환한 값을 나타내는데, 현재 값은 130.684 = 60X2 + a 로 2분 몇초를 나타낸다. 다음과 같이 20분(20X60 = 1200)으로 변조하였다.

그 다음으로는 GET Request가 전송되는데, 이 요청이 제일 중요하다.

다음의 필드 값들을 변조한다. pe는 percentage를 나타내는 것으로 혹시 몰라서 수정해줬음

해당 요청 뒤에, 다시 동영상을 시청하면 다음과 같이 변조한 시간부터 이어서 볼 수 있다는 메세지가 뜨는데, 확인을 눌러주고 동영상을 다시 종료하면

다음과 같이 영상출석현황에서도 진도가 업데이트된 것을 확인할 수 있따.

 

 

서버에 또 다른 기록이 남는지 몰라서 이 방법에 대한 확신은 못 갖겠는데, 영상 출석 현황 페이지 기준으로 봤을 때는 잘 먹히는 것 같다.

아무튼 비싼 등록금내고 강의 안듣는건 바보니까 출첵이 급할 때만 사용해야지

반응형

'My Hobby^ > 궁시렁궁시렁' 카테고리의 다른 글

좋아하는 것과 사랑하는 것의 차이  (4) 2019.04.14
똥1  (0) 2019.02.25
[Harekaze CTF 2018] 참가후기  (0) 2018.02.12
[CODEGATE 2018] 참가후기  (0) 2018.02.06