CTF攻防世界小白刷题自学笔记10

1.simple_php,难度:1,方向:Web,

题目来源:Cyberpeace-n3k0

题目描述:小宁听说php是最好的语言,于是她简单学习之后写了几行php代码。

给一下题目链接:攻防世界Web方向新手模式第12题。

打开题目场景一看是熟悉的php题目。我就去翻开之前写的涉及php的笔记了,笔记8是涉及到cookie.php文件与php语言关系不大;笔记7的第二题是使用御剑查找index.php文件的备份文件,关系也不大;笔记4中是php的序列化和反序列化,利用wakeup函数的漏洞,关联多了一点,都是涉及修改url.;CTF攻防世界小白刷题自学笔记3-CSDN博客,笔记3的第二题最像,先用御剑扫出隐藏的index.phps源代码文件,然后绕开找茬的判定获取flag。

我试了之前所有见过的方法,还是没法解决问题,所以我不想努力了,直接看大佬的writeup(答案)了。这道题涉及php的弱类型比较和is_numeric()函数,php 弱类型总结 - Mrsm1th - 博客园,详细的弱类型比较看这位大佬的文章,直接举例并自问自答,不当谜语人,非常适合我。简单来说是让a等于任意字母,和数字比较都会被转换成0,如果是数字+字母就只会保留前面的数字(但是如果是字母开头中间有数字还是0),

大佬原话:简单审计下代码,发现需要以get的方式传入两个参数a和b。

a参数的要求 a必须等于0且a为真

b参数的要求 b不能为数字且b大于1234

这道题的核心问题是理解PHP语言的弱类型

所以只要a=abc(任意字母就行),b=1235a(任意大于1234数字加任意字母),a、b的另一种方法:a=00也可以绕过,is_numeric函数对于空字符%00,无论是%00放在前后都可以判断为非数值,所以a=00&b=1235%00也行。在url后面输入后直接出来flag。

2.baby_web,难度:1,方向:Web,

题目来源:未知

题目描述:想想初始页面是哪个

打开网站是熟悉的hello world。

初始界面我也不讲逻辑了,我记得是index.php,反正题目是叫我想想。输入index.php后直接又跳转会1.php。打开开发者工具,选择Network模块,发现状态码不正常。

搜了一下状态码的含义,

  1. 302状态码表示所请求的资源临时位于不同的 URI。客户端应该使用给定的新 URI 来获取资源,但在后续请求中仍然应该使用原始的请求 URI。

    • 它通俗来说是告诉客户端,“这个资源现在在别的地方,去那里看看。”                         

 查看响应头部文件,location定位1.php,flag也出来了。

方法二就是使用burp suite抓包看响应了,CTF攻防世界小白刷题自学笔记8-CSDN博客,我的笔记8中(cookie.php文件的响应)方法四有详细的过程,这里就不赘述了(还是懒了)

flag输入,直接成功。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值