일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |
- kbdinteractiveauthentication
- 해킹
- 네트워크문제
- bandit level 11 -> level 12 문제풀이
- 네트워크이론정리
- 공부기록
- web hacking
- 데이터와 로직
- 취약점진단
- overthewire 문제
- 보안
- overthewire bandit 문제풀이
- 혼공네트
- bandit level
- AWS
- 네트워크정리
- 정보보안
- 포인터와 배열
- sk루키즈
- overthewire bandit 문제
- 티스토리챌린지
- 오블완
- overthewire bandit level 0
- bandit 비밀번호
- 객체지향
- bandit 문제풀이
- Dreamhack
- 혼자공부하는네트워크
- sk shieldus rookies 23기
- 함수와 디버깅
- Today
- Total
아임노드
주요 취약점_XSS(Cross-Site Scripting) 본문
XSS : 웹사이트에 악성 스크립트를 삽입해 사용자 브라우저에서 실행되게 하는 공격
* 이후 사용할 스크립트를 이용했을 때 공격이 안되면 우회가 거의 불가능하다고 볼 수 있다.
1. dvwa XSS(Stored) (low)로 이동
2. 입력길이 제한으로 입력 길이 풀기
f12 > 아래 사진처럼 게시판 글자 부분에서 마우스 우클릭 > 검사(Inspect)
글자 제한이 10개로 되어 있음 확인
100글자로 넉넉하게 수정하기
또는 다른 방법
burpsuite에서 패킷 잡아서 해당 부분에 강제로 데이터 넣기
2. 스크립트 넣기
- <script>alert('1')</script>
게시판에 넣기
(이때 식별가능한 문자 넣기. 여기서는 'name test')
> sign Gestbook 클릭
3. 내가 넣은 소스코드가 잘 들어갔는지 확인
view source 또는 해당 부분에서 Inspect
4. message 부분도 동일하게 test
Medium에서는 <script> 구문을 필터링하므로
-> 대소문자 구분하는지, 이중으로 입력해도 필터되는지 확인해보기
> 이번엔 burpsuite에 넣어보기
> 소스코드 확인
> alert만 다시 소문자로 바꿔서 확인해보기
> 위와 같이 하면 팝업 뜸
-> 이로써 알 수 있는 것 : alert은 대소문자 구분(소문자 일때만 실행)
-> script의 경우 name 부분은 구분 안되어 실행, message는 구분되어 필터됨)
5. 이중 입력 확인
-> 예상 시나리오 : <srcipt>가 필터되면서 <sc + ript> 가 합쳐져 실행
위와 동일하게 테스트하기
> 팝업 실행 안됨 확인
-> 소스코드를 확인해보면 뒤에 <script>는 평문으로 그냥 실행됨
> 따라서 다시 수정
> 다시 테스트 해본다.
> 앞 전 (테스트)스크립트 때문에 안될 수 있는데 그럴 경우 정상적인 데이터 입력 후 다시 테스트 한다.
그 외 테스트 해볼 수 있는 다른 코드 목록
mXSS(Mutant, 변종) 코드
<svg><style><a alt="</style><img src=x onerror=alert(1)>">
<style><a alt="</style><img src=x onerror=alert(1)>">
<form><math><mtext></form><form><mglyph><style></math><img src onerror=alert(1)>
보안입장에서 시큐어코딩을 직접 작성하여 유지보수하는 것은 해당 역할이 아니지만
시큐어 코딩이 필요하다면 이렇게 GPT에게 작성을 요청할 수 있음
'[SK shieldus Rookies 23기] 공부 노트 > 취약점 진단 도구 및 활용법' 카테고리의 다른 글
주요 취약점_Blind SQL Injection (0) | 2025.01.08 |
---|---|
취약점 진단 도구_SQLMAP (1) | 2025.01.03 |
실무 환경에서의 주요 취약점_SQL Injection (1) | 2024.12.17 |
실무 환경에서의 주요 취약점_File Upload (1) | 2024.12.16 |
실무 환경에서의 주요 취약점_File Inclusion (1) | 2024.12.12 |