知识点:
1、数据请求方式-GET&POST&COOKIE等
2、常见功能点请求方式-用户登录&IP记录等
3、黑盒白盒注入测试要点-SQLMAP注入参数
补充点:
黑盒测试:功能点分析
白盒测试:功能点分析&关键代码追踪
1.数据库注入    - access mysql mssql oracle mongodb postgresql等
2.数据类型注入 - 数字型 字符型 搜索型 加密型(base64 json)等
3.提交方式注入 - get post cookie http头等
4.查询方式注入 - 查询 增加 删除 更新 堆叠等
5.复杂注入利用 - 二次注入 dnslog注入 绕过bypass等
➢GET&POST&COOKIE&SERVER
➢实例黑盒-后台表单登陆框-POST注入
➢实例白盒-ESPCMS-商品购买-COOKIE注入
➢实例白盒-ZZCMS-IP记录功能-HTTP头XFF注入
部分语言接受代码块
功能阐释
数据提交/接收方式的决定因素:
三种交互式
  1.后台记录操作访问IP
      代码获取访问者的IP地址      => 获取到的IP地址是否会记录到数据库当中?         => 是,进行IP地址替换,自定义IP地址 => 进行SQL注入(和数据库有联系)(如果插入可以直接执行,就是一个sql注入)
  2.网站要根据用户的访问设备给予显示页面
      页面随访问设备不同而变更,提高用户体验。     注入存在:将网站使用者的UA传入数据库进行比对,符合SQL注入的条件
  3.网站要进行文件上传,用户登录POST
      文件上传可大可小,如果采用get请求则不满足(文件数据长度过大)     注入点:用户登录,接受账户密码,进行数据库查询和对比。
   | 
 
各部分代码接受数据的方式
PHP接受数据的方式:     <?php     header("Content-Type: text/html; charset=utf-8");
      
           $get=$_GET['g'];     $post=$_POST['p'];     $cookie=$_COOKIE['c'];     $request=$_REQUEST['r'];
 
           $host=$_SERVER['HTTP_HOST'];          $user_agent=$_SERVER["HTTP_USER_AGENT"];          $ip=$_SERVER["HTTP_X_FORWARDED_FOR"];   
      echo $get."<hr>";     echo $post."<hr>";     echo $cookie."<hr>";     echo $request."<hr>";     echo $host."<hr>";     echo $user_agent."<hr>";     echo $ip;     ?>
  JS接受数据的方式:     Java Spring  不同框架,不同写法          method=RequestMethod.GET:指定 HTTP GET 请求方法。     method=RequestMethod.POST:指定 HTTP POST 请求方法。     request.getParameter("参数名"):(都接受)获取传递给当前请求的查询参数或表单数据中指定键的值。         在 Spring 框架中,可以使用 @RequestParam("参数名") 注解来实现同样的效果。              可以直接获取get请求的参数key对应的value                                        也可以从请求体中获取参数的key对应的value
  Python接受web数据的方式     Python flask 不同框架,不同写法     requests.get(url):发送 HTTP GET 请求到指定的 URL。     requests.post(url, data):发送 HTTP POST 请求到指定的 URL,其中包含指定的数据。     request.args.get(key):获取传递给当前请求的查询参数(query parameter)中指定键的值。     request.form.get(key):获取传递给当前请求的表单数据(form data)中指定键的值。     request.values.get(key):(都接受)获取传递给当前请求的所有参数(不论是查询参数还是表单数据)中指定键的值。如果同一键名既出现在查询参数中又出现在表单数据中,则以表单数据中的值为准。
 
  无参数不代表无法注入 黑盒测试:看功能看特性,猜测数据请求的方式进行分析 判断POST注入点     1.抓包:BP抓包     2.看功能点:用户登录基本为POST
      行为记录:IP地址记录等--都是实战得出的
  白盒测试:      根据login.php源代码猜测到登录时需要对IP进行认证,     可以使用XFF进行伪造         => 重点页面,重点判断逻辑+重点函数方法分析
 
   |