20201214学习日记---sql注入
终于来到sql注入的学习了,sql注入先是给我了很“黑客”的感觉,之前有操作过phpmyadmin,接触了数据库普通的“查删减改”(大多数都是在后端云干的),那sql语句长什么样子呢,sql注入又是如何。
介绍
SQL注入望文生义先是与sql有关。想了解如何注入 我想需要先了解一下SQL。
SQL (Structured Query Language)结构化查询语言,常见的SQL数据库有MySQL、sql、server,Oracle、Sybase等。
在开始之前使用了一个很好用的php集成开发环境-phpstudy
其支持一键LAMP,LNMP,集群,监控,网站,FTP,数据库,JAVA等100多项服务器管理功能
SQL结构
sql结构如图所示,如图:数据表-字段-数据这样的结构。
SQL数据类型
SQL数据类型除了常规的整型、文本型,又细分了具体的类型。
比如text分为char、varchar等。
具体分类
常用的SQL语句
在概念里面,SQL常用的应该是【查、删、减、改】,后面应该对这四个最基本的熟练掌握。
SQL表约束
show databases;
查询数据库
create table tablename;
新增数据表
…写到这里发现不想写下去,因为语句太多太多了,基本上就是按照上面说的sql结构进一步操作。(这让我想起来phpmyadmin的可视化数据表好方便)
基本SQL注入
information_schema
数据库跟 performance_schema 一样,都是 MySQL 自带的信息数据库。其中 performance_schema 用于性能分析,而 information_schema 用于存储数据库元数据(关于数据的数据),例如数据库名、表名、列的数据类型、访问权限等。
进入到系统自带的information_schema
1 | use information_schema; |
显示数据表
1 | show tables; |
显示数据表
1 | select * from tables; |
SQL的发现
SQL注入的产生–从代码层次理解
总的来说:web没有对用户输入的数据进行严格的过滤,就把sql带进数据库进行查询。
SQL注入的发现
找到有可能用到sql查询语句的地方
寻找所有有可能出现SQL交互的
写在后面
学习了基本的sql结构,下一步可以是sql注入的实践,期望更有收获。