Web题目已经提示是文件包含 打开网页 是PHP代码 里边post接受两个参数 分别是cf和fIEld 既然是文件包含那就要有文件能去被包含
使用dirsearch对网页进行扫描 发现.Listing网页 于是进行访问 里边有提示index.PHP和you_can_seeeeeeee_me.PHP 在进行访问后者 发现是PHPinfo 只是文件名改了一下
在进行文件包含 首先尝试cf的post传值 cf=../../../../../var/www/HTML/you_can_seeeeeeee_me.PHP 发现能包含PHPinfo网页 然后就没有思路了......
去看了一下PHPinfo 试试能不能找到一些有用的信息 ctrl+g搜索session 发现了存储临时session的路径
并且
session.upload_progress.enabled = on
session.upload_progress.cleanup = on
session.upload_progress.prefix = "upload_progress_"
session.upload_progress.name = "PHP_SESSION_UPLOAD_PROGRESS"
session.upload_progress.freq = "1%"
session.upload_progress.min_freq = "1"
<session.use_strict_mode=off>
于是决定尝试session.upload_progress文件包含 我们可以利用session.upload_progress将恶意语句写入session文件 从而包含session文件 前提是要知道session文件的存放位置 但是我们目前已经找到了路径
因为session.use_strict_mode默认值为0 此时用户是可以自己定义Session ID的 我们可以在bp里抓包 在请求头中加入 cookie: PHPSESSID=flag 这样我们生成的临时session文件的名字就叫做sess_flag 此时session文件里就是我们的恶意代码 我们在利用文件包含漏洞去包含该文件(被包含的文件都会被当作PHP文件来执行)
但是因为session文件是临时的 会被清除 那么我们就要用到竞争来不断的去上传带有恶意代码的session文件 再用bp不停的去包含这个session文件 一旦服务器来不及删除 恶意代码就会被执行 我们就能得到想要的结果
下一步就是构造恶意代码了 再PHPinfo里ctrl+g搜索disable_function 发现许多函数都被禁用掉了如system 这样我们就没法探测 仔细一看 发现scandir这个函数没有被禁 可以探测目录和文件 构造PHP代码
<?PHP var_dump(scandir("/etc")); ?>
再不断地去包含 最后探测到flag文件 再更改PHP代码为 <?PHP var_dump(file_get_contents("flag文件")); ?> 来读取flag
总结
以上是内存溢出为你收集整理的国赛 Web 文件包含全部内容,希望文章能够帮你解决国赛 Web 文件包含所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)