[하루한줄] CVE-2020-24550 : Open redirect in Episerver Find
URL
Target
Episerver Find < 13.2.6
Explain
Episerver Find는 컨텐츠 관리, e-commerce, 자동 마케팅 등의 기능이 포함된 검색엔진 플랫폼입니다. Episerver Find 13.2.6 이전 버전에서 발생하는 Open redirect 취약점(CVE-2020-24550)의 세부 정보가 공개되었습니다.
Episerver Find는 _t_redirect
파라미터로 untrusted input을 redirect 함수에 전달합니다. 따라서 해커는 해당 파라미터를 통해 사용자를 임의의 URL로 redirect 할 수 있습니다.
[HttpGet]
public HttpResponseMessage Index(
[FromUri(Name = "_t_id")] string id,
[FromUri(Name = "_t_q")] string query,
[FromUri(Name = "_t_hit.id")] string hitId,
[FromUri(Name = "_t_redirect")] string redirect
[FromUri(Name = "_t_hit.pos")] int? hitPos = null,
[FromUri(Name = "_t_tags")] string tags = ""
)
{
this.PostTrackData(id, query, hitId, hitPos, tags);
HttpResponseMessage response = HttpRequestMessageExtentions.CreateResponse(this.get_Request(), HttpStatusCode.MovedPermanently);
response.Headers.Location = new Uri(redirect);
return response;
}
EPiServer.Find.UI.Controllers.ClickController.Index()
메소드의 코드입니다. _t_redirect
파라미터의 값이 Location header인 301 redirect reponse를 리턴합니다.
PoC
http://{vulnerable}/find_v2/_click?_t_id=&_t_q=&_t_hit.id=&_t_redirect=https:/hackyboiz.github.io
본 글은 CC BY-SA 4.0 라이선스로 배포됩니다. 공유 또는 변경 시 반드시 출처를 남겨주시기 바랍니다.