DongDD's IT

Browser에서 POST 방식 전송 본문

기타

Browser에서 POST 방식 전송

DongDD 2017. 8. 31. 15:30

Browser에서 POST 방식 전송


webhacking.kr 33번 문제를 풀다 보면 post방식 전송을 사용해야 될 때가 있다.

(webhacking.kr 33번 문제의 일부 해답이 되어있음)

burp suite를 사용하여 문제를 해결했지만 다른 tool이 없는 사람이나 사용하지 않고 풀때 사용할 수 있는 방법이다.



크롬에서 F12(개발자 도구)를 키고 Network란에 들어가면

Request헤더에 따른 Response헤더를 볼 수 있다.

이 문제에서는 GET방식으로 되있는데 새로 수정해 Request를 보낼 수 있다.



개발자 도구에 있는 Console로 들어가

변수명=new XMLHttpRequest()로 객체를 만들어 준다.

XMLHttpRequest()는 Request 헤더를 수정할 수 있게 해주는 class라고 보면 된다.




먼저 open함수를 이용해 GET방식을 쓸 지 POST방식을 쓸 지 정해줄 수 있다.

open(전송 방식, url, sync)

세번째 인자는 동기식으로 할지 비동기식으로 할지 결정하는 true,false를 입력해 주면된다.




그리고나서 POST방식을 쓸 때 헤더에 필요한 정보를 입력해준다.

Content-Type:application/x-www-form-urlencoded를 넣어줘야 한다.


setRequestHeader함수를 이용하여 첫 번째 인자는 header 속성, 두 번째 인자는 header에 넣어줄 

값을 입력해주면 된다.



마지막으로 send함수를 이용해 POST방식에 쓰일, 즉 body에 넣어줄 값을 인자로 넘겨주면 된다.

post라는 변수에 "hehe"를 넣어주고 post2라는 변수에 "hehe2"를 넣어서 Request를 보낸다고 생각하면 된다.




그 다음에 다시 Network창으로 돌아가보면 새로운 Request가 추가된 걸 볼 수 있고

눌러보면 POST방식으로 Request가 간 것을 확인할 수 있다.




이에 대한 Response를 보면 제대로 Request가 갔다는 것을 알 수 있다.






Comments