[+] 개인적인 공부이니 틀린부분 지적 ㄳ
-해당 공격은 GET방식이므로 Burp Suite가 필요없다. 요청 파라매터가 URL에 보이기 때문ㅇㅇ.
-Reflected=반사. 즉, 사용자에게 다시 돌아오게하는 HTML구문 삽입 공격이다.
Low 레벨
1. 페이지와 소스코드
2. 정상적인 값 입력시
-상단의 URL에 입력했던 First Name: revi, Last Name=1337 을 확인가능.
-소스코드에도 입력값이 출력된것을 확인.
3. HTML 구문 삽입
-<script>document.write(document.cookie)</script> 를 삽입.
-출력값에 쿠키가 그대로 적혀져있는것을 확인 가능.
-삽입했던 HTML구문이 그대로 출력된것을 확인 가능.
4. Low레벨 대응방안 보기
-0=Low레벨
-1=Medium레벨
-2=High레벨
Low레벨일때는 no_check로
-아무런 대응을 하지 않는 것을 확인 가능.
Medium 레벨
1. HTML 구문 삽입
-전 단계와 동일하게 HTML구문 삽입했지만. 통하지 않는 것을 확인
- <, > 같은 특수 문자가 치환되어 들어가있는것을 확인
2. 더블 인코딩으로 HTML 구문 삽입
-%3Cscript%3Edocument.write(document.cookie)%3C%2Fscript%3E 삽입
-클라이언트에서 서버로 요청 메시지를 보낼때, 자동으로 인코딩하기 때문에 이것을 이용.
-또한 서버는 클라이언트으로부터 온 메시지를 자동으로 디코딩함.
-정상적으로 쿠키값 확인 가능.
- 값으로 입력한 %3Cscript%3Edocument.write(document.cookie)%3C%2Fscript%3E 와
밑에 URL의 구문이 다른것을 확인할수있다.
-클라이언트의 요청이 서버로 넘어갈때 자동으로 인코딩을 해주어서 그렇다.
즉, 입력값에 인코딩된것을 넣었는데 서버로 넘어가면서 인코딩을 한번 더해줘서 그렇다.
3. Medium레벨 대응방안보기
-특수 < 와 > 를 치환하는것으로 대응하고있다
-파란글씨로 주석이 되어있는 부분을 보면 double encoding으로 우회할수 있다고 나와있다.
-Medium레벨은 urldecode 함수때문에 취약점이 발생한 것이다.
-대략적인 인코딩과 디코딩 순서를 정리해보면
encoding -> 자동encoding -> 자동deocding -> php decoding 순서로 평문스크립트가 클라이언트로 전송되는 것이다.
High 레벨
1. High레벨 대응방안보기
-htmlspecialchars함수로 대응하지만, 이것도 우회가 가능하다고한다. 현재로는 이 함수가 제일 안전하다는 것으로 알고있다. 하지만 지금 내 실력으로는 모르기때문에 pass
'WebHacking > bWAPP' 카테고리의 다른 글
[bWAPP] OS Command Injection (0) | 2021.10.15 |
---|---|
[bWAPP] iFrame Injection (0) | 2021.10.15 |
[bWAPP] HTML Injection - Stored (Blog) (0) | 2021.10.15 |
[bWAPP] HTML Injection - Reflected(URL) (0) | 2021.10.15 |
[bWAPP] HTML Injection - Reflected(POST) (0) | 2021.10.15 |