学习笔记-PHP-filter&MD5碰撞

发布于 2021-12-11  74 次阅读


明天就要打金盾信安杯了,我想这最近做数学题,最近没咋做CTF内容,不过话说回来,我是Web方向的(你还知道自己是Web方向啊!),我就说去刷几道题。

BUUCTF的[ACTF2020 新生赛]Include

之前做过CTF SHOW的两个文件包含(一个php://input 伪协议 + POST发送PHP代码 ,一个是日志包含)

进入靶机看到有一个提示?file=flag.php

尝试了文件包含和日志包含都不行,于是各种网上找资料。学会了php的filter

  • ?file=flag.php 猜测文件包含漏洞
  • php://filter与包含函数结合时,php://filter流会被当作php文件执行。所以我们一般对其进行编码,阻止其不执行。从而导致任意文件读取。
  • php://filter 伪协议文件包含读取源代码,加上read=convert.base64-encode,用base64编码输出,不然会直接当做php
  • 代码执行,看不到源代码内容。
  • 构造Payload

?file=php://filter/read=convert.base64-encode/resource=flag.php

得到了Flag.php的base64编码后的源码,base64解码

MD5碰撞,进入靶机是酱紫

ctype_alpha函数手机判断是否为字母,is_numeric是判断纯数字

最后判断两者的MD5,因为0e开头的MD5判断相同,所以构造payload

?v1=QNKCDZO&v2=240610708