실습 환경
VM_Window7 ( WebGoat-5.4 )
General 탭 (HTTP Basics, HTTP Splitting)
1) HTTP Basics (실습에 앞서 paros가 제대로 동작 하는지 등 확인)
Paros에 잡히는 모습을 볼 수 있다.
2) HTTP Splitting
CWE-113
개념 : HTTP Request에 있는 파라미터가 HTTP Response의 응답헤더로 다시 전달되는 경우 파라미터 내 개행문자 CR 혹은 LF가
존재하면 HTTP응답이 분리될 수 있다. HTTP 응답 분할 (HTTP Response Splitting)공격은 이러한 취약점을 통해 응답 메시지에
악의적인 코드를 주입함으로써 XSS 및 캐시를 훼손하는 취약점이다.
| 의미 | WINDOWS | UNIX/LINUX |
Carriage Return (%0d) | 커서의 위치를 줄의 맨 처음 자리로 옮기라는 의미 | 사용 | 미사용 |
Line Feed (%0a) | 커서를 다음 줄로 넘기라는 의미 | 사용 | 사용 |
문제 해석 : 언어 선택 시스템으로 개행문자를 이용한 공격으로 200 OK라는 문자를 출력하는 것이 목적이다.
[실습]
아래 문장을 encoding 하여 서버로 전달합니다.
en Content-Length: 0
HTTP/1.1 200 OK Content-Type: text/html Content-Length: 31 <html>Hacking!</html> |
인코딩 사이트 : http://yehg.net/encoding/
인코딩시 주의사항!
Text FX 드롭다운 항목에서 from %0A to %0d%0A 클릭!!
WebGoat 사이트로 돌아와 Search by country 항목에 붙여넣고 Search!
1단계 클리어!
2단계로 cache poisoning을 진행하라고 나온다.
솔루션에는 다음과 같이 나와 있다.
Last Modified 시간을 미래값으로 주면 된다고 한다.
위에서 사용된 구문에 한줄을 추가하여 인코딩 합니다.
en Content-Length: 0
HTTP/1.1 200 OK Content-Type: text/html Last-Modified: Fri, 16 Mar 2018 00:00:00 GMT Content-Length: 31 <html>Hacking!</html> |
1단계와 마찬가지로 인코딩한 구문을 넣고 Search!를 눌러주면 아래 사진과 같이 축하한다는 문구가 나옵니다.
'모의해킹' 카테고리의 다른 글
모의해킹의 기초 정보 수집 (Gathering) (0) | 2018.12.03 |
---|---|
WebGoat 문제풀이 - 2. Ajax Security - LAB: DOM-Based Cross Site Scripting (0) | 2018.11.21 |
로그인 페이지에 대한 인증 우회 간단 실습 (0) | 2018.11.20 |
MySQL DB 공격을 통한 데이터베이스 정보 추출 (0) | 2018.11.02 |