Advertisement
smeacham

HTP - Parameter Manipulation

Dec 17th, 2013
334
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
HTML 5 7.15 KB | None | 0 0
  1.  <!--
  2.  
  3. Taken from http://liverecordingreview.googlecode.com/svn/tags/version-0.1/web/admin.jsp
  4.  
  5. See if you can spot the parameter manipulation. Bonus points for finding
  6. the HTTP response splitting!
  7. -->
  8.  
  9. <%@ page
  10.     import="com.joshdrummond.liverecordingreview.BootlegBean,
  11.                 java.util.List"%>
  12. <%
  13.   String strClientIP = request.getRemoteAddr();
  14.   System.out.println(strClientIP);
  15.   if (!strClientIP.equals("192.168.1.1"))
  16.   {
  17.      out.write("ACCESS DENIED");
  18.   }
  19.   else
  20.   {
  21.   String status = "";
  22.   boolean showMain = true;
  23.   if (request.getParameter("admin_type") != null)
  24.   {
  25.      String admintype = request.getParameter("admin_type");
  26.      System.out.println("admintype="+admintype);
  27.      if ("1".equals(admintype))
  28.      {
  29.         if (BootlegBean.addBootleg(request.getParameter("cat_id"),
  30.            request.getParameter("type"), request.getParameter("desc"),
  31.            request.getParameter("source"), request.getParameter("info")))
  32.         {
  33.            status="success!";
  34.         }
  35.         else
  36.         {
  37.            status = "FAILED";
  38.         }
  39.      }
  40.      else if ("2".equals(admintype))
  41.      {
  42.         if (BootlegBean.recalculateBootlegScore(request.getParameter("rec_id")))
  43.         {
  44.            status="success!";
  45.         }
  46.         else
  47.         {
  48.            status = "FAILED";
  49.         }
  50.      }
  51.      else if ("3".equals(admintype))
  52.      {
  53.         response.sendRedirect("admin.jsp?admin_type=5&rec_id="+request.getParameter("rec_id"));
  54.      }
  55.      else if ("4".equals(admintype))
  56.      {
  57.         if (BootlegBean.modifyBootleg(request.getParameter("rec_id"),
  58.            request.getParameter("cat_id"), request.getParameter("type"),
  59.            request.getParameter("desc"), request.getParameter("source"),
  60.            request.getParameter("info")))
  61.         {
  62.            status="success!";
  63.         }
  64.         else
  65.         {
  66.            status = "FAILED";
  67.         }
  68.      }
  69.      else if ("5".equals(admintype))
  70.      {
  71.         showMain = false;
  72.         String recId = request.getParameter("rec_id");
  73.         System.out.println("rec_id="+recId);
  74.         if (recId == null)
  75.         {
  76.            response.sendRedirect("admin.jsp");
  77.         }
  78.         else
  79.         {
  80.            List recording = BootlegBean.getBootleg(recId);
  81.            if (recording.size() != 1)
  82.            {
  83.               response.sendRedirect("admin.jsp");
  84.            }
  85.            else
  86.            {
  87.               recording = (List)recording.get(0);
  88.               String catId = (String)recording.get(1);
  89.               String recType = (String)recording.get(3);
  90.               String recDesc = (String)recording.get(4);
  91.               String recSource = (String)recording.get(5);
  92.               String recInfo = (String)recording.get(6);
  93. ////// MODIFY RECORDING INFO PAGE
  94. %>
  95. <%@ include file="header.inc"%>
  96.  
  97. <h3>Admin Page</h3>
  98. <br>
  99. <br>
  100. <table bgcolor=#FFB5E7 width=70% border=1>
  101.     <tr>
  102.         <td align=left><b>Modify Recording - Garbage</b></td>
  103.     </tr>
  104.     <tr>
  105.         <td>
  106.         <form action="admin.jsp" method=post><input type=hidden
  107.             name=admin_type value=4> <input type=hidden name=rec_id
  108.             value=<%=recId%>>
  109.         <table border=0>
  110.             <tr>
  111.                 <td>Category:</td>
  112.                 <td><select name=cat_id>
  113.                     <%
  114.                                                     List cats = BootlegBean.getCategories("1"); //fixme Garbage band_id
  115.                                                     for (int i = 0; i < cats.size(); i++)
  116.                                                     {
  117.                                                         List row = (List) cats.get(i);
  118.                                                         String cId = (String) row.get(0);
  119.                                                         String cDesc = (String) row.get(1);
  120.                                                         String selected = cId.equals(catId) ? "selected"
  121.                                                                 : "";
  122.                     %>
  123.                     <option value="<%=cId%>" selected=<%=selected%>><%=cDesc%></option>
  124.                     <%
  125.                     }
  126.                     %>
  127.                 </select></td>
  128.             </tr>
  129.             <tr>
  130.                 <td>Type:</td>
  131.                 <td><select name=type>
  132.                     <option value="A" <%="A".equals(recType) ? "selected" : ""%>>Audio</option>
  133.                     <option value="V" <%="V".equals(recType) ? "selected" : ""%>>Video</option>
  134.                 </select></td>
  135.             </tr>
  136.             <tr>
  137.                 <td>Description:</td>
  138.                 <td><input type=text name=desc size=50 value="<%=recDesc%>"></td>
  139.             </tr>
  140.             <tr>
  141.                 <td>Source:</td>
  142.                 <td><input type=text name=source size=50 value="<%=recSource%>"></td>
  143.             </tr>
  144.             <tr>
  145.                 <td>Info:</td>
  146.                 <td><textarea name=info rows=8 cols=50><%=recInfo%></textarea></td>
  147.             </tr>
  148.             <tr>
  149.                 <td colspan=2 align=center><input type=submit name=submit
  150.                     value=Submit></td>
  151.             </tr>
  152.         </table>
  153.         </form>
  154.         </td>
  155.     </tr>
  156. </table>
  157.  
  158. <%@ include file="footer.inc"%>
  159.  
  160. <%
  161.                        }
  162.                        }
  163.                    }
  164.                }
  165.  
  166.                if (showMain)
  167.                {
  168.                    ///////////// DEFAULT ADMIN PAGE
  169. %>
  170. <%@ include file="header.inc"%>
  171.  
  172. <h3>Admin Page</h3>
  173. <%=status%>
  174. <br>
  175. <br>
  176. <table bgcolor=#FFB5E7 width=70% border=1>
  177.     <tr>
  178.         <td align=left><b>Add Recording - Garbage</b></td>
  179.     </tr>
  180.     <tr>
  181.         <td>
  182.         <form action="admin.jsp" method=post><input type=hidden
  183.             name=admin_type value=1>
  184.         <table border=0>
  185.             <tr>
  186.                 <td>Category:</td>
  187.                 <td><select name=cat_id>
  188.                     <%
  189.                                         List cats = BootlegBean.getCategories("1"); //fixme Garbage band_id
  190.                                         for (int i = 0; i < cats.size(); i++)
  191.                                         {
  192.                                             List row = (List) cats.get(i);
  193.                     %>
  194.                     <option value="<%=(String)row.get(0)%>"><%=(String) row.get(1)%></option>
  195.                     <%
  196.                     }
  197.                     %>
  198.                 </select></td>
  199.             </tr>
  200.             <tr>
  201.                 <td>Type:</td>
  202.                 <td><select name=type>
  203.                     <option value="A">Audio</option>
  204.                     <option value="V">Video</option>
  205.                 </select></td>
  206.             </tr>
  207.             <tr>
  208.                 <td>Description:</td>
  209.                 <td><input type=text name=desc size=50></td>
  210.             </tr>
  211.             <tr>
  212.                 <td>Source:</td>
  213.                 <td><input type=text name=source size=50></td>
  214.             </tr>
  215.             <tr>
  216.                 <td>Info:</td>
  217.                 <td><textarea name=info rows=8 cols=50></textarea></td>
  218.             </tr>
  219.             <tr>
  220.                 <td colspan=2 align=center><input type=submit name=submit
  221.                     value=Submit></td>
  222.             </tr>
  223.         </table>
  224.         </form>
  225.         </td>
  226.     </tr>
  227. </table>
  228. <br>
  229. <br>
  230. <table bgcolor=#FFB5E7 width=70% border=1>
  231.     <tr>
  232.         <td align=left><b>Modify Recording - Garbage</b></td>
  233.     </tr>
  234.     <tr>
  235.         <td>
  236.         <form action="admin.jsp" method=post><input type=hidden
  237.             name=admin_type value=3> RecordingId: <input type=text
  238.             name=rec_id size=10>&nbsp;&nbsp;&nbsp;<input type=submit
  239.             name=submit value=Submit></form>
  240.         </td>
  241.     </tr>
  242. </table>
  243. <br>
  244. <br>
  245. <table bgcolor=#FFB5E7 width=70% border=1>
  246.     <tr>
  247.         <td align=left><b>Recalculate Recording Score</b></td>
  248.     </tr>
  249.     <tr>
  250.         <td>
  251.         <form action="admin.jsp" method=post><input type=hidden
  252.             name=admin_type value=2> RecordingId: <input type=text
  253.             name=rec_id size=10>&nbsp;&nbsp;&nbsp;<input type=submit
  254.             name=submit value=Submit></form>
  255.         </td>
  256.     </tr>
  257. </table>
  258.  
  259. <%@ include file="footer.inc"%>
  260.  
  261. <%
  262.            }
  263.            }
  264. %>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement