flag在index里
题目是这样:
点击之后是这样:
url变成了:
http://123.206.87.240:8005/post/index.php?file=show.php
看到大佬的解答,因为有file字样,联想到文件包含:
利用xxe漏洞,直接获得源码:
可以用如下一行代码将POST内容转换成base64编码并输出:
readfile("php://filter/read=convert.base64-encode/resource=php://input");
放到这个题:
http://123.206.87.240:8005/post/index.php?file=php://filter/read=convert.base64-encode/resource=index.php
拿到base64加密的index.php源码:
解码之后得到flag:
意思就是:
把index.php的内容进行了base64编码,而无法执行,通过include()函数提示错误的地方,然后直接显示了出来(index.php还是那个index相当于自己包含自己了)
输入密码查看flag
题目内容是这样的:
其url是这样的:
明显的baopo(爆破),打开burpsuite,选择Sniper爆破方式,然后pwd后面的是爆破内容(5位数字):
选择Number类型,从00000到99999:
选择线程数120个:
开始爆破,安装length排序,最终得到密码,从而得到flag:
知识点:
1 php://filter
4个参数:
名称
描述
备注
resource=
指定了你要筛选过滤的数据流。
必选
read=
可以设定一个或多个过滤器名称,以管道符(|)分隔。
可选
write=
可以设定一个或多个过滤器名称,以管道符(|)分隔。
可选
任何没有以 read= 或 write= 作前缀 的筛选器列表会视情况应用于读或写链。
例如:
readfile("php://filter/read=string.toupper|string.rot13/resource=http://www.123.com")
会以大写字母并以rot13加密查看www.123.com的内容
有个大佬的博客:
https://www.leavesongs.com/PENETRATION/php-filter-magic.html