eval
1 | include "flag.php"; |
这里相当于用到了两个函数
第一个file(),这个函数是把一整个文件读入到一个数组中
然后var_dump()是输出变量相关信息
所以payload为
/?hello=file("flag.php")
注意要有双引号奥
头等舱
进去页面提示什么也没有,题目为头等舱,联想到网页头,然后我们用bp抓包,然后发往repeater,最后在Respones中的Headers里面发现flag
网站被黑
题目提示有后门
后门:用于获得对程序或在线服务访问权限的秘密方式
也就是说,有别的网页喽,先用御剑扫一下,扫不出来换kali里面的dirsearch
我们用御剑扫描php文件,很快就会发现存在shell.php文件,进入后需要密码,先尝试了一下万能密码,似乎不行,然后我们直接上Bp进行爆破
最后得到密码 hack,进去后得到flag
变量1
1 | //flag In the variable ! |
^\w+$
表示的是匹配都是字母的串,$$args是一个可变变量,而如果$args的值为另一个变量的变量名,$$args就可以代表另一个变量,也就是说,我们要输入包含flag的变量名,打印这个变量所包含的值才能得到flag,但是我们根本不知道该变量名。
所以可以考虑依次给args赋值php中的九大全局变量($_POST,$_GET,$_FILES,$_COOKIE,$_SESSION,$_REQUEST,$SERVER,$GLOBALS,$_ENV
)
所以让args=GLOBALS来打印全部变量,从而得到flag
本地管理员
由题可知,要有本地的许可,所以我们在Request中添加
X-Forwarded-For:127.0.0.1
然后接着我想用Bp爆破,可是终究没有出来,观察爆破结果,可以发现nnnnn后面有一段base64密文,解密后得到test123,所以我们猜测这是密码,然后尝试admin登录,得到flag
源代码
提示查看源代码,查看后发现一大堆url编码,按要求解码后得到
看不懂啊看不懂,但是有一段很神奇的密文,看wp都说提交后得到flag,我也不知道为啥呜呜呜
文件包含
这种题一般都有/?file=
这种格式,然后我们要用的就是filter协议,让源码转换成base64密文输出后再解密,
?file=php://filter/read=convert.base64-encode/resource=index.php
然后解密即可得到flag
文件包含这里也会有命令执行的部分,比如/?file=../flag
,这里的意思一目了然。
关键函数是include,但是一般没这么容易,会有很多过滤
好像需要密码
经典爆破,这里提示我们是5位数,所以我们从00001到99999逐个爆破,并且选择有效整数为5位,然后静静等待便可得到flag
成绩查询
一开始我以为没有回显,原来是id设置的太小了呜呜呜,果断放弃盲注,虽然我也没有注入出来,好垃圾
然后就是经典的联合注入了。不知道为啥盲注不行,很烦。