Browser에서 POST 방식 전송
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가 갔다는 것을 알 수 있다.