i春秋 who are you
who are you
1、打开题目发现就这一句话,啥也没有,源码也是
2、那就抓包吧
3、发现一个奇奇怪怪的东西,base64一下
4、emmmmmmmmm这是什么玩意,不过隐隐觉得他肯定代表着一种身份,既然开局就说了权限不够,那肯定不是admin,5个字符权限不够那就guest?(有时候玄学就是这么简单),但是这是哪种东西转换过来的呢,柴犬屁股一沉发现事情并不简单
5、好了原来是Rot13加密。原理:回转13位,一种简易的置换暗码。ROT13也是过去在古罗马开发的凯撒加密的一种变体。ROT13是它自己本身的逆反;也就是说,要还原ROT13,套用加密同样的演算法即可得,故同样的操作可用再加密与解密。别问我怎么知道的,问就是看的大佬们的wp.验证一下:
6、那我将admin也rot13一下再base64,再传过去看看有点啥东西吧
7、得到如下提示,需要我们以post方式传入两个值filename和data
8、xdm咱们已经是管理员了,支楞起来,不就是传两个参数嘛,看名字好像是传一个文件还要传一个数据
9、emmmmmmmmm传什么显示什么,那试试传个一句话
10、这里我看网上有两种思路,但好像都是一个道理:
A:过滤了。php的函数一般都无法执行数组的,用数组来当参数,一般都能绕过
B:上传写入的函数。可能大多都对上传数据写入的函数fopen(),fwrite(),fclose()函数比较熟,但是不知file_put_contents()函数,它可以传数组
11、最终构造出来,还要将上传方式改为POST,之前admin转换出来的那个base64也要放上去,不然权限不够
filename=1.php&data[]=<?php @eval($_POST['a']);?>
12、访问给出提示的文件路径得到flag