[ACTF2020 新生赛]Include1
[ACTF2020 新生赛]Include1
打开实例发现tips,点击是这个页面,猜测为flag绕过
执行linux命令和一些bypass方法后发现无果,猜测为文件包含
构造php的base64编码文件包含payload
?file=php://filter/read=convert.base64-encode/resource=flag.php
得到一串文件的base64编码
解密得到flag
tips:php://filter/read=convert.base64-encode/resource=flag.php解释为:
`?file=php://filter/read=convert.base64-encode/resource=flag.php` 是一个PHP流包装器的URL,它通常用于在PHP中读取文件内容。这里的URL结构表示:
1. `?file=`:这是一个查询字符串的开始,通常用于传递参数。
2. `php://filter/`:这是一个PHP流包装器,它允许对流数据进行处理。
3. `read=convert.base64-encode`:这是一个过滤器参数,表示对读取的数据进行Base64编码。
4. `resource=flag.php`:这是指定的资源文件,即`flag.php`文件。
这个URL的目的可能是将`flag.php`文件的内容读取出来,并对其进行Base64编码。
`php://filter` 支持多种过滤器参数,其他过滤器及其描述:
1. **字符串过滤器**:
- `string.rot13`:对字符串执行ROT13转换,使用字母表中后面第13个字母替换当前字母。
- `string.toupper`:将字符串转化为大写。
- `string.tolower`:将字符串转化为小写。
- `string.strip_tags`:从字符串中去除HTML和PHP标记。
2. **转换过滤器**:
- `convert.base64-encode`:对给定字符串进行base64编码。
- `convert.base64-decode`:对给定的base64编码内容进行解码。
- `convert.quoted-printable-encode`:将8-bit字符串转换成quoted-printable字符串。
- `convert.quoted-printable-decode`:将quoted-printable字符串转换为8-bit字符串。
- `convert.iconv`:实现任意两种编码之间的转换。
3. **压缩过滤器**:
- `zlib.deflate`:压缩过滤器。
- `zlib.inflate`:解压过滤器。
- `bzip2.compress`:压缩过滤器。
- `bzip2.decompress`:解压过滤器。
4. **加密过滤器**:
- `mcrypt.*` 和 `mdecrypt.*`:使用libmcrypt提供对称的加密和解密。
这些过滤器可以单独使用,也可以通过管道符`|`组合使用,以实现复杂的数据处理。
例如,可以同时使用`string.toupper`和`string.rot13`对数据进行大写转换和ROT13编码。
本文来自博客园,作者:TazmiDev,转载请注明原文链接:https://www.cnblogs.com/tazmi/p/18535658