当前位置:   article > 正文

攻防世界—file_include_fileinclude攻防世界

fileinclude攻防世界

在这里插入图片描述

  • 打开之后发现是一段php代码
    在这里插入图片描述
  • 可以看出这是段代码有文件包含漏洞

  • 下面是学习部分。。。
  • 着急看题解继续往下滑。。。谢谢。。。

文件包含漏洞(File Inclusion Vulnerability)是一种Web应用程序常见的安全漏洞,也是攻击者常用的攻击手段之一。这种漏洞通常存在于代码中,允许攻击者将未经过滤的输入作为参数传递给文件包含函数(如include()、require()等),从而加载恶意脚本或者敏感文件到服务器上,并进一步攻击系统。攻击者可以通过该漏洞窃取敏感信息、执行任意命令、控制服务器等。
常见的文件包含漏洞有两种类型:
1.本地文件包含(LFI):攻击者通过提交恶意请求,可以访问服务器上本地已存在的文件。这种漏洞通常发生在应用程序没有对用户输入进行过滤的情况下,接受用户的输入来指定文件名或者路径,并将其传递给包含函数的时候。
2.远程文件包含(RFI):攻击者通过构造一个URL链接,将远程服务器上的恶意脚本地址传递给包含函数,从而导致远程服务器上的脚本被执行。

  • 点击这里跳转B站学习什么是文件包含漏洞
  • 我对于文件包含的理解就是,设计网页时会有很多重复的地方,所以我们将重复的地方写在一个文件里,利用include()等函数将其包含进来,避免写过多重复的代码。和我们写类、写对象一个道理。
  • …/是返回上层目录
  • 包含文件的内容只要符合php语法都能被当成php代码进行解析,无关后缀名是什么。
    在这里插入图片描述
  • 可以用burp修改信息请求头,配合日志文件进行攻击,因为直接存入日志的话特殊符号会被编码,所以用burp更改一下头,让他不要被编码。
    在这里插入图片描述
  • php://filter,他后面跟两个参数,/convert.base64-encode第一个是以什么转换器对他进行编码的,/resource=include.php第二个是要过滤的流是哪个文件
    在这里插入图片描述在这里插入图片描述

  • 好嘞,学习结束
  • 构造payload
?filename=php://filter/read=convert.base64-encode/resource=check.php
  • 1

在这里插入图片描述

  • 果然不会这么简单,然后就有请度娘,看样子应该是被过滤了,那就搜一下怎么绕过过滤

转换过滤器
如同 string.* 过滤器,convert.* 过滤器的作用就和其名字一样。
转换过滤器是 PHP 5.0.0 添加的。对于指定过滤器的更多信息,请参考该函数的手册页。
https://www.php.net/manual/zh/filters.convert.php
在激活 iconv 的前提下可以使用 convert.iconv.* 压缩过滤器,
等同于用 iconv() 处理所有的流数据。 该过滤器不支持参数,
但可使用输入/输出的编码名称,组成过滤器名称,
比如 convert.iconv..
或 convert.iconv./
(两种写法的语义都相同)。

 支持的字符编码

当前 mbstring 模块支持以下的字符编码。这些字符编码中的任意一个都能指定到 mbstring 函数中的 encoding 参数。

该 PHP 扩展支持的字符编码有以下几种:

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*
ISO-2022-JP
ISO-2022-JP-MS
CP932
CP51932
SJIS-mac(别名:MacJapanese)
SJIS-Mobile#DOCOMO(别名:SJIS-DOCOMO)
SJIS-Mobile#KDDI(别名:SJIS-KDDI)
SJIS-Mobile#SOFTBANK(别名:SJIS-SOFTBANK)
UTF-8-Mobile#DOCOMO(别名:UTF-8-DOCOMO)
UTF-8-Mobile#KDDI-A
UTF-8-Mobile#KDDI-B(别名:UTF-8-KDDI)
UTF-8-Mobile#SOFTBANK(别名:UTF-8-SOFTBANK)
ISO-2022-JP-MOBILE#KDDI(别名:ISO-2022-JP-KDDI)
JIS
JIS-ms
CP50220
CP50220raw
CP50221
CP50222
ISO-8859-1*
ISO-8859-2*
ISO-8859-3*
ISO-8859-4*
ISO-8859-5*
ISO-8859-6*
ISO-8859-7*
ISO-8859-8*
ISO-8859-9*
ISO-8859-10*
ISO-8859-13*
ISO-8859-14*
ISO-8859-15*
ISO-8859-16*
byte2be
byte2le
byte4be
byte4le
BASE64
HTML-ENTITIES(别名:HTML)
7bit
8bit
EUC-CN*
CP936
GB18030
HZ
EUC-TW*
CP950
BIG-5*
EUC-KR*
UHC(别名:CP949)
ISO-2022-KR
Windows-1251(别名:CP1251)
Windows-1252(别名:CP1252)
CP866(别名:IBM866)
KOI8-R*
KOI8-U*
ArmSCII-8(别名:ArmSCII8)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 75
  • 76
  • 77
  • 78
  • 79
  • 80
  • 81
  • 82
  • 83
  • 编码能力强的师傅直接写一个自动测就行了,我这种菜鸡就一个一个试了
  • 还好让我试出来了
?filename=php://filter//convert.iconv.SJIS*.UCS-4*/resource=check.php
  • 1

在这里插入图片描述

  • 然后我猜这样看不到flag的话,那么一定有一个文件叫flag.php
  • 所以我就改了一下第二个参数
?filename=php://filter//convert.iconv.SJIS*.UCS-4*/resource=flag.php
  • 1

在这里插入图片描述


知识点:文件包含漏洞

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/不正经/article/detail/361312
推荐阅读
相关标签
  

闽ICP备14008679号