본문 바로가기
Hacking/bWAPP

HTML Injection - Reflected(POST)

by 알거음슴 2021. 6. 3.

HTML Injection - Reflected(POST) by bWAPP

 

HTML Injection - Reflected(POST)

Injection 중 Reflected 방식, HTML의 Body에 악의적인 Data를 포함시켜서 해당명령이 비정상적으로 실행되어 악의적인 공격을 진행하는 방식.

 

1. bWAPP - Reflected(POST) / part 1

역시나 이름을 입력하라고 하니.. 입력해본다

값을 넣으니 "Welcome God good" 이 출력됨을 확인할 수 있다 burp suite 를 통해 HTTP header을 확인해보자.

POST /bWAPP/htmli_post.php HTTP/1.1
Host: 192.168.10.137
Content-Length: 39
Cache-Control: max-age=0
Upgrade-Insecure-Requests: 1
Origin: http://192.168.10.137
Content-Type: application/x-www-form-urlencoded
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.212 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9
Referer: http://192.168.10.137/bWAPP/htmli_post.php
Accept-Encoding: gzip, deflate
Accept-Language: ko-KR,ko;q=0.9,en-US;q=0.8,en;q=0.7
Cookie: PHPSESSID=7d004da25e8a74a4196abc1e650bf6b6; security_level=0
Connection: close

firstname=God&lastname=good&form=submit

이전 Get 방식과는 다르게 body값 안에 내용이 포함되어있음을 확인할 수 있다. 이로써 큰 차이를 알 수 있다.

 * Get : URL을 Injection 하여 악의적인 값을 삽입

 * Post : HTTP body 을 Injection 하여 악의적인 값을 삽입.

위 내용을 기반으로 Injection 공격을 시도해보자.

 

2. bWAPP - Reflected(POST) / part 2

Get 방식과 동일하게 <h1>tag를 활용하여 원치않는 값을 도출

URL값이 변하지 않고 공격이 성공됨을 확인할 수 있다. 이번엔 해당 Web의 php code를 확인해보자.

POST /bWAPP/htmli_post.php HTTP/1.1
Host: 192.168.10.137
Content-Length: 80
Cache-Control: max-age=0
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.212 Safari/537.36
Origin: null
Content-Type: application/x-www-form-urlencoded
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9
Accept-Encoding: gzip, deflate
Accept-Language: ko-KR,ko;q=0.9,en-US;q=0.8,en;q=0.7
Cookie: PHPSESSID=7d004da25e8a74a4196abc1e650bf6b6; security_level=0
Connection: close

firstname=%3Ch1%3Ehello%3C%2Fh1%3E&lastname=%3Ch1%3Eworld%3C%2Fh1%3E&form=submit

역시나  body 값에 <h1>tag로 인해 적용됨을 확인할 수 있다.

 

3. bWAPP - Reflected(POST) / part 3

이번엔 body의 값을 변조하여 POST의 결과를 조정해보자.

우선 burp suite 의 intercept is off 상태로 돌린다. 이후 bbox에 다시한번 정상내용을 삽입해본다.

burp suite 를 통해서 확인된 HTTP 내용을 확인해보자

내용을 변조한 이후 다시한번 on으로 진행하면 결과값이 변경됨을 확인할 수 있다.

정리하자면 POST 방식의 경우 body 의 값에 Injection을 진행하는 공격방법임으로 burp suite 같은 Tool로 중간 패킷을 변조하면 Client의 요청과 다른 값이 전송되는 악용을 발생할 수 있다.

 

'Hacking > bWAPP' 카테고리의 다른 글

SQL-Injection AJAX, Login, Blog   (0) 2021.06.14
SQL Injection - Login Form  (0) 2021.06.14
SQL Injection - GET Select / POST Select  (1) 2021.06.07
HTML Injection - Reflected(GET)  (0) 2021.06.03
Injection  (0) 2021.06.02