看好你的门-攻击服务端(4)-HTTP参数注入攻击

首先需要声明,本文纯属一个毫无远见和真才实学的小小开发人员的愚昧见解,仅供用于web系统安全方面的参考。

1、HTTP参数注入攻击

如果用户提交的参数,被用做后端HTTP请求中的参数,这个时候就有可能会导致HTTP参数注入。
一个自己想出来的烂比方:
一个P2P的转账系统:钱(money),从哪里(from)到哪里去(to).
一个很简单的系统。开发的时候为了复用代码,加了一个判断字符(check),当然,这个判断字符(check)是不会出现在这个P2P的转账系统的文档系统中;

2、一个典型的容易被HTTP参数注入攻击的源代码

httpAddParam.jsp

<%@ page language="java" import="java.util.*,javax.servlet.http.*" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title>看好你的门-阿饭同学</title>
  </head>
  <body>
    你的地址:<%=(String)request.getRemoteAddr()%> <br>
    <%
        String from = (String)request.getParameter("from");
        String money = (String)request.getParameter("money");
        String to = (String)request.getParameter("to");
        String check = (String)request.getParameter("check");
        if (check == null) {
            check = "0";
        }

        if (check.equals("1")){
            out.write("OK,show me the money。"); 
        }else{
            out.write("send money to :" + to);  
        }
     %> <br>

  </body>
</html>

3、 SOAP注入攻击的一个典型案例
按照假设的文档的正常输入:

http://127.0.0.1:8080/webStudy/httpAddParam.jsp?from=andson&to=iris&money=10
显示:
你的地址:127.0.0.1 
send money to :iris

但是check参数被攻击者发现了,于是攻击者加上了check这个参数:

http://127.0.0.1:8080/webStudy/httpAddParam.jsp?from=andson&to=iris&money=10&check=1
显示:
你的地址:127.0.0.1 
OK,show me the money。

HTTP参数注入攻击完成。

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。