zoukankan      html  css  js  c++  java
  • Pikachu-SQL注入之数字型注入和字符型注入

    开始我们的实验

    数字型注入                  

    发现有一个下拉框,随便选一个查询,,并没有在url里面去传参,可以发现是用post(表单)方式提交的

     

    根据上图yy一下后台的逻辑:

    $id = $_POST['id']

    select 字段1,字段2 from 表名 where id = $id  

    正常情况下这里的$id值为(1~6),我们换成 1 or 1=1通过返回来看看后台会不会把这个逻辑去执行。

    POST的请求我们需要抓包来测试,因为输入框只有一个可选择的表单,没法直接构造语句

    在输入框选择id,浏览器设置代理,提交,抓包,为了方便发送给Repeater模块

    根据刚才的逻辑,payload为:

    可以发现除啦id=1的其他id也都返回出来啦

    字符型注入                      

    随便输入下,发现请求是通过url提交的,是一个get请求。

     

    根据上图返回yy下后台的逻辑

    $uname=$_GET['kobe']

    select 字段1,字段2 from 表名 where username='kobe';(在后台数据库中字符串kobe不打单引号会报错的)

    构建payload

    如果这个 kobe or 1=1  这样会报错的,因为会变成这样,select 字段1,字段2 from 表名 where username='kobe or 1=1'

    会被单引号处理掉,这个整体会被当做字符串,,而这个字符串在后台是不存在的。我们需要构造闭合,构造合法的SQL语句

    kobe' or 1=1#'  kobe' 把后台username前面的单引号闭合掉,#'或者--  '    把后台username后面的单引号闭合掉

    如果想直接在url里面提交的话,我们的payload要做url编码

  • 相关阅读:
    《入门经典》——8.4
    《A First Course in Probability》-chaper7-期望的性质-期望的性质-协方差
    计算几何讲义——计算几何中的欧拉定理
    Gym
    hdu6053
    ACdream1032(树形DP)
    hdu6040
    hdu6035(树形DP)
    hdu6038
    Codeforces #425 Div2 D
  • 原文地址:https://www.cnblogs.com/escwq/p/12624836.html
Copyright © 2011-2022 走看看