insert,delect漏洞注入

Insert语句时SQL中的一条字句,Insert的功能是向表中插入一条记录,但是记录的结构必须符合表的结构。当使用Insert插入记录使,记录被插入到表尾。
我还是使用渗透练习平台来给大家做演示
首先当然是进入到登陆页面在这里插入图片描述
因为我并没有账户,所以我选择注册一个账户在这里插入图片描述
实际上,在这个注册页面就是纯在着一个Insert注入漏洞,
如果一个后台数据库纯在着注入漏洞,那么当我们在前端输入了语句之后,语句会被后台拼接到Insert这个查询语句当中,就会导致相关的数据泄露。
那么首先要检查的是是否无论我们在前端输入任何语句,都会被拼接到后台sql查询语句中,如果可以,且数据库查询系统没做任何安全措施,也就意味着可以构造payload.
这里随意输入用户名和密码在这里插入图片描述
可以看见返回报错,证明上述猜测在这里插入图片描述
那么因为我们的目的就是要讲解Insert,且这里已经知道后台是存在Insert漏洞,那该如何构造Insert闭合,又该如何去利用这个闭合已到达访问后台的数据信息的目的呢。
这里用在后台的数据库实际操作界面来完成介绍
下面是一条正常的insert查询语句在这里插入图片描述
可以看见账户是“xiaohong” 密码是“111111”
接着看查询结果在这里插入图片描述
可以看见在返回的最底端确实插入了输入的数据。
那么该如何构造闭合语句呢,这里采用的是‘or’这个逻辑运算符,在这里插入图片描述‘1’ or __ or ’ 中后面的那个or后的单引号是为了闭合掉语句后面本身带有的单引号。而前面第一个or后是我们要填的注入语句。
这里还是用后台报错的方法来构造payload,且有必要提到的是,这里我们还用的了updatexmal(),这个语句我在之前的博客中有提及。需要的可以去查看。在这里插入图片描述
查看返回结果在这里插入图片描述
可以看见在返回的低端是存在报错的,且把数据库名称报出来(这和之前写的博客也演示过),而这正是我们想要的。

接着演示的是update,update我们还是用insert中的payload去演示,因为它们的原理其实是一样的。我们先到登陆页面去登陆注册的账号在这里插入图片描述
可以看见个人信息中心在这里插入图片描述
然后就是用update去完成信息的修改(这在之前也有说过update语句的功能)这里博主用的是截图来说明,在这里插入图片描述
接着在账户处输入上面提到insert闭合语句在这里插入图片描述
接着看报错在这里插入图片描述
可以看见数据库的名称被报出来了。

DELECT注入演示:
首先打开burpsuit,因为这里我们需要对相应的访问进行抓包。
打开一个登陆页面在这里插入图片描述
可以看见这里有个留言板。
接着去burpsuit里看抓到的数据包在这里插入图片描述
这个请求的内容就是我们在留言板是输入的Id,前端把Id以数据包形式发送到后台。这里我们把抓到的数据包进行重放即send to repeater在这里插入图片描述
这里给大家看一下后台数据库的源码,看一下实际的delect语句的查询原理在这里插入图片描述
可以看见后台把收到的id直接拼接到语句。那么就以为这在这里是可以构造payload的,还是用上面那个的payload,并且把它放到repeat中去进行数据包的重放,看一下具体效果。在这里插入图片描述
因为是截图不太清除,但还是可以看见,在右下方确实数据库的名称被报出来了。

猜你喜欢

转载自blog.csdn.net/weixin_44720762/article/details/89290569