ctfshow web 入门 php特性

这篇博客汇总了PHP环境中常见的安全漏洞及利用技巧,包括数组绕过、换行匹配、八进制和小数利用、变量覆盖、反射类运用、弱类型比较等问题,并给出了相应的payload示例和解决方案,涉及MD5、is_numeric、parse_str等函数的特性。同时,提到了文件系统操作、异常处理、变量覆盖等场景下的安全问题。
摘要由CSDN通过智能技术生成

89、用不为空数组绕过
在这里插入图片描述
90、在这里插入图片描述
91、第一次匹配php可以换行匹配(在这里插入图片描述
),利用这点可用%0a绕过
在这里插入图片描述
92、同90

93、用八进制
在这里插入图片描述
94、小数绕过

在这里插入图片描述

95、在这里插入图片描述
前面加空格绕过(或者前面加一个‘+’)

在这里插入图片描述
96、./表示当前路径
在这里插入图片描述
下面是从其他师傅那里拿来的解法

在这里插入图片描述
97、MD5无法处理数组,如果遇到数组则统一为NuLL

在这里插入图片描述
(PS:有兴趣可以了解一下MD5强碰撞)

在这里插入图片描述
98、参考一个师傅的wp:

在这里插入图片描述

在这里插入图片描述

99、in_array()函数有漏洞 没有设置第三个参数 就可以形成自动转换eg:n=1.php自动转换为1(in_array弱类型比较)


在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
然后直接,看源码就ok

在这里插入图片描述
100、根据大师傅的提示:

在这里插入图片描述
然后

在这里插入图片描述
再然后发现flag36d 文件中竟然没有,随便试试,发现在第一个中

在这里插入图片描述
最后还有个小坑,需要把0x2d换为-(我也不怎么清楚为什么要这样换在这里插入图片描述

在这里插入图片描述
101、用的是一个反射类 ReflectionClass()

在这里插入图片描述
最后0x2d需要转换为-

102、php5环境 is_numeric函数 是可以识别十六进制的(如果传入v2=0x3c3f706870206576616c28245f504f53545b315d293b3f3e(<?php eval($_POST[1]);?>的十六进制)也是可以识别为数字的。)
但本题环境为php7,这有点麻烦
根据某位大师傅的提示(没错,本人很菜!!),将v3的1.php用php伪协议写入,再找一个v2为base64编码后再转为十六进制为全数字的有效命令,好了上paylode吧:

在这里插入图片描述
再访问1.php就OK了

补充v2:
(前面加两个0因为有substr函数嘛)
在这里插入图片描述
103、比起102加了过滤,但用102的paylode没什么问题,所有同102

在这里插入图片描述
104、sha1是一种加密方式,所以只要传两个相同值就行了

在这里插入图片描述

105、考察变量覆盖…
这里有两篇详细的关于变量覆盖的文章供师傅们参考:
https://blog.csdn.net/qq_45300786/article/details/108450638

https://blog.csdn.net/weixin_43803070/article/details/91151861

payload:
在这里插入图片描述

106、

数组绕过(姿势有点熟悉)
在这里插入图片描述
sha1强碰撞…

在这里插入图片描述
107、

parse_str变量覆盖
定义和用法
parse_str() 函数把查询字符串解析到变量中。

注释:如果未设置 array 参数,则由该函数设置的变量将覆盖已存在的同名变量。

注释:php.ini 文件中的 magic_quotes_gpc 设置影响该函数的输出。如果已启用,那么在 parse_str() 解析之前,变量会被 addslashes() 转换。

MD5(1)=c4ca4238a0b923820dcc509a6f75849b

payload:
在这里插入图片描述
108、erag可以使用%00截断

有一篇关于该函数的博客
双手奉上:https://www.jianshu.com/p/7b732d4b8eac

在这里插入图片描述
109、这里是有两种payload:

在这里插入图片描述
下面第一个类是异常处理时会碰到的,有兴趣的师傅可以看 http://c.biancheng.net/view/6253.html 写的比较详细的

在这里插入图片描述
110、利用 FilesystemIterator 获取指定目录下的所有文件,getcwd()函数 获取当前工作目录 返回当前工作目录

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值