第二周任务

文章介绍了在ctfshow的web入门挑战中,作者通过探索ssti漏洞、字符过滤规则(数字、双引号、单引号),以及如何通过替换参数(如使用cookie而非arg)来绕过过滤,获取flag的过程。
摘要由CSDN通过智能技术生成

ctfshow的web入门361-369

1、web3

首先来看,题目中所说的:“名字就是考点”我们推测用于输入代码的id就是"name"
所以,我们先尝试看是否存在ssti漏洞:
在这里插入图片描述
可以看到,显示的结果为“0”,说明是存在漏洞的,所以我们进一步输入;
在这里插入图片描述
得到object基类,随后添加__subclasses__来得到所有的子类:
在这里插入图片描述这里我们一般会使用popen函数,那么我们就需要先找到存放函数的类在什么地方,
通常来说我们可以从"os._wrap_close"中找到,我们可以先将所有子类复制之后,用python来将分割他们的逗号修改为换行符;输出后,我们可以通过对应的行数来得到:
结果为132.
最后我们通过该函数来提取flag:
在这里插入图片描述
在这里插入图片描述

2、web362

web362的方法和web361很相似,但是当我们输入:
去取到子类时候发现:
在这里插入图片描述
我们初步推测是一些东西被过滤掉了,所以我们将name的值改为纯数字试试看,发现结果也是这样
所以我们得知,此时所过滤的是数字,我们可以通过将半角数字改为全角数字的方式来绕过即可。

3、web363

老样子,先判断漏洞:

在这里插入图片描述
我们在进行下一步的时候发现:
在这里插入图片描述出现问题,而数字并未被过滤,尝试后发现是双引号和单引号被过滤,所以我们尝试用其他方式如:
把’popen’先换成request.args.a(这里的a可以理解为自定义的变量,名字可以任意设置),让a=popen
在这里插入图片描述

4、web364

当我们初次尝试到搜索popen函数之后,我们发现被过滤了一些东西:
在这里插入图片描述试一试web363的方法:
我们发现arg被过滤了,很难受,但是可以使用别的方法:
我们将request中的arg换成cookic就可以,这样的话我们通过cookie信息就可以实现:
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值