<보안 study>/웹

동적 폼(form) 만들기

gosoeungduk 2018. 7. 24. 01:04
반응형
javascrirpt 동적 폼(form)은

html을 건드릴 수 없을 때와 같은 상황에서 javascript에 form을 즉석에서 만들어줌으로써 동적으로 데이터 전송을

가능하게 할 수 있다. 

   <script type="text/javascript">

         var form = document.createElement("form"); //태그 만들기 createElement

         form.setAttribute("method", "post");  //태그 method속성 주기 => Post 방식

         form.setAttribute("action", "<주소가 없으면 비우기>"); //태그 action속성 주기 => 요청 보낼 주소

         <form method="post" action=""> 이 만들어졌다.


         var hidden1 = document.createElement("input"); //인풋태그 생성

         hidden1.setAttribute("type", "hidden"); //태그 type속성 주기

         hidden1.setAttribute("name", "name1"); //태그 name속성 주기

         hidden1.setAttribute("value", "name1"); //태그 value속성 주기

         form.appendChild(hidden1); //form 변수(그러니까 form태그)의 자식(child)으로 hidden1을 붙여준다

         <form method="post" action=""> 

          <input type="hidden" name="name1" value="name1">까지 만들어졌다.

          바로 밑의 hidden2는 이것과 같으므로 생략한다. 결과적으로 만들어진 폼의 모양을 생각!


         var hidden2 = document.createElement("input"); 

         hidden2.setAttribute("type", "hidden");

         hidden2.setAttribute("name", "name2");

         hidden2.setAttribute("value", "name2");

         form.appendChild(hidden2);



         document.body.appendChild(form); //body태그의 자식으로 form 태그 붙여주기

         form.submit(); //submit함수로 form전송 submit함수는 추가이해필요

 </script> 


XSS, CSRF와 같은 공격이 가능한 취약점이 있다면 이것은 큰 문제가 될 것이기에 스크립트 태그가 먹히지않도록

htmlspecialchars 와 같은 함수로 보완해야한다.

반응형

'<보안 study> > ' 카테고리의 다른 글

WASM(Web Assembly) 정리  (2) 2021.08.31
CSP(Content-Security-Policy) 정리  (0) 2021.08.23
DreamHack CTF 문제에서 배우는 NOSQL Injection  (0) 2020.09.30