보상이 걸린 질문
질문에 답변을 달고 보상을 받아가세요!
<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]
1136
정보보안학과 학생 해외취업 질문 드립니다~
[0]
1183
[Microsoft] MS 사이버 시큐리티 스쿨
[0]
1449
[KISA] 실전형 사이버훈련장 침해사고 대응 훈련 4월 과정 모집 ❗
[0]
3505
내배카없이 매월 80만원 교육지원금? S-개발자 3기 2차 교육생 모집!
[0]
2764
보안 직군에 취업하려면 어떤 것이 중요한가요?
[1]
2935
[KISA] 실전형 사이버훈련장 침해사고 대응 훈련 3월 과정 모집 ❗
[0]
2603
티오리 해커들은 해킹 공부 몇시간씩 했을까요?? - 티오리 해커 24명이 알려주는 해킹 공부 루틴 🎓
[0]
334
나에게 맞는 해킹 분야는 어떻게 찾을까요? (대표적인 해킹 분야, 성향별 추천)
[0]
447
💬 친구들이랑 드림핵 계정 하나를 공유해도 되나요? - 구독 관련 질문 답변 모음
[0]
469
드림핵 구독 무료 vs 유료, 뭐가 좋을까요?
[0]
506
👾 옵치 솜브라 해킹, 현실에서도 가능한걸까? ☠️아빠 썬글라스 뿌세쓰!
[0]
491
🏆 공식 한국인 첫 Pwnie Awards 수상자가, 드림핵으로 해킹을 시작했다고!?
[1]
783
💻 해킹 부트캠프가 좋아요? 학원이 좋아요? (나에게 맞는 학습 플랫폼은?)
[0]
1006
국내 유일 레드팀, CTF 친목서버 "화이트햇 라운지" 홍보!
[0]
98
Microsoft 무료 보안교육 캠프 Skills2Work Seoul 참가 고등학생 모집
[0]
99
[두나무 x 티오리] 업사이드 아카데미 4기 모집
[0]
260
해킹 피해를 포렌식은 찾아내고 악성코드 분석은 분해합니다.
[0]
219
🐟🍞붕세권보다 좋은 것은? “드림핵CTF세권” <CTF S7 #23>
[0]
236
🎄 𝟑𝟐𝒕𝒉 𝑯𝒂𝒄𝒌𝒊𝒏𝒈𝑪𝒂𝒎𝒑 🎄 All I want for 해킹캠프 is You~ 🎵☠️
[0]
246
🚀 UPSide Academy 4기 모집 개시 🚀
[0]
213
