Beebox[HTML Injection - Reflected (URL)]
❓ 반사 : 입력한 내용을 페이지에 띄우는 것!
1. LOW
(1) 입력
현재 URL을 보여주고 있네요.
여기에 스크립트를 적용해 볼게요.
URL의 파라미터입력하는 부분에
스크립트를 넣으면
URL을 보여주는 곳에서 스크립트를 실행한 후 보여주겠죠❓
스크립트에서 출력한 쿠키는 PHPSESSID와 security level 2개가 있네요❗
참고로 HOST필드에는 구지 호스트를 작성하지 않아도 요청을 하더라고요❓
이번에 알게 되었는데 그냥 확인용인 것 같습니다.
그래서 저 부분에 호스트를 지우고 태그를 넣어보았죠❗❗
과연❗❗ 쿠키에 태그가 적용된 후 출력이 될지..❓
(2) 공격
<h1>태그도 정상적으로 실행되고 쿠키2개도 출력된 것을 확인할 수 있네요!!
2. Medium
(1) 소스코드 확인
Low와 동일하게 입력해보았지만 실행이 되지 않네요
document.URL을 출력해주고 있네요.
php에서 "#"은 주석으로 처리되지만 뒤에 있는 html코드는 실행됩니다❗❗
<h1>te<?php #echo "abcd"?>st</h1>
▶ <h1>test</h1>가 실행됨❗❗
그래서 공격을 해보겠습니다.
(2) 공격
http://172.17.234.101/bWAPP/htmli_current_url.php#<h1><script>document.write(document.cookie)</script>
위와 같이 입력한다면 서버에서
#뒤에 있는 것도 출력을 시켜줍니다.
아, 그리고 크롬에서는 URL에 스크립트 입력하는 것을 막아놓았으니
인터넷 익스플로러에서 실행했습니다
3. HIGH
(1) 대응방안
htmlspecialchars함수는
", ', &, <, >을 UTF-8로 변환해요.
'Wargame > BeeBox' 카테고리의 다른 글
Beebox[OS Command Injection] (0) | 2021.03.29 |
---|---|
Beebox[iFrame Injection] (0) | 2021.03.29 |
Beebox[HTML Injection - Stored (Blog)] (0) | 2021.03.29 |
Beebox[HTML Injection - Reflected (POST)] (0) | 2021.03.27 |
Beebox[HTML Injection - Reflected (GET)] (0) | 2021.03.27 |
댓글