CISP-PTE靶机真题基础实训SQL注入(无法重置密码的情况一)思路详解

CISP-PTE靶机真题基础实训SQL注入(无法重置密码的情况一)

在这里插入图片描述

在这里插入图片描述

解题思路:

通过注册看是否能找到注入的漏洞

解题步骤:

尝试测试四步:
异常的用户+正常的文章发表内容=失败
异常的用户+异常的文章发表内容=失败
正常的用户+正常的文章发表内容=成功
正常的用户+异常的文章发表内容=失败
1、注册一个为'");-- #的账户,注册与登录都可以正常的进行
2、发现发表的地方可以写东西,尝试输入'");-- #,看一下出现情况
3、提交失败,尝试一个正常的留言,看是否正常提交成功
4、注册一个正常的用户1234,看看能否发表成功
5、发现发表成功,在文章中可以看到,再尝试发表'");-- #,失败由此可以大概判断在发表文章的这个地方是突破口
6、并且发现sql注入是与用户名字有关联的,因为文章要记录是谁发布的
7、尝试在文章内容里插入sql语句,由后往前进行闭合,已知是字符串,使用插入闭合')-- #
8、发现提交失败,分析有可能数据库中插入的数据有4个以上,此时注释掉了后面的(我们注释的是传入数据),传入的数据相互匹配不上
9、尝试','')-- #,一次次添加,直至成功。发现添加一个传入的数据成功了','')-- #
10、说明content是倒数第二个字段,
11、将title=tes1,content=test2 并且使用闭合,发现虽然执行成功,但没有回显,说明出问题的是最后一个字段,它可以控制文章内容是否显示,推测有肯定存放的用户的数据,因为发表的内容对应的是哪个用户发表的
12、将用户名添加到最后一个字段中尝试','1234')-- #
13、发表文章内容出现,验证猜想,最后一个字段存放的是用户名
14、但是content并不是一个注入点,无法控制
15、尝试title字段,看是否能注入,假设title是倒数第三个字段,一个个往上尝试(因为已知了最后两个字段一个content,一个用户名)
16、使用闭合尝试','test2','1234')-- #
17、成功,说明title是倒数第三个字段
18、看一下test2是否是注入点,改成database()  // ',database(),'1234')-- #
19、成功爆出数据库名2web,接下来就是查表、列、数据
20、但发现使用查表语句失败,说明可能关键字、空格、字符串等被过滤了
21、将关键词select、from、空格这个常见的进行大小写,注释符过滤,看能否成功
22、成功获取到表users1,列username,password,数据直接出现key

如果将#,–[空]被注释掉了,如何解决这道题

(这是是由前往后找注入时,第二种方法,找到注入点后,方法是一样的)
使用后闭合(',来闭合后面的,相当于插入两段数据
title=test1','content3','1234'),('2','test2
注入点还是在content3

在这里插入图片描述

注释没被过滤的情况下的完整分析过程:
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述在这里插入图片描述在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

  • 28
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值