보상이 걸린 질문
질문에 답변을 달고 보상을 받아가세요!
<script nonce={{ nonce }}>
window.addEventListener("load", function() {
var name_elem = document.getElementById("name");
name_elem.innerHTML = ${location.hash.slice(1)} is my name !;
});
</script>
<script id="name"></script>
위 코드는 질문하기 쉽게 문제와 유사하게 만든 코드입니다.
위 코드에서 nonce를 가진 script(CSP에 의해 신뢰된 스크립트)를 A라 두고
id=name 인 script(CSP에 의해 신뢰되지 않은 스크립트)를 B라 지칭하겠습니다.
A 스크립트는 nonce를 가지고 있어 CSP에 의해 허용된 스크립트입니다. 하지만 B 스크립트는 CSP의 화이트리스트를 통과하지 못해 차단 되어야 합니다.
A 스크립트가 B 스크립트의 내용을 InnerHTML을 통해 수정하였을 때 B스크립트에 내용을 넣어줍니다. HTML Standard 명세에 따라 내용이 비어있어서 실행되지 않았던 script는 요소가 변형되면 실행된다는 것은 알 수 있었습니다. 하지만 수정된 B 스크립트의 코드가 실행된다 하여도 CSP를 통과하는 것은 다른 문제입니다.
관련 명세나 문서를 아무리 찾아봐도 Strict Dynamic은 신뢰된 스크립트가 동적으로 생성하거나 로드한 script만 허용한다는 말 밖에 없습니다.
위 경우는 동적으로 생성한 것도 아니고, 로드한 것도 아닌, 기존의 B스크립트의 내용만을 생성했을 뿐이며, B스크립트를 따로 호출하지도 않습니다. 그렇다면 A가 삽입한 코드이지만 B스크립트 내에서 실행 될텐데 신뢰 전파의 영향을 받는 정확한 이유가 궁급합니다.
해당 문제 메커니즘은 대부분 이해했는데 헷갈리는 부분이 있습니다.
더블프리를 해서 청크의 next부분을 stdout (library내의 IOstdout을 가르키는 포인터)로 덮고 alloc을 두번 해주면 library 주소가 leak된다고 하였는데,
stdout이 library영역을 가르킨다면, 청크가 할당 될 때 청크의 위치가 library 영역이 되는거고 그 청크를 프린트하면 나오는건 library 영역에 써져있는 코드여야 하는거 아닌가요?
tcache_entry구조에서 next에 들어가 있는 주소는 다음 할당할 청크의 주소일텐데, 그 청크의 주소가 libary 영역이라고 해도 우리가 프린트할 수 있는 data섹션에 담긴 값은 주소가 아닌 그저 stdoutIO를 이루는 코드인 것 아닌가요?
커뮤니티 최신글
🚗 [취업률 80% 이상] 새싹 AI 자율주행 실무 완성 교육생 모집!
[0]
1016
정보보안학과 학생 해외취업 질문 드립니다~
[0]
1072
[Microsoft] MS 사이버 시큐리티 스쿨
[0]
1314
[KISA] 실전형 사이버훈련장 침해사고 대응 훈련 4월 과정 모집 ❗
[0]
3417
내배카없이 매월 80만원 교육지원금? S-개발자 3기 2차 교육생 모집!
[0]
2710
보안 직군에 취업하려면 어떤 것이 중요한가요?
[1]
2854
[KISA] 실전형 사이버훈련장 침해사고 대응 훈련 3월 과정 모집 ❗
[0]
2495
나에게 맞는 해킹 분야는 어떻게 찾을까요? (대표적인 해킹 분야, 성향별 추천)
[0]
304
💬 친구들이랑 드림핵 계정 하나를 공유해도 되나요? - 구독 관련 질문 답변 모음
[0]
351
드림핵 구독 무료 vs 유료, 뭐가 좋을까요?
[0]
381
👾 옵치 솜브라 해킹, 현실에서도 가능한걸까? ☠️아빠 썬글라스 뿌세쓰!
[0]
417
🏆 공식 한국인 첫 Pwnie Awards 수상자가, 드림핵으로 해킹을 시작했다고!?
[1]
678
💻 해킹 부트캠프가 좋아요? 학원이 좋아요? (나에게 맞는 학습 플랫폼은?)
[0]
892
🕹 5가지 실수만 피하고 이세계 만렙 해커가 되었다 (해킹 공부할 때 많이 하는 실수, 해결하는 방법)
[0]
884
🐟🍞붕세권보다 좋은 것은? “드림핵CTF세권” <CTF S7 #23>
[0]
86
🎄 𝟑𝟐𝒕𝒉 𝑯𝒂𝒄𝒌𝒊𝒏𝒈𝑪𝒂𝒎𝒑 🎄 All I want for 해킹캠프 is You~ 🎵☠️
[0]
79
🚀 UPSide Academy 4기 모집 개시 🚀
[0]
82
😺 CAT-Security 정보보안 컨퍼런스 HOLYSHIELD 2025 개최 🎤
[0]
150
아시아재단-마이크로소프트 Skills2Work Seoul 참가 고등학생 모집
[0]
92
[청년취업사관학교 서초캠퍼스] LLM Agent를 활용한 서비스 기획 및 제작 과정 교육생 모집
[0]
113
네 앞에 서있는 건 천 년 이상 CTF한 해커야 <CTF S7 #22>
[0]
397
