Advertisement

Mandatory Obfuscation Capture the Flag Writeup

阅读量:
在这里插入图片描述

一开始观看了源代码就感到似曾相识。
作为一个新手来说大致理解了这段代码的功能与实现原理。
进一步分析一下发现这段代码主要涉及PHP脚本的安全性问题。
其中c = _POST[‘c’]; 这里$ _POST[‘c’]是以POST方式获取的字符串类型的变量。“ .= ”表示将该变量与之前的错误退出语句进行连接。
因此我们的目标是通过POST方式提交变量c以避免该错误的发生。
同理在处理文件名时我们同样采用POST方式提交字符串变量。
在if判断中如果没有正确提交filename就会执行空脚本tmp.php而不会有任何操作。
后来通过进一步了解我发现这涉及到PHP过滤协议的相关知识于是查阅了相关资料并结合大神们的博客内容才逐渐形成了自己的理解。

在这里插入图片描述

原理:
通过上传字符串变量c,通过与变量c连接破坏掉语句结构;同时变量c也需要写入到变量fi

全部评论 (0)

还没有任何评论哟~