基于insert/update/delete的注入

基于insert/update/delete的注入_第1张图片
之前的数字型,字符型,搜索型,都是通过selecte进行的一个操作,如果是insert/update/delete
需要一个怎样的操作呢
在这里插入图片描述
我们直接通过pikachu上的靶场来看一下
基于insert/update/delete的注入_第2张图片
这边有一个注册按钮,点一下注册
基于insert/update/delete的注入_第3张图片
还是老方法,用单引号确认是否存在注入点
在这里插入图片描述
发现返回了错误,说明这里是存在注入点的,我们知道这个地方的后端是用的insert,怎么样利用insert来进行操作呢?
在这里插入图片描述
这个地方正常来讲就是在表中插入一个用户,后面都是随意打的,这是个正常的插入
我们如何在这个地方构造闭合呢?
在这里插入图片描述
前面的单引号闭合前面的单引号,后面的单引号闭合后面的单引号,两个or之间就可以填入我们的代码,可以直接把报错的代码插入进去在这里插入图片描述
我们把这个payload 放到pikachu上尝试一下
基于insert/update/delete的注入_第4张图片
之后我们能看到对应的报错和之前的报错是一样的
在这里插入图片描述
其他的信息获取方法就大同小异了,只用把datebase()换成自己想要的信息就可以了
update也很简单,首先我们用账号登陆一下
基于insert/update/delete的注入_第5张图片
可以看到有一个修改个人信息,我们点进去,这个修改很显然就是通过update来修改后台的数据库,这里可能就存在update注入,我们将payload放进去
基于insert/update/delete的注入_第6张图片
提交,发现 错误报了出来
在这里插入图片描述
我们点击pikachu的delete来看看delete如何操作
基于insert/update/delete的注入_第7张图片
我们点击删除,从burp上抓包,这个就是在做留言传到后台,后台对应的id给删除掉了
基于insert/update/delete的注入_第8张图片
我们把这条记录发送到repeater里面,我们可以在repeater里面的id进行闭合操作,因为它传的是个id是个 数字型,所以我们不需要用单引号进行闭合

1 or updatexml (1,concat(0x7e,datebase()),0)

因为这个参数实在uil里面提交的,所以我们需要在burp上对这个payload做一个uil的编码
基于insert/update/delete的注入_第9张图片
编码完后的payload
基于insert/update/delete的注入_第10张图片
点提交,我们发现数据库的名称被成功返回回来了
在这里插入图片描述
这三个函数,不能用union进行查询,因为这三个函数不是查询,它们属于操作
我们可以通过报错的方式获取

extractvalue()函数
基于insert/update/delete的注入_第11张图片
与前面的道理都差不多,还是构造这样一个payload
在这里插入图片描述
在这里插入图片描述
同样也能得到数据库的版本号

floor()
使用floor的话需要三个条件

  • 运算里面要有count
  • 运算里面要有group by
  • 运算里面要有rand

在这里插入图片描述
将这个payload提交后
基于insert/update/delete的注入_第12张图片
成功

你可能感兴趣的:(基于insert/update/delete的注入)