pikachu靶场通关详解

关于insert/update/delete:

Insert:一般在创建和注册页面

Update:一般在修改页面(修改个人信息)

Delete:一般在删除操作(删除消息,留言等)

基于insert/update的SQL注入和select的闭合方式不太一样,我们先分析源码这里以insert为例:insert into 表名 (字段一,字段二) values (值一,值二);为了方便演示,我们以ID表中id字段和name字段插入1,qwe举例:insert into ID (id,name) value (1,qwe)。

基于delete的SQL注入和select的闭合方式一样。

在这类SQL注入时要在value中构造闭合我们以获取当前数据库为例(database())

在注入时我们并不清楚我们的注入点是哪里,类型是什么(int/string)这时就有2中可能,我们以id字段为注入点为例,

①类型为int

insert into ID (id,name) value (1 or 注入句 or,qwe)

==》1 or updatexml(1,concat(‘!’,database()),0) or

②类型为string

insert into ID (id,name) value (‘1’ or 注入句 or‘’,qwe)

==》1’ or updatexml(1,concat(‘!’,database()),0) or’

update,delete和insert语法一样,构造闭合的方法也一样都是在value中构造闭合,这里不在详细介绍

Pikachu靶场:

Insert注入

我们进入靶场点击注册

 

 填入我们构造好的语句,我们先试试int型(1 or updatexml(1,concat(‘!’,database()),0) or)

 提示我们注册成功,说明我们的SQL语句并没有当作代码执行,我们再试试string型(1’ or updatexml(1,concat(‘!’,database()),0) or’)

 

 可以看到成功的把当前数据库名称返回到了前端

Update注入

我们先注册一个账号,然后登录进去

 我们点击修改信息

 看到提交框,我们还是先尝试int型,在尝试string(这里不在演示,我们直接来看string型)

 

Delete型的

我们先随便提交

 可以看到在外面提交的留言下面都出现了删除按钮,但是并没有关于删除操作的输入框,这时候我们就要在burp中抓包修改参数了,我们先抓包

 我们发现了传参我们对传参点进行注入(int型 1 or updatexml(1,concat('!',database()),0)),但是这里要注意,我们相当于是直接插入在url栏里的,所以要对符号进行url编码

 

 可以看到成功的把当前数据库名称返回到了前端

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值