admin管理员组

文章数量:1794759

SQL注入—MYSQL基础语句(持续更新)附图

SQL注入—MYSQL基础语句(持续更新)附图

SQL注入—MYSQL基础语句

简介:常见的Web安全漏洞中,SQL注入利用和危害极大,通过其可以直接获取数据表的内容,从而获得Web站点的账号和密码,在学习SQL注入时,我们需要先对常见的数据库基础进行学习和了解。

MYSQL基础语句 一:数据库操作

1,在当前数据库管理系统中创建/删除数据库:create/drop dadabase websec; 2,查看当前数据库管理系统下所有数据库:show databases; 3,使用(进入)操作的数据库,use websec;

二:数据表操作

1,创建数据表:create table websec(id int(20) primary key AUTO_INCREMENT,name char(10) NOT NULL,sex char(10) NOT NULL); 2,查看当前数据库下的所有数据表:show tables; 3,查看数据表的内容:select * from websec; 4,删除数据表:drop table websec; 5,查看数据表属性:desc websec;

三:数据表中数据的增删改查(重要)

1,数据增加(insert into): 添加一行:insert into websec(id,name,sex)values(1,'zhangsan','boy'); 添加两行或多行:insert into websec(id,name,sex )values(2,'xiaoming','boy'),(3,'lisi','girl'); 2,数据删除(delete) 删除id为1的那一行:delete from websec where id=1; 数据修改(update): 将id=2的姓名修改为xiaozhang:update websec set name='xiaozhang' where id=2; 数据查看(select): 查看数据表的所有内容:select * from websec;/select id,name,sex from websec;

四:SQL注入中mysql常见函数

1,查看当前系统用户名/连接数据库用户名:select user(); 2,查看当前数据库名称和版本:名称:select database();版本:select version(); 3,读取当前数据库路径和安装的路径:读取数据库路径:select @@datadir ;安装数据库路径:select @@basedir; 数据表和数据库所在路径: 4,查看数据库所在当前操作系统版本: select @@version_compile_os; 5,从查询到的文本字段中截取某些字段函数:mid() 如果此处函数中查询的是变量则不需要添加双引号,如果是直接的字符串,则需要通过双引号引起来,如下举例场景为变量,不需要添加双引号 函数格式及说明:mid(column_name,start,length) column_name:必须,表明要查询的列名下的内容 start:必须,开始的节点,默认从1开始 length:可选,从开始的节点总共截取几个长度,如果省略表明展示剩下所有的字符 举例:select mid(name,1,5) from websec where id=1;(查看websec表中,id等于1和name列下的字符串,并截取1到5的字符并显示出来) 6,limit()返回前几条或中间某几行数据 举例:select * from websec limit 0,1;其含义是将查看显示出来的数据进行分部展示,通常使用在SQL注入中显示结果过多,但是每次只能显示一部分的情况下(这里的含义就是,查看表websec的全部内容,然后显示以索引0开始,长度为1的结果,和mid()函数的意思挺相似。 7,conut()函数:聚集函数,统计个数下图表示查看websec表中有多少行数据 8,rand()函数:用于产生一个0-1的随机数 9,floor()函数:向下取整 10,group by:依据我们想要的规则对结果进行分组:默认会将重复的数据行合并,只输出一个类型,如下

11,length()函数:返回字符串的长度。通常一个中文字符是2个字节,一个英文字符一个是一个字节 举例:

12,substr()函数:截取字符串 格式:substr(截取的字符串,开始的截取节点,截取的长度) 举例:

13,ASCII()函数:返回字符串的ASCII码 举例:select ascii(A); 总结:不管是mid函数,limit函数,substr函数,其后面跟随的参数都是通过某个地方开始,截取某个长度,区别不同的是mid和substr函数只能从1开始,而limit可以从0开始。

五:MYSQL数据库中注释符

1,常见注释符(#,--,/**/),#后面的内容被注释掉,通常#和–用于单行注释,/**/用于多行注释 2,内联注释 查询当前数据库版本信: /*select*/ version(); 不执行,因为select被注释 /*!select*/ version(); 被执行,因为!select被解析 /*!50000select*/version();也可以被执行

六:常见绕过过滤

1,空格绕过: 可以使用“+”,“/*内容*/”和“%0a,%0d”代替空格 2,分割SQL语句: 使用/**/,%00,%01,%分割SQL语句

本文标签: 附图语句基础SQLmySQL