안녕하세요. 크리핵 티브님 미션으로 주셨던 강의 내용 풀이 시도한 내용과 개인적인 질문 내용 드리겠습니다. 미션1) board/index.php에서 XSS 취약점을 최대한 많이 찾아보는 미션 -> 맨 처음에는 black-box test 방식으로 시도했으나 도무지 방법을 찾지 못해서 php 코드를 보고 풀이를 했습니다. -> 붉은 상자로 표시한 부분에 value 값에 XSS 구문을 넣으면 XSS가 가능할 것으로 판단 했습니다. -> 그래서 URL에 vlaue=<script>alert('XSS');</script> 구문을 넣어서 XSS가 잘 동작함을 확인했습니다. -> DOM을 통해 client 단에서 동작하는 것이 아니기 때문에 Reflected-XSS로 판단합니다. [검증] -> burp suite로 XSS를 동작시킬 때 Response부분을 잡아본 것인데 Response에 alert('XSS')가 들어감을 확인할 수 있습니다. [질문1] 위에서 Refelected XSS외에 다른 XSS 취약점을 찾지 못했는데 다른 XSS 취약점도 있는지 궁금합니다. 그리고 제가 아직 모든 강의를 끝까지 들은건 아닌데 혹시 추후 강의 들에서 풀이가 있는지도 궁금합니다. 미션2) xss/eample5.php에서 어떤 XSS가 가능한지, DOM인지 Relfected 인지 한 번 찾아보는 미션 -> 이 역시도 black-box test방식으로 시도했으나 결국 성공하지 못해 php코드를 확인하고 XSS를 시도하였습니다. -> permissionCheck() 함수를 이용해서 XSS 공격을 시도해 봤습니다. -> URL에 ");로 if문을 닫아 버린 다음에 <script>태그를 이용했으나 필터링 코드에 의해 막혔습니다. -> 그래서 필터링 코드를 우회하기 위해 XSS cheat sheet를 이용했습니다. -> 위의 이미지외에 여러 cheat sheet에 있는 코드를 시도했으나 모두 실패했습니다. -> php코드를 보면 DOM XSS와 Relfected XSS모두 가능할 것 같지만 잘 모르겠습니다. [질문 2] 해당 필터링 구문을 우회하려면 어떻게 하는지 궁금합니다. [질문3-개인적인 질문] 현업에서는 black box test방식으로 모의해킹을 진행하게 되면 back-end단에서 돌아가는 코드(ex. php, jsp, asp, Node.js 등)구조를 알 수가 없는데 그러면 그냥 guessing을통해서만 XSS취약점을 점검해야 하는지 궁금합니다. (전제 조건이 file download/upload취약점을 사용하지 않고 XSS를 점검하는 경우를 질문드리는 겁니다.) 감사합니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] save 까지는 잘 되는데 JSP 회원목록을 조회할때 500에러가 뜹니다. members.jsp 코드입니다 bulid.gradle 입니다
퀘이사(Quasar) 완벽 마스터: Vue 프론트 웹을 빠르게 만들고 싶다면! (Based Vue3)
npm run dev를 해도 브라우저 화면에서 안나옵니다. 그러다가 constants.js파일에서 썼던 아래의 소스를 지워보았더니 그럼 또 잘나옵니다. 제가 뭔가 잘못 넣은걸까요??? export default boot(({ app }) => { app.config.globalProperties = 'Hello Quasar!!'; }); 그리고 두번째 질문은 터미널에 npm run dev를 할때마다 http://localhost:9001/#/ , http://localhost:9002/#/,http://localhost:9003/#/ 이렇게 로컬호스트 번호가 증가하는데 제가 run을 계속해서 그런건가요??
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) 예 [질문 내용] 여기에 질문 내용을 남겨주세요. requestParamV4 @RequestParam의 required 기본값이 true라고 말씀해주셨는데 username을 빼고 보내도 오류가 안나서 질문드립니다. @RequestParam이 직접적으로 명시되어 있지않으면 required false가 기본값인 걸까요? http://localhost:8080/request-param-v4?age=20 요청
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 왜 여기서 longest 변수를 사용하는건지 궁금합니다 그냥 cnt 출력하면 안되는건가요?
window.addEventListener('load' ... 중략sceneInfo[0].objs.context.drawImage(sceneInfo[0].objs.videoImages[0], 0, 0); 안녕하세요. 작업하다 이상해서, 강의자료도 같이 확인해보니 중간에 새로고침시 videoImages의 첫 이미지가 잠시 뜨는데, 아마 위의 코드 때문이 아닌가 합니다. 저 부분은 첫 scene의 장면임에도 불구하고, 뜬다는 것은 찰나이긴 하지만, 첫영역부터 순간적으로 중간으로 이동하면서 나타나는 현상같기도 한데, 이게 컴퓨터의 성능차이일수도 있다는 생각이 들기도 합니다. 저만 이런건지 모르겠습니다만.. 저 코드를 제거하고 중간에서 새로고침해보니 안보여서 문제가 없지만, 최상단 첫화면에서 새로고침하면 이미지가 안보이니 또 문제더군요. 그래서 위 코드를 제거후, 새로고침시 조금 스크롤되는 코드에서 추가 조건문(else)를 붙여서 아래와 같이 수정해보았습니다. if (tempYOffset > 0) { let siId = setInterval(() => { scrollTo(0, tempYOffset); tempYOffset += 5; if (tempScrollCount > 20) { clearInterval(siId); } tempScrollCount++; }, 20); } else { sceneInfo[0].objs.context.drawImage(sceneInfo[0].objs.videoImages[0], 0, 0); } 이렇게 처리하니 문제가 없는 듯 한데, 이게 저한테만 생기는 문제인지, 아니라면 제가 위와 같이 처리한 방법이 맞는것인지 궁금합니다.
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예 [질문 내용] localhost:8080/hello-static.html에서 한글이 깨져서 출력됩니다. 인코딩 관련된 질문에서 달아주신 글 모두 확인 후 전부 변경했는데 해결이 되지 않습니다..