zoukankan      html  css  js  c++  java
  • SQL数字型注入(mysql数据库)

    靶场:墨者学院
    链接:https://www.mozhe.cn/bug/detail/elRHc1BCd2VIckQxbjduMG9BVCtkZz09bW96aGUmozhe
    打开靶场后,我们可以看到一个后台登陆页面。

    好像并没有什么特别的东西。

    用工具进行全站扫描,查看是否有其他页面存在。

    结果我们一共扫出了三个页面,一个静态页面,两个动态页面。
    排除静态页面,login.php是我们刚刚看见的后台登陆页面,我们打开这个new_list.php看看。
    结果我们可以发现,一片空白,也就是说我们在向服务器请求获取页面的时候,页面没有获取成功,也就是差参数。
    盲猜试试id=1,这个时候发现页面正常显示了。
    猜测该注入是数字型的注入。

    这个时候,我突然想起,刚刚的登陆页面,应该有跳转链接可以被点击的。于是我回到刚刚的页面,发现在登陆按钮下有个消息滑动。于是我点击了它,也到达了我们刚刚测试的这个页面。
    数字型注入的判断规则

    1. ?id=1' 此时页面不正常。
    2. ?id=1 and 1=1 此时页面正常。
    3. ?id=1 and 1=2 此时页面不正常。

    当三点同时满足的时候,判定该页面存在数字型注入漏洞。
    此时开始sql注入。
    注入的结果符合上面说的情况。
    开始使用sqlmap跑数据库,数据表,字段名,以及数据。
    1.爆破数据库
    Sqlmap -u "http://219.153.49.228:43414/new_list.php?id=1" --dbs

    发现此时有5个数据库。其中,mysql自带4个数据库。(不同的mysql版本自带的数据库名称有差异)
    information_schema、mysql、performance_schema、sys(或者是test)。
    information_schema数据库保存的是mysql服务器所维护下的其他数据库信息。
    mysql数据库的作用是负责存储数据库的用户、权限设置、关键字等mysql自己需要使用的控制和管理信息。
    performance_schema数据库主要用于收集数据库服务器性能参数。
    Sys数据库所有的数据源来自:performance_schema。目标是把performance_schema的把复杂度降低,让DBA能更好的阅读这个库里的内容。让DBA更快的了解DB的运行情况。
    也就是说,我们需要的信息就放在mozhe_Discuz_StormGroup这个人为创建的数据库中。

    2.爆破数据库mozhe_Discuz_StormGroup下的数据表。
    Sqlmap -u "http://219.153.49.228:43414/new_list.php?id=1" -D mozhe_Discuz_StormGroup --tables

    此时我们可以看见有个StormGroup_member的数据表。

    3.爆破数据表StormGroup_member的字段名。
    Sqlmap -u "http://219.153.49.228:43414/new_list.php?id=1" -T StormGroup_member --columns

    我们可以看见有4个字段名。分别是id,name,password,status。
    name是用户名,password对应该用户名下的密码。

    4.查看数据表StormGroup_member下字段名为name和password的数据行。
    Sqlmap -u "http://219.153.49.228:43414/new_list.php?id=1" -T StormGroup_member -C "name,password" --dump
    输入这行命令后,sqlmap会提示你是否要加载密码字典,也就是说,数据库中的密码是被加密过的。所以我们的选择是输入n

    此时可以看见有两个用户都是mozhe,一般情况下,用户名不可能重名,也就是说有个用户是被禁用了。另外一个能正常使用。当我们测试后,可以知道第一个用户被禁用,第二个用户可以正常使用。

    5.密文判断
    从密码中我们可以看见,最大的是f,也就是说,该密文的16进制数据。并且该密文的字符串长度为32,而MD5密文的特点就是,加密后为128位(bit),按照16进制(4位一个百16进制数)编码后,就成了32个字符。所以判断该密文是md5加密后的密文。

    6.搜索在线md5解密,在解密网站上成功解出密码,登陆后,在页面即可看见flag。

    网安小菜鸡
  • 相关阅读:
    yolo_to_onnx ValueError: need more tan 1 value to unpack
    yolo_to_onnx killed
    C++ 实现二维矩阵的加减乘等运算
    Leetcode 1013. Partition Array Into Three Parts With Equal Sum
    Leetcode 1014. Best Sightseeing Pair
    Leetcode 121. Best Time to Buy and Sell Stock
    Leetcode 219. Contains Duplicate II
    Leetcode 890. Find and Replace Pattern
    Leetcode 965. Univalued Binary Tree
    Leetcode 700. Search in a Binary Search Tree
  • 原文地址:https://www.cnblogs.com/jdr-gbl/p/12828664.html
Copyright © 2011-2022 走看看