sql注入基础讲解
一,sql注入的本质 SQL注入能使攻击者绕过认证机制,完全控制远程服务器上的数据库。 SQL是结构化查询语言的简称,它是访问数据库的事实标准。目前,大多数Web应用都使用SQL数据库来存放应用程序的数据。几乎所有的Web应用在后台 都使用某种SQL数据库。跟大多数语言一样,SQL语法允许数据库命令和用户数据混杂在一起的。如果开发人员不细心的话,用户数据就有可能被解释成命令, 这样的话,远程用户就不仅能向Web应用输入数据,而且还可以在数据库上执行任意命令了。 注入攻击的本质是:把用户输入的数据当作代码执行。 注入的两个关键条件: 1,用户能控制输入。 2,原本程序要执行的代码,拼接了用户输入的数据。 sql注入就是在自带的系统数据库中查询库,表,字段,内容的过程 mysql内置自带库版本>=5 mysql库 保存账户信息,权限信息,存储过程,event,时区等信息 sys库包含了一系列存储过程,自定义函数以及视图来帮助我们快速了解系统的元数据信息 performance_schema库用于收集数据库服务器的性能参数 information_schema库存储了关于mysql服务器维护的所有其他数据库的信息,如数据库,表,表的数据类型与访问权限等。 查询数据库名称语句 select schema_name from information_schema.schemata 查表