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 |