[난이도 하]
이번 페이지는 계좌이체 기능을 제공한다. 현재 계좌의 돈이 1000 EUR이다. CSRF 취약점을 이용해서 계좌에 있는 돈을 수정해보자. GET 방식이기에 account와 amount 변수를 노출하고 있다. 악성 img 태그를 만들어 htmli_stored 페이지에 올려보자.
<img src="http://192.168.56.102/bWAPP/csrf_2.php?account=152-48624-42&amount=-100&action=transfer" width="0" height="0">
악성 img 태그를 삽입해 주었다. -값을 넣어줌으로써 계좌의 돈이 증가할 것이다. 이제 계좌의 돈을 확인해보자.
계좌의 금액이 100유로가 증가하였다.
그리고 게시판 페이지에 사용자가 방문할 때마다 100유로가 증가하고 있는것을 볼 수 있다. 이 금액을 이제 다른 계좌로 강제 이체 시켜보자.
<img src="http://192.168.56.102/bWAPP/csrf_2.php?account=111-11111-11&amount=6000&action=transfer" width="0" height="0"> 코드를 이용, 111-11111-11 계좌에 6000 유로를 강제 이체시키고 계좌의 남은 잔액을 보니 -4300이 된 것을 확인할 수 있다.
[대응방안]
난이도 중 이상부터는 token값을 이용하기 때문에 계좌에 들어있는 금액과 관련한 변수가 드러나지 않는것을 볼 수 있다.
계좌 이체는 생성한 토큰이 일치할 때만 가능한데, 중복된 토큰을 사용하지 못하므로 계좌번호를 변경할 수 없다.
그러나 high 레벨도 이체할 금액에 마이너스값은 입력할 수 있기 때문에 입력값을 필터링하여 금액이 더 늘어나지 않도록 방어해야한다.
값에 -600을 넣었더니 계좌 금액이 증가한 것을 볼 수 있다.
'3. 웹 애플리케이션 취약점 진단 > 비박스를 활용한 웹 애플리케이션 취약점 진단' 카테고리의 다른 글
[비박스를 활용한 웹 취약점 진단] 13-1. 알려진 취약점이 있는 컴포넌트 사용 [쉘 쇼크 취약점] (0) | 2023.12.14 |
---|---|
[비박스를 활용한 웹 취약점 진단] 13. 알려진 취약점이 있는 컴포넌트 사용 [PHP CGI 원격 실행 공격] (0) | 2023.12.14 |
[비박스를 활용한 웹 취약점 진단] 12-1. 크로스 사이트 요청 변조(CSRF) [Change Secret] (0) | 2023.12.14 |
[비박스를 활용한 웹 취약점 진단] 11-5. 기능 수준의 접근 통제 누락 [XML 외부 엔티티 공격] (0) | 2023.12.14 |
[비박스를 활용한 웹 취약점 진단] 12. 크로스 사이트 요청 변조(CSRF) [Change Password] (0) | 2023.12.14 |