Ctfshow web入门-web79-web81 WP

web79

Ctfshow web入门-web79-web81 WP_第1张图片

查看源码发现没有过滤,直接php伪协议包含

知识点——php伪协议 ,伪协议有很多,文件包含可以用php://filter
payload: ?file=php://filter/read=convert.base64-encode/resource=需要包含的文件

执行,获取到base64加密之后的字符串然后解码

在这里插入图片描述

Ctfshow web入门-web79-web81 WP_第2张图片

web80

Ctfshow web入门-web79-web81 WP_第3张图片

查看代码,发现str_replace过滤了php,这个可以用大小写绕过,但是这里不推荐,因为能data命令执行

知识点——data命令执行: data:text/plain, 这样就能执行命令

构造payload: ?file=data:text/plain,

在这里插入图片描述

命令执行成功,步骤到这都能查看当前目录了,查看flag不是简简单单?

在这里插入图片描述

这data的命令执行也可以不输入

Ctfshow web入门-web79-web81 WP_第4张图片

web81
Ctfshow web入门-web79-web81 WP_第5张图片

查看源码,发现php、data都被过滤,但是str_replace 无法过滤大小写
用php://input执行命令执行,构造Payload:Php://input 然后POST一段数据(php一句话木马)抓包

Ctfshow web入门-web79-web81 WP_第6张图片

命令执行成功,拿去到flag

你可能感兴趣的:(ctfshow)