자가진단 사이트 분석 [2] _ PoC 코드 작성

2020. 9. 27. 19:43분석/교육청 자가진단

PoC 코드는 아래 깃허브에서 볼 수 있습니다.

https://github.com/eduro-hcs/PoC

 

eduro-hcs/PoC

자가진단 웹페이지, Proof of concept. Contribute to eduro-hcs/PoC development by creating an account on GitHub.

github.com

로그인(계정 정보)가 없는 상태로 웹에 들어가게 되면, 이름, 생년월일과 학교 선택하는 창이 나옵니다.

 

여기서 submit하게 되면 loginwithschool에 xhr 요청을 보냅니다. 여기에 앞으로 Authorization 헤더에 사용될 JWT 토큰이 담겨있습니다.

 

그리고, 비밀번호 입력창으로 넘어갑니다. (이미 계정을 생성했다는 가정 하에)

비밀번호를 치면 secondlogin 요청을 보내게 되는데 비밀번호 일치 여부만 알려주게 됩니다.

 

selectGroupList에는 등록된 계정의 정보들이 나옵니다. 각 계정의 JWT 토큰이 담겨있고, 선택한 계정의 JWT 토큰이 다시 Authorization 헤더의 값이 됩니다.


RSA Encryption

자가진단 사이트에서 사용하는 RSA 암호화 모듈은 JSEncrypt인데, 그냥 node.js로 포팅해둔게 있길래 바로 가져다 박았습니다.

publicKey는 자가진단 사이트 static js에 그냥 박혀있길래 가져와서 넣었습니다.

Github: rsa_encrypt.js