0

저는 JS 프로그래머가 아닙니다. 나는 그것을 스스로 테스트 할 수있는 충분한 기술이 없기 때문에 도움을 청한다. shadow_root 요소에 스크립트 또는 HTML 태그를 삽입하여 웹에서 구멍을 확인할 수 있습니까?그림자 루트를 통한 위장 주입

<content>를 사용하여 같은 다른 어쩌면 뭔가 예를 <script>alert("alert");</script>를 들어

?

주요 질문 : 가능한가요?

추가 질문 : 어떻게?

+0

콘텐츠를 삽입 할 수있는 방법은 수천 가지가 있습니다 ... 성취하려는 내용에 대해 자세히 알려주십시오. – Salketer

+0

"* 웹의 구멍을 확인하는 *"은 무엇을 의미합니까? – Bergi

+0

@Salketer 예를 들어 말했듯이. shadow_root 아래에있는 요소에 코드를 넣을 수 있는지 확인하려고합니다. 코드는 다른 일반 텍스트 필드에서와 같이 실행됩니다. Like : 비보호 텍스트 필드가 있습니다. 거기에 JS 스크립트가 있습니다. ur 코드에 구멍이 있습니다. 텍스트 필드 요소가 섀도우 루트 DOM 아래에있는 경우 동일한 작업을 수행 할 수 있습니까? – MrDSLow

답변

1

의견에서 무엇을 파헤칠 수 있는지에 따라 사용자가 웹 사이트 페이지에 코드를 삽입 할 수 있는지 알고 싶습니다. 대답은 예입니다. 사용자는 DOM 앞에있는 모든 권리를 가지고 있습니다. 쉬운 방법은 좋아하는 브라우저의 개발자 도구를 열면됩니다.

은 자신 ..., 여기에 개발자의 도구 창을 열고 콘솔에 도달하고 당신이 볼 수 있듯이

document.write("<script>alert(\"alert\");</script>"); 

쓰기, 당신에 유래에도 직접 아무것도 변경할 수 있습니다 마십시오. 그러나 그것은 다른 사람에게 전혀 해를 끼치 지 않습니다. 당신이 그것을 할 수있는 동안은 그것이 전혀 안전하지 않다는 것을 의미합니다! 브라우저가 수신 한 내용을 완벽하게 제어 할 수 있습니다 ...

이제는 그러한 주입이 해를 끼칠 수있는 응용 프로그램에서 가능한 지점을 어떻게 검색 할 수 있습니까?

대답은 간단하며 클라이언트 입력을 신뢰하지 않습니다. 서버는 항상 입력을 검증하고 데이터베이스 삽입이 가능한지 확인해야합니다. 사용자가 제공 한 콘텐츠를 표시 할 때 웹 페이지를 보는 사용자의 브라우저에서 실행되는 숨겨진 코드 태그가 없는지 확인해야합니다.

StackOverflow는 이러한 종류의 지식 공유에 적합하지 않습니다. 일반적으로 웹 사이트 보안에 대해 읽은 다음 기술 스택과 관련된 심층적 인 리소스와 사용자 입력 내용에 대해 자세히 알아볼 것을 권합니다.

또한 실제 작업에 대해이 질문을하면 주어진 것입니다. 가장 중요한 일은 관리자에게 작업에 적합하지 않다는 것입니다. 재능이 부족하기 때문이 아니라 지식이 부족하기 때문입니다. 이것은 당신이 업무를 매우 중요하게 생각하는만큼 똑똑하고 (보안은 매우 중요 함) 회사의 평판을 가지고 노는 것을 기꺼이하지 않는다는 것을 보여줍니다.

상급자에게 가장 잘 설명하는 방법을 알고 싶다면 workplace.stackexchange.com을 참조하십시오.

+0

네, DOM이나 브라우저 콘솔을 통해 어떤 결과도 바꿀 수 있다는 것을 알고 있습니다. 내 말은 물론 서버에 대한 영향입니다. 예를 들어 데이터를 얻거나 바이러스 성 스크립트를 실행하십시오. 답변 해 주셔서 감사합니다. 그리고 링크에서 흥미로운 독서 : D 조 – MrDSLow