inflearn logo
강의

講義

知識共有

模擬ハッキング実務者が知らせる、XSS攻撃技法

[ミッション]掲示板の脆弱性を探す&サンプルプール

게시판 취약점 찾기 속 미션2) 질문

解決済みの質問

99

kc937

投稿した質問数 5

0

example5.php에서 test를 입력하고 소스코드를 확인해봤더니

image.png

 

서버가 웹 페이지를 구성해 줘서 reflected가 가능하다는 사실을 얻었습니다. 그리고 사용자의 입력값이 script 태그 안에 있다는 것을 알고 ");alert(1);//나 ");{alert(1);}// 시도했는데 처리가 되지 않았습니다. 다른 이벤트 핸들러를 사용해 보니 if문이 실행되는 걸 보니 문자로 취급하는 것 같은데 힌트 좀 주실 수 있나요?

그리고 미션1) board에서 게시글을 검색하는 부분에 test를 입력하니깐
<input type="text" class="form-control" placeholder="Keyword Input" name="keyword" value="test">

이렇게 사용자의 값이 들어가더라고요. 계속해서 시도하다가 실패해서 ai한테 하소연을 했는데 event를 삽입해서 시도하라는 말을 듣고 시도했는데 성공했어요.

그러면 event는 꺽쇠 문자 안에 전부 들어갈 수 있는건가요? 특정 태그에만 들어갈 수 있었던게 아니었나요?

모의해킹 xss

回答 2

0

crehacktive

접근이 괜찮습니다. 조금더 하심될 것 같은데요 ㅎㅎ 문법을 준수해야 한다고 생각하시고 쪼금더 고민 해보심 좋을 것 같습니다.

 

그리고 이벤트헨들러는 태그마다 적용 가능한 종류가 다르고, 동작하는 방식도 태그의 특성에 따라 달라집니다. 해당 태그에 사용될 수 있는 이벤트헨들러를 사용해야 되는거죠.

1

kc937

답변 감사합니다.

1

kc937

오늘 성공했습니다. 다만 어디에 문법을 준수해야 하는지 몰라서 인공지능에게 힌트를 좀 얻은 것이 마음에 걸리네요...

image.png

앞으로도 열심히 공부해야겠습니다.

0

communityai8509

안녕하세요, 인프런 AI 인턴입니다.

김찬혁님, example5.php에서 보여주신 코드와 웹 페이지의 동작을 택하셨을 때 JavaScript 코드 주입을 시도하셨군요. 하지만 원하는 결과를 얻지 못하신 것 같습니다.

Reflected XSS는 사용자 입력이 서버를 통해 반사되어 웹 페이지에 표시될 때 발생합니다. 이 경우 입력값이 JavaScript 맥락에 직접 삽입되어 경계가 명확하지 않으면 문법적으로 올바른 JavaScript 코드를 삽입할 수도 있습니다. 그러나 입력 값이 문자열 맥락에만 제한되어 있고, escape 처리가 없는 경우에는 일반적인 ‘“);{alert(1);}//’ 등의 테크닉이 발동되지 않을 수도 있습니다.

조금 더 복잡한 상황에 접근하기 위해 다음과 같은 단계를 고려해보세요:

  1. 이벤트 핸들러 변경: 예를 들어, onload, onclick과 같은 이벤트 핸들러를 이용해 우회 가능성을 모색할 수 있습니다.

  2. 문자열 조작: 코드에서는 입력을 그대로 문자열로 처리하고 있는 것으로 보입니다. 문자열 조작을 이용해 본래의 if 구문을 깨뜨리지 않고 JavaScript 구문을 탈출할 수 있는지 시험해볼 수 있습니다.

  3. 다양한 패턴 시도: 모든 상황에서 ‘alert’가 최선의 방법은 아닐 수 있다. 콘솔 로그나 다른 DOM 조작 방법을 사용하여 데이터 유출을 시도할 수도 있습니다.

관련 질문이나 더 많은 테스트를 원하시면, 다음의 게시물을 참고해 더 깊이 들어가시면 좋겠습니다:
- Reflected XSS 를 이용한 세션 탈취 공격 - 게시물
- DOM-Based XSS 의 기본과 실습 - 게시물

여러 시도와 실험이 필요할 수 있는 영역이므로, 다양한 방법들을 시도해보시길 권장드립니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

iam 권한

0

15

1

받을 수도 없는 수업 자료들이 올라와 있고, 이것들 때문에 강의를 수료할 수도 없습니다.

0

14

1

침해사고 샘플분석 첫번째 파일 다운로드 불가

0

28

1

인터넷 연결은 되는데 구글 검색은 안돼요.

0

28

1

저는 왜 xss 실행이 안될까요?

1

70

2

주의사항 1

1

75

2

왜 후위 처리 방식을 사용하나요?

0

71

2

mysql 환경 변수 설정 마지막 단계

0

85

1

Reflected XSS 를 이용한 세션 탈취 공격

0

464

2

비트나미 설치 전에 APM같은거 설치되신 분들은

0

323

1

board 접속시 에러가 납니다

1

377

1

검증 로직에 따른 각종 우회 기법

1

425

2

궁금한점이 있어 질문 남깁니다!

1

305

2

Board 관련 문의

1

377

1

board 오류

0

353

1

mysql 대신 mariadb폴더

0

384

1

wampstack 폴더안에 Mysql 폴더가 설치되어 있지 않습니다.

1

464

2

가상 환경 및 실습 예제 환경 세팅 때문에 안되서 힘드네요

1

507

2

강의 교재

1

577

4

섹션 4. 공격상세방법론 - [미션] 게시판 취약점 찾기 풀이 검토 및 개인적인 질문

1

622

1

board 화면에 아무런 정보가 뜨지 않습니다.

2

662

1

DOM과 Reflected XSS 차이

3

1627

1

common.php수정

1

522

1

board 화면에서 500에러가 뜹니다.

1

682

1