[PortSwigger] Excessive trust in client-side controls

Lightweight 133t leather jacket을 사면 된다.

shop에 들어가자마자 보인다.

add to cart를 눌러서 장바구니에 추가했다.

장바구니에 잘 담겨있다.

바로 flex 할려 그랬는데 login을 먼저 하라 그런다.

 

문제에서 알려준 아이디, 비번으로 로그인했더니 돈이 $100밖에 없다.. 큰일이네

당연히 돈이 부족하니 주문을 할 수 없다;;

혹시 html의 가격 표시만 바꿔도 되나 싶어서 바꿔봤지만 당연히 안됐다 ㅎㅎ;;

당연히 표시만 해주고 있는 것이니 이건 쓸데 없는 짓이다.

 

다른 방법을 찾던 중, burp suite라는 툴을 써야한다는 것을 알아냈다.

burp suite의 사용법은 위의 블로그를 참고하였다.

 

burp suite를 이용하여 method가 Post인 http request를 확인했다. 이는 서버로 데이터를 보내주는 것으로 보내준 것으로 이해할 수 있다.

맨 아래의 가격이 133700으로 되어있다. 이를 1300으로 바꿔보았다.

 

Proxy 창에서는 바로 바꾸지 못하고, Repeater 창으로 보내야 값을 바꿀 수 있다.

 

Repeater 창에서 값을 바꿨다.

성공적으로 값이 바뀐 것을 확인할 수 있었다! (상품을 하나만 담았더니 계속 quantity에서 에러가 나길래 하나 더 담고 했더니, 값을 바꾸고 난 후 3개가 되어 있었다.)

 

해결! 서버 측에서 클라이언트 측으로 보내주는 request인 post에 body 부분에는 값에 대한 정보가 적혀있고, 이를 133700에서 1300으로 바꾸고 다시 보내줌으로써 마치 서버에서 1300으로 보낸 것처럼 했기에 클라이언트 입장에서는 바로 구매할 수 있었다!

 

댓글 달기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

위로 스크롤