大家好,我是小安师兄,今天带大家了解下 rc 漏洞,也就是远程命令代码执行漏洞。先看代码执行漏洞,它发生在应用程序将用户输入 直接传递给代码解释器执行的场景。在 php 中,最典型的危险函数是 ever, 它会把传入的字符串当做 php 代码执行。 如果开发者把用户输入直接拼进 l, 攻击者就可以通过构造特殊的输入让服务器执行任意代码。比如一个存在漏洞的代码可能 是 apple user input, 攻击者输入 fame for, 服务器就会执行非透函数,泄露系统信息。更严重的是,攻击者可以写入 web shell, 进而控制整个服务器。 除 the ever, php 中还有 a third fragre place 的 低修饰符等危险函数。代码执行的本质 是攻击者的输入被当成了编程语言的一部分。再来看命令执行漏洞,它发生在应用程序调用系统命令时, 将用户输入直接拼接到命令字符串中。 php 中常见的危险函数包括 system exec shell, execute, pass through, 甚至反引号也会执行系统命令。假设一个网站有个功能, 可以拼某个 ip 地址,代码可能是 system k 码 c, 四秒 ip。 正常情况下, 用户输入八点八点八点八,执行的是 pin 啊 c, 四,八点八点八点八点八。但如果攻击者输 入八点八点八点八 waimi, 在 linux 系统中分号可以分隔多条命,最终执行的是 pin。 c, 四,八点八点八点八 waimi, 不 仅 pin 的 ip, 还执行了 waimi, 这就是命令注入。 无论是代码执行还是命令执行,一旦被成功利用,后果都非常严重。信息泄露,读取任意文件, 窃取数据库密码原码,配置文件权限提升。如果 web 服务运行在高权限账户下,攻击者可以直接获取系统权限,持久化控制。接入 web shell, 建立后门,随时再次进入,横向移动。以内网为跳板, 攻击其他服务器。对于攻击者来说,一个命令执行漏洞就等于拿到了一台服务器的远程终端。和所有漏洞一样,命令执行也存在各种绕过技巧,开发者会过滤危险字, 攻击者就会想办法绕过。最常见的是空格绕过。如果程序过滤了空格,攻击者可以用 f s 同定下划括号等方式替代空格。关键字过滤,如果过滤了 cat, 可以 用 c a t k t c a t 等方式混淆编码绕过,用 base 六十次编码命令执行时解码,再通过管道传给 bash, 比如 echo y 二 f 零 s e 九 l d g m v c g f v c 三 d k base 六十四 d bash 无字母数字 web shell 通过异火取反等方式构造代码,绕过严格的字母过滤。 这是一场持续的猫鼠游戏,攻击者在寻找过滤的漏洞,防御者则需要尽可能覆盖所有攻击名。当攻击者获得命令执行权限后,通常会做一件事,反弹 shell。 什么是反弹 shell? 简单说就是让受害服务器主 动连接攻击者的机器,把命令型控制权送过去。为什么不用正向连接?因为受害服务器往往在内网有防火墙,外网无法直接访问,但服务器通常可以访问外网,所以让他主动出门送货更可行。 攻击者在自己的机器上用 i c l v p 四四四四监听一个端口,然后在受害服务器上执行 dash app。 tcp 攻击者 ip 四千四百四十四零一,这样 攻击者就获得了一个远程命令器。常用的反弹 shell 方式还有 python 版本, pro 版本, php 版本,甚至 telnet 版本。防御者可以通过 nestat soft, ps 等命令检查异常的网络连接和进程。 那么如何防御这两种漏洞?核心原则是,永远不要信任用户输入,永远不要让用户输入直接进入执行函数。第一,避免使用危险函数。如果业务上不需要,就禁用 error system 等函数,可以在 p i p a 以你中通过 disable functions 禁用它们。第二,输入验证与过滤。使用白名单至允许预期的字。如果需要 ip, 就 验证是否为合法 ip 格式。如果需要数字,就强制转换为整数。 第三,使用 escape shell 和 escape shell。 如果必须调用系统命令,用这些函数对输入进行转译, 防止命令注入。第四,最小权限原则。 web 服务运行在最小权限账户下,即使被攻击也无法执行高权限操作。第五,禁用危险配置,如 php 的 all include。 第六,部署 waf 语言, 拦截恶意请求。第七,定期安全审计。用自动化工具扫描代码中的危险函数调用。对于开发者,在代码审查中,您别关注 任何直接拼接用户输入到 apple system 等函数的地方。任何动态包含文件的地方, 如, include get page。 任何调用系统命令且参数来自用户输入的地方。任何使用 play replace 的 已修是福的地方。一个疏忽就可能成为攻击者进入系统的突破 口。代码执行和命令执行本质都是将用户输入误当做指令执行,理解它们的原理、危害和防御是每一位开发者和安全从业者的必修课。 技术本身是工具,善恶取决于使用它的人用这些知识去构建更安全的系统,而不是破坏。我是小安师兄,下期见。
粉丝4767获赞1.6万

本视频耗时五个月,共计三十小时,三十八分钟,零基础自学黑客从入门到入狱,全套教学视频包括工具安装与使用、黑客攻防渗透测试等,共三百六十八集。此视频内容灵感很可能被下架,建议先收藏再观看。声明, 此教程仅供学习,禁止用于违法行为。我这里整理了二百多节网络安全攻防教程和网络安全学习路线,可供大家学习。需要的三个气爆 上方是有关这个缩影和这个视图的一个相关概念,那我们学习完成之后,再来看这个第二个知识点,第二个知识点的话是有关这一个变量和函数, 变量和函数,变量和函数的话,在我们之前的这个编程元素的话就已经有讲到过了,今天我们就不详细来讲这个基础原理了。那么首先有关这个变量变量的话,它是什么?它就是一个相关的容器,是用来存储相应数据的。 那么在我们这个 mysoft 里面,它和其他编程原变量的区别主要是相关的这个作用,以及对应的这个定义和相关的输出会有区别。那我们来看变量的相关定义。变量定义的话,在 mysoft 里面的话,我们用到的是 set 后方跟一个艾特相关的变量名, 这个艾特它是必须要有的,必须要有,那么通过这个等号来进行相关的复述操作。 然后再看第二个就是有关相应变量的输出,变量输出会用到之前我们所学习过的这个 c n 和语句,就是将变量里面的相关数据来给它查询,然后呢会把变量里面的相关数据去给它进行一个输出, 这里就是变量。那么现在呢,来定一个简单的变量,比如说 sit 艾特,然后相关的这个变量里,比如说有一个 number 给它一个数据呢,叫做这一个一百点五五九, 然后复制完成之后呢,现在我们把这个变量里面的一个数据去给它进行一个相关的输出,上方是变量的定义,在这个变量里面存放有一个数据叫做一百点五九, 然后下方呢将这个变量里面的数据去给它进行一个输出,这个时候我们会发现,当我们去输出艾特 number 这个变量的时候,会把变量里面的值去给它进行一个输出,这也就是变量的一个定义和相关的输出。 在变量里面呢,主要比较重要的是有关这个变量的一个类型,那么 microsoft 里面变量类型其实和编程员的话呢,区别也不是很大,唯一的区别在于那么它的一个类型划分会稍微有一点不同。首先第一类的话是我们这个用户 定义的一个变量,就是用户变量,比如说像我们上方就是 seat, 后方单个艾特,它就表示为用户的一个相关的变量。 那我们首先来看这一个,第一个的话就是用户变量,那么前缀为单个的艾特,还有一个的话第二类,第二类的话就是我们的一个局部变量,局部变量前缀它是没有艾特符号的前缀,没有艾特符号,这是无前缀, 这是无前缀,无艾特前缀。然后第三类的话呢,是我们的一个系统的一个变量,系统变量, 那么系统变量的话,它的前缀是为两个艾特,我们可以通过这个变量名前面的艾特个数来区分不同类型的变量。无艾特是局部变量,一个艾特是用户变量,那么两个艾特呢是系统变量。有关局部变量的话,主要是在我们这个 相应的一些这个数据处理流程中去进行一个使用,那我们这里呢并不会涉及到这样的一些复杂的一个事务处理,所以我们主要就是看第一类和第三类,第一类的话就是用户定义的,我们可以直接用 set, 然后一个艾特去定义就可以了。 下方的这个系统变量的话,我们这里呢就是介绍几个比较,我们先来做一个了解吧,就是说有关这个系统变量。系统变量它其实就是 micro 服务器在运行过程中维护的这样的一些配置参数,主要是用来控制我们这个服务器的相关性能。功能包含我们这个服务器的一个功能, 比如说我们可以查看我们这个相关 my circle 里面所有的这个相关的一个变量,比如说 a b 到 e s 这个变量里面,它会存储有 my circle 所有的一个相关变量。那我们来看一下, 那么当前在这个输出的结果下面,是不是有相关的这个变量名以及变量的值,那么就包括非常多,我们往下面滑就可以看到下面这一些呢,它都是我们这个 my circle 的 一些相关的系统变量, 比如说包括我们这个数据的一个相关的目录,还有默认的编码方式是 u d f 杠八,还有我们这个默认的一个密码的一个这个生命周期等等都可以查看到的非常非常多,这就是查看, 查看所有的所有这一个相关的变量。 然后还有我们比如说那么像我们当前打开的这个 level key, 是 不是可以进去建立很多个连接?当前这个连接是一个 test, 那 我现在呢还可以给它创建一个什么,再创建一个新的 my circle 的 连接,比如说给它拉一个 test 零二, 那么当前这个连接的次数,我们也是可以来查看连接次数,它也是属于我们这个系统变量的一种。那么当前的话,比如说我们可以去查看我们的一个最大的最大 的一个连接数,我们说这里呢可以新建,就是相关的可以同时和多个可以同时新建多个连接,那么这个连接数有限制吗?他肯定是有限制的,如果连接的数量过多,是不是会导致我们这个什么相关的一个 服务器没有办法进行的正常使用?那么这里呢我们也是存储在相关的这一个系统变量里面,那么当前的话一定要注意系统变量,它是有两个艾特的上方,这里是存放有所有的变量,所以它什么这就是一个, 这也是一个变量,但是这个变量呢?它不是不是我们这个系统变量啊?系统变量的话它前面已经是会有两个艾特的,比如说查看我们这个最大的一个连接数, c o n n e c t 四,然后来运行查看我们这个最大的连接数,这有一个报错,我们来看一下这个报错的原因在于 说语法不正确,我们这个 m a x c o n e c t i o n s, 看一下这个的话就是一个啊,这也不是数啊,这个地方搞错了,我们说这个变量输出是不是用到的是 c。 net, 所以 这个地方我们写错了,用到的是这个 c。 net。 去查询变量里面相关的一个数据,我们选中来运行当前我们就会发现,那么最大的连接数是一百五十一个,即我可以在这个连接处同时建立一百五十一个相关的 my socket 的 一个连接,就是最大连接数。 还有的话,那么我们呢也可以查看一下这个服务器默认的一个字幕集在上方,我们查看这些变量的时候是不是有查看到,那我觉得上方呢,这个显示内容太多了,我只是想查看变量里面和这一个字幕集有关的这个变量,那我们这里呢,也是去查看 我们的一个服务器默认的一个字母集,那么这里呢? c n k 然后我们的两个艾特,那么这里呢? c h a c t o c t e r 然后呢 c t 我 们有关服务器的相关设置, c h a r a, 然后呢我们来选中运行这一块的话,是不是可以看到,那么这里是 utf 杠八,然后 m b 四,在我们 my socket 八点零的这个版本,那么它的一个默认字幕级就是一个 utf 杠八。如果有同学安装的是我们这个 my socket 的 一个五点零的一个版本的话,那么它的字幕级就不再是这个 utf 杠八, 那我们这个八厘米的房子的话,它就是一个默认式 u 点杠八。所以我们在往这个数据表里面去写中文的时候,是可以直接写入的,因为它默认的字母级就是 u 点杠八这样的一个字母级, 那么上方呢,它是有关这个服务器的一个字母级,那如果我们要查看,嗯,就是说当前数据库的一个默认的一个字母级,数据库的字母级,那么数据库字母级要查看的话,只需要修改后边就可以了, 后边这一道模块,把它换成这个 itbase, 换成数据库,然后来选中运行。那么在当前这个数据库里面,我们默认的这个字体呢,也是一个 u g m 钢化,因为当前我没有对数据库进行修改,所以呢它就和这个服务器的一个数据库和服务器的这个字体是一样的。 如果你修改之后,那么当你就是你去查看这个字体的时候,它可能会和这个服务器的一个默认字体是不一致的。 像我们在这个 my circle 的 这个五点零的一个版本的话,像这个比较老版本的 my circle 里面,我们要往这个数据表里面去写出中文,就需要去修改当前数据库的这个字母体,那我建议呢本身就是本身就是 utm 杠八,所以我们建议呢就不做修改了,我们就了解一下, 现在呢我们就讲到这些不会去讲特别多,我们主要就是做一个相关的了解,然后再看我们这个第二个,第二个的话是有关这个相关的一个函数 函数的话,我们之前有没有讲到过,就是我们之前学习过了这一个相关的一个聚合函数,就是在有关的这个函数函数的话,我们在之前呢学习到了这个聚合函数, 聚合函数比如说求最大值,求相应的最小值,求这个总成绩,求平均分,求相应的个数等等,我们都是可以使用的,并且聚合函数呢通常会和相应的分组语句去进行一个配合使用。 第二类的话呢,我们还有一些针对不同数据类型的一个函数,比如说像相应的这个数学的一个函数,数学函数, 数学函数,观看这个名字的话,其实我们就可以看出来它是和我们这个数学有关的,比如说我们可以求相应的这个数字的绝对值,那么保留小数点后几位,或者说返回我们这个某个数的一个密字方,或者说一个随机补点数等等,就是我们数学上的相关函数。 那我们先来看一下第二个,比如说这个数学上的一个函数,我们第一个的话,那我们呢比如说要查看这个绝对值,就是一个 a、 b、 s 里面呢,给他一个相应数据,那我们就可以返回这一个数据,或者说返回数字 x 的 一个绝对值。 这一块的话,我们可以找到之前这个变量是不是有一个艾特 number, 这个数字是一百点五五九,然后当前的话呢,我们就针对这个变量里面的浮点数去给它干什么呢?返回相应的绝对值。好,这里还不是不是负数的,那我们来给它换一个负数吧,比如说 a、 b、 s 括号里面呢,给它一个数字,比如说来一个负一百点五 五九,然后当前的话我们需要把它进行一个输出,所以 c 那 个口 返回这一个数字,返回 x, 返回这个负一百点五九,它的一个绝对值选中来运行,是不是变成了一百点五九?上方我们看这个表的上方我们是不是可以看到,那么原先这个数字是负一百点五九,然后输出的这个数据呢?这个符号就没有了,它变成了一个相应的绝对值, 这呢是相关的绝对值。然后还有第二个,第二个的话,那么比如说我们要返回,比如说去控制我们这个小数的一个位数, 小数的一个位数,那么当前比如说我们以这个 number 为例,它是三位小数,那如果呢,我只希望它保留一位小数的话,我们也是可以通过这个相关函数来通知的,然后呢给它一个相应的这个位数, 那么当前的话 c minus, 然后利用 round 的 函数,注意这个 i x 呢是一个数字,那么当前这个数字是分布在 number 变量里面, 那么后边指定小数点后的位数,这里我只给他保留一位,原先他是不是有三位的是五九,现在我只给他保留一位,那么是不是变成了一百点六,一百点六,所以我们在进行保留的时候呢,他也是会执行这个相关的一个四舍五入的,也是会四舍五入。 再看一下第三个,第三个的话,比如说我们进行这个 b 四方, b 四方, b 四方的话是一个 p o, w, 然后呢给他来一个这个 x 和相应的 y, 就是 返回 x 的 一个 y 四方 位置,返回 x 的 y 次方就是一个相关的密, 那我们这里呢 c 那 个条去把它进行我们的输出,比如说来一个二的三次方,二的三次方等于多少?是不是等于八?我们看一下这个结果,它是不是等于八的?是不是等于八,刚好就等于八是 x 的 三次方、 x 的 y 次方及二的三次方。我们相关的数学函数的类型是有非常多的, 这里我们只是随便讲三个,那么感兴趣的同学呢,可以自己课后去网上做一个表格,因为在我们这个 my circle 里面,它和编程语言一样,也是有非常多的一个内置函数, 然后再看第三个,第三个的话,那上方的这个数据呢?是数字的,我们再看一下这个和字母有关的这个函数,和字母有关函数的话,比如说呢,我们要将这个字母字母的这个相关的一个前后的空白空白字母去给它去掉,比如说 sum in 的 这个第一个我们要去除,或者说去掉 一个字母首尾的一个空白格, 或者说空白字母都可以。那么 c 那 个后方跟上什么呢?我们这里要用到相应的一个 t、 r、 i、 m 这个函数,这个函数的话就是用来去掉首尾的一个空白字母的注意指示,首尾中间的空白字母没有办法去掉,这个是在外面的字母串。那么当前的话我们就利用这个函数, 比如说我们当前呢有这样的一个变量,把一个 set, 然后艾特有一个 s, 一个变量里面存放了什么呢?比如说我们来一个这个 my circle, 然后在这个前和后分别加一些多音的一个空格。那现在呢,我需要对这个变量里面的一个相应空格去除。首先我们这个 d、 n、 i 是 去掉空白, 空白什么?去掉这个空白格,去掉这个空白字符,然后现在呢我们可以对比一下,比如说首先我们直接输出这个变量,这个艾特 s 这个变量里面是包含空白字符,那现在我要用这个函数把空白字符去掉,我们可以来对比一下。 那么首先第一个的话,第一个呢它输出是为空的,那我们先按顺序执行啊,先把这个变量定义好,定义好之后呢再把这个变量去给它进行一个输出, 然后当想我们把这两个呢去给它进行一个联合查询,比如说来选中,我们就可以发现,那么对比这两个输出结果就是一个前后它是带有空格的,一个前后它是没有空格的,我们往后面拉的时候会发现它后面没有空格了,它会默认将这个字母前后的空白字母去给它去掉, 这也就是我们这个 t r i 这个函数的一个作用。除了去除首尾之外,我们也可以指定,比如说我只去掉开头,或者说只去掉结尾, 那么相对我们这里呢就是第二个。第二个的话,比如说我们只去掉什么呢?只去掉这个开头的,只去掉开头,开头在哪?开头是不是在左边?所以 left 加一个 l, 那 如果我只想去掉结尾的呢?结尾它是在右边,所以 right 加一个 r。 现在我们把这一个相关的函数名给它稍微换一下,一个加一个 l 表示 left, 一个加一个 r 表示 right, 一个是去除结尾,一个是去除相应的开头, 我们把这个开头和结尾的字母呢,就是把它放在一块儿,那么 r 是 去掉开头,那我们再把这个结尾字母也给它去一下, 这个变量呢不需要重复去设置。那么当前我们用一个 r 表示啊,用一个 map 表示,去除的是开头,再加一个 r 表示,去除的是结尾。选中我们来运行, 运行之后会发现,那么第一个我们去除的是开头,所以结尾字母是得到保留的。第二个去除的是 right, 去除的是右边,所以开头的空白字母才会得到保留。就是既可以去掉开头和结尾,也可以只去掉开头,或者说只去掉 some in 的 这个结尾,我们是可以自己去进行一个选择的。 然后再看这个第四个,第四个的话,比如说呢我们要截取指定,比如说要截取指定位置的一个相应的字母,那么现在呢,我们要用到这个 p r i 里面的话,我们就给他一个相应的,你要截取的这样的一个字母,注意数据类型,它一定是字母串。然后呢我们这一个开始的一个位置, 你要从哪个地方开始截取,然后呢你要截取的一个字母的个数,这也是相关函数的三个参数。在下面的话,比如说我们也是来给他一个相关的变量艾特什么,那我们来给他一个这个身份证,比如说来一个 cut id, 给他一个值,那么当前的话六位数,我们随机写下六五四三二 零,然后呢来这个幺九九五,然后零幺二零,然后再来个三六六五,这是不是一个身份证编号?首先呢是这个年月日,然后呢后四位数, 这也是定义好的一个身份证。现在呢我们要截取这个身份证编号里面的一个相应年份,出生年份和对应的这个生日时间,那么我们就可以利用这个函数来进行一个截取。首先呢选中,选中啊,不是首先是输出啊,输出的话我们要输出什么呢?我们是利用这个函数 对字母进行截取,截取什么?首先这个截取的一个数字位置,那么年份是从哪个地方开始呢?这是一二三四五 六,是从第七个位置开始的。相比这个编程语言的话呢,我们这个字母就是说相应的这个 moseco, 它有一个特点,就是说它的一个排序是从一开始的,而不是零,而不是零,它和这个编程语言的一个这个所以值是有区别的。然后取几个我们相关的年份是不是四位数,所以就来一个四,然后下方呢再来截取我们剩一个, 剩余的这一个的话,是不是我们这个 sum in 的 一个这个月份和时间,那么也是我们的对象看的 id。 然后我们这里呢是取完了四个,四个,往后取完了四个,那么这里呢我们是相关的这一个期 八九十,十一,是不是七加四变成十一,然后你要从哪是从第十二个位置开始,再往后面取四个数,是包含相应的这个月份和相应的日期,那么我们这样去进行一个节序来运行,运行的话是不是可以取出这个人出生的时间是一九九五年,然后这个人相关的这一个过生日的时间 啊?这个还取错了,我们看一下二四六八十二十一类,就从十一开始取的, 然后选中答案 v 型是不是我们这个零一一月份,然后二十号生日的这一块的话,就是截取字母串中指定位置的一个相应字母。 除了这一些之外呢,其实我们还有很多方法,比如说进行字母内容的替换,小写字母转大写,大写字母转小写等等也是非常的多,我们就不全部讲了,我们就主要看一下相关的这四种, 然后还有一些就是上方呢,我们学习到了这个数字型的字母型的是不是还有一类,还有一类的话就是我们来搜索中的数据类型,是针对我们的一个日期和时间的,时间和日期的一个函数。 那么这一块的话呢,其实相比上面几种要更简单,因为我们要去记这个日期函数的话非常简单,比如说相对的话呢,我们要获取当前时间,我们就可以用这个 no 这个函数来进行一个获取 no 这个函数。 那么这一块的话呢,除了这个之外,我们还有,比如说有这个 local time, local time, 然后还有的话,比如说我们这个我先把这三个写了,这三个的话,这两个的话是属于一类,还有一个,还有一个的话是我们这个可瑞特最近的 c u r r e n t, c u r e n t, 然后呢有个时间出 s d a m, 那 么这四,呃这三个的话呢,它都是用来获取,获取什么呢?我们这个 my socket 呼气等当前时间和相关的日期, 然后下方我们来说出一下,比如说当我们拿一个 no 的 时候,这个函数 no 这个函数,然后呢我们也可以利用一下这个 local time 就是 什么呢?本地时间,又或者说来一个是一个 secret, 就是 当前的一个时间戳,最近的这个时间戳 c u r e n t s e n t 选中,然后来运行,运行之后的话,我们看一下这个单词写错了, c u r r e n t 哦, time, 这前面还有个 time, 就是 相应的这个时间,那么选中来运行 在这一块的话,我们就会发现,当我调用这三个函数的时候,都可以获取到当前的时间和日期,比如说年月日,还有这个十分秒是不是都可以获取?获取到的这个时间和日期也都是一致的?这三个函数呢都可以用来获取我们 my circle 服务器的一个当前时间和日期,然后再看第二个,这里是比如说第一个, 然后再看第二个,第二个的话,比如说呢我们要获取这一个时间和日期 中的指定数据,指定数据,比如说要获取年份,我们就可以用一个 year, 如果你要获取月份就可以用一个 mask, 我 们都有对应的这样的一个报对应的这个函数来获取,然后呢还可以获取到这个日期定,或者说获取对应的这个小时 over, 然后获取相应的这个分钟, 这里是 m i n t i m i n 啊,这个地方 m i n 然后呢 u t e 还有对应的这个什么呢?相应的这个分钟, 那么现在呢,来分别看一下,这里是获取。首先先来看要这里是获取什么?获取年份,这个时间日期里面的年份,这里是获取月份, 下方呢是获取这个日期哪一天获取这个天,然后下方呢是获取这个小时,是今天的第几个小时?下方是获取五分钟, 然后还要获取这个相关的秒数,甚至呢还有对应的这个微秒,会获取对应的这个秒数。 那我们这里直接拉一个 c note, 然后呢拿一个这个样,然后给他一个相关的这个时间。那么往下面的话呢,还有我们这个 month 相关的一个月份, 下方再来一个我们这个日期,再跟上相应的这个小时 over, 然后再跟上一个,比如说相应的这一个分钟, 后方再来一个我们这个相关的一个秒数,比如说我们可以利用上方的函数先来获取到一个时间,我们再对获取的时间呢干什么呢?来给它进行一个相应的截取,或者说我们也可以自己去定义好一个相关的时间。 那么当前呢?这比如说我们来一个 fit, 去定义一个变量艾特,然后呢我们这里有一个 my time, 我 的一个相关时间怎么去写呢?注意呢?在这个地方,那我们首先年份,比如说二零零二, 然后呢十二十二,这也是相关的年份,年份的这个后面的话我们再给他来一个小时,比如说来一个二十点二十分三十秒,我们现在呢要对上方这个数据来进行一个什么取取指定的一个数据, 我们现在呢来运行,运行完成之后,那首先获取年份,年份是不是二零零二,然后月份十二,然后日期十二,相关的这个小时是二十分钟,以及秒数是不是都可以获取到, 或者我们这里呢?如果你感觉这个十二和十二二十不太好区分的话,我们也可以呢给他修改一下,比如说十二月一号这里呢,我们是二十点十分,然后三十秒,我们来选中,然后运行当前时间,就是我们从这一个 类型这个数据类型里面所获取到的年份是二零零二月份是十二,相关的这个日期是一号小时是二十,然后分钟时分秒数是三十秒,是都可以利用函数来获取到这一块的话,就是获取时间和日期中的一个指定数据所对应的一些函数。 然后还有一个非常重要的上方呢是第第三个,我们再看一下第四个,第四个这一块呢是重点,因为我们在后边学习这个 soco 输入的时候,那我们拿到权限之后需要进行一个提权操作,提权的话我们需要针对这一个什么呢?把机的一个相应系统信息来选择合适的一个提权的类型,那这个呢是有关我们这一个系统,就是 my socket, 就是 相关的这个系统的一个信息函数。那么这一块的话,比如说我们可以 win 省 v、 r、 s、 l n 这一块呢是查看我们这个服务器, 这是查看服务器它所使用的一个版本号,版本是哪一个。然后还有的话,比如说呢,我们可以查看一下这个 sell in 的 五个连接的 id, 比如说当前 my socket 的 一个连接 id, 我 们这里呢就是一个 connect n、 e、 c、 t, 然后 id 再往下面的话,比如说我们可以查看当前数据库的一个名称,当前 数据库的一个相关名称这一块呢就是我们的一个 date base, 到后面的话,还有当前所连接的这个账户名,我当前连接 或者说当前登录,当前登录的这个账号名,账号名的话就是相应的这个 user, 就是 当前是以哪一个用户身份来进行连接和登录的。 还有呢我们这个数据库文件的这个存储路径这一个呢也非常重要,这一块的话是我们相关的这个系统变量,就是两个艾特 date 啊,就像我们通过就是说查看在哪呢? 查看我们这个所有的一个变量的时候,是不是有查看到就是我们相关数据库的一个存储路径,就是这个相关的一个系统变量。然后现在我们分别呢给它进行一个输出,比如说 c note, 我 们先来查看上面的几个,比如说把这个顺序呢稍微调换一下放在后面, 比如说第一个呢是相关的这个版本信息, v e r s i o n v e r s i o n 这个呢是这个英文的,再来一个相关的这个连接 id, 再跟上一个我们这个数据库名称,然后呢相关的这个用户名,还有我们相关的这个存储路径 这里呢我们的一个 base d a s e, 然后我们这个 c o n n e c t 杠 id 我 们选中来运行,运行的话,这里呢它说这个连接 id 不 存在,我们来看一下这个 c o n n e c t 这里在这个地方。 好,这里是个名词啊,名词我忘记了,这个地方的话应该是我们的名词形式的 connection id, 我 们现在呢再选中来运行, 那么现在我们就可以查看到。首先呢就是我们当前这个 myson 的 版本,是八点四点几的一个版本,然后相关的连接 id 呢?这里是相关的这个八,后边还有当前数据库的名称,当前我们这个查询语句是不是在 mystore 这个我们自己创建的数据库里面去执行的,所以当前数据库的名称就是我们当前正在使用的这个数据库。 然后往下面的话呢,还有这个相关的一个 users, 就是 user 就是 查看当前的这个用户信息,当前我登录进来使用的是 rota 这个用户就是相关的这个管理员的一个用户登录进来的。 后面呢还有我们这个数据存储的位置这里呢?这里是我们数据存储的位置,它和相应的,它和我们这个相应的一个 my socket 安装位置是不一样的。比如说我们找到就是将我们这个电脑里面相关的这一个 my socket 的 话,它是安装在我们对应的这个 f 盘下面,比如说找到就是在 f 盘下面。

本视频耗时五个月,共计三十小时,三十八分钟零基础自学黑客从入门到入狱,全套教学视频包括工具安装与使用、黑客攻防渗透测试等,共三百六十八集。此视频内容灵感很可能被下架,建议先收藏再观看。声明, 此教程仅供学习,禁止用于违法行为。我这里整理了二百多节网络安全攻防教程和网络安全学习路线,可供大家学习,需要的三个气爆。大家好,现在我们开始 今天 p h p 基础知识的一个课程。那么首先今天我们的课程主要包括两方面,第一个方面是 p h p 的 基本常识,第二方面是 p h p 的 基本语法,基本常识主要包括 p h p 的 一个定义, p h p 的 它的开发环境以及它的运行环境。 p h p 的 基本语法包括 p h p 的 一个数据类型,包括它的一个常量,还有浮点型、整形制箍串类型。第二个是 p h p 的 一个变量。 第三个是 p h p 的 一个常用函数。那么针对于 p h p 的 基本常识,我们只需要呃了解就可以了。针对于 p h p 的 基本语法是我们今天重点需要掌握的内容, 那么这里在我们以后针对于 p h p 开发过程当中遇到的一些问题,我们可以啊参考 p h p 的 一个中文参考手册,并且到 p h p 的 一个官网下载 下载最新的文档。那么这里在 p h p 的 一个参考手册当中,呃共有一百八十九类函数,五千多个,一百八十九类函数,五千多个函数,那么其中我们开发当中常用的呃也就是一百个左右。 p h p 的 定义是 personal home page tools, 目前我们对 p h p 的 一个定义是抄文本与处理的一个字母缩写。 pp 本身是一种被广泛应用的开放源代码的多用途语言,在二零一七年最新的十二月份的编程语言排名,它处于第第九位的这样一个位置,那么针对于前两年啊,是有所下降。 ptp, 它是服务端的一个脚本,它返回的是 html 代码。这里与 php 竞争的语言主要是三类,第一类是微软的一个 c java 语言,第二类是 oracle 的 一个 java 语言啊,第三类是谷歌的一个编程语言。 那么这三类语言啊与 php 目前都是当前软件开发领域很流行并且被很多人使用的啊几种语言。 p h p 的 开发领域主要应用在服务端的一个脚本啊, 更多的是应用在这个外部开发,中小网站的一个外部开发。那其他两种场景,一是命令行的一个脚本,那命令行脚本它主要是直接在 dos 命令服务下执行 p h p 程序。另一种主要是一个 cs 客户端的这样开发, 但是目前呃应用场景较少,那么主流的还是呃服务端的一个脚本开发,一个外部开发。 p h p 的 运行环境在软件开发中,程序开发人员大部分是使用 windows 的 一个操作系统 啊,所以程序的开发人员需要熟练掌握 windows 下的一个 p h p 开发运行环境,那么在其他的操作系统上也可以进行开发。这里的操作系统就包括 linux, unix, 还有 mac 的 一个操作系统, 那支持 php 的 运行的一个服务器包括阿法奇 i s, n g x, 那 php 本身它是支持多种数据库的,那主流的包括 my sql server 和 oracle。 那 么这里我们首先先看一下 php 的 一个数据程序, php 脚本,它是以左监左右监控号,然后问号这种作为结尾开头,结尾的这样一个呃标签。 那么首先大大家先看一下当前的这个市力,当前的这个市力,首先我们以呃左肩公号问号 p h p 作为这个脚本的一个开头,那首先定义 a 变量,赋值六十六,定义 b 变量啊,赋值七十七。下面的语言我们主要是 一个对比, a b 两变量它大小并且啊较大的值进行输出的这样一个代码。我们这里给大家展,给大家演示一下它的这个程序运行之后的一个结果, 大家可以看到这里哦,我这边 php 的 一个运行环境,它是阿帕奇,那数据库呢?是用 my sql, 但是我们只是简单的重新运行,没有涉及到数据库。 这里我们将数据程序啊写入以 php 为后缀名的一个文件当中,在阿帕奇服务器进行运行, 命名为 p 零幺点 p p p 这样一个文件。我们访问当前页面的这个路径, 大家也看到这里它输出的是八十八,因为这里我定义了 ab 两个变量,分别是八十八和七十七,八十八显然是大于七十七的,所以说这里它输出较大的值就是 a 变量的值,这里我们将 a 变量的值改成六十六,那这个时候它是小于 b 变量的。我们再查看一下输出结果, 这里可以看到啊输出结果发生的变化变成七十七了,这里我们将七十七的值是赋给 b 变量,那么七十七大于六十六,所以说这里它输出的是 b 变量的一个值。 如何将这个 php 的 这个脚本语言与 html 页面进行一个融合呢?我们首先将 php 的 一个代码嵌入到 html 一个标签当中,那这里大家可以看到, 在 html 这个标签当中,我首先定义了一个 tab, 也就是一个表格在表格当中,在表格的单元当中插入 啊 php 的 一个脚本,也就是输出当前的一个时时间,利用这个 php 它自身的一个代码函数获取当前的一个时间,这个时间的格式包括年月日十分秒这样的格式进行当前时间的一个输出, 我们来运行一下当前的代码,看看它的一个输出结果。 这里我已经将代码写入到 p 零二点 php 的 这样一个 php 文件当中, 然后我访问运行, 可以看到这里已经将当前的时间系统时间进行输出了,并且在这个页面进行显示,是插入到当前表格 html 标签的表格的一个单元当中, 我们审查元兽,看看是不是将我们 p h p 输出的内容直接在 h t m 标签进行一个显示,可以看到这里直接将日期放到 tab 的 一个啊单元表格当中了, 这样的话就是将 p h p 的 它的一个脚本与 h t m 标签进行了一个融合。 讲完了前两个一个 php 的 一个失利代码,大家可以看到我们在 php 代码当中,每一个语句后面都会用分号结束本条语句,因为这个是必须的,否则它会报错。 那么针对于最后一行的代码,我们可以不用分号结束,但是建议最好写上 可以看到以下代码。这里首先首先我们利用右肩括号、左肩括号、问号 p h p 作为当前 p h p 脚本的一个开头, 然后我们定义一个内幕的变量,并将它赋值,就是 ppt 测试,然后用分号结束当前的这条语句,就说明我们当前这条语句已经结束,那么下一条语句就是输出内幕这个变量,同样用分号结束当前语句。最后我们用问号右降号结束 当前的一个 p h p 脚本,那么分号就作为代码风格符在 p h p 脚本当中应用起来。 那么另一方面就是 p c p 的 一个注目,因为注目本身对程序编辑也是很重要,针对于每一行代码,它的一个解释说明,不管是为了后续代码的维护,还是我们自己编辑时候功能的一个注目都是很重要的。那么针对于 p c p 的 一个代码,注目我们分为两种,第一种是单行的注目, 单行的注目主要是利用反斜杠,两个反斜杠后面加注目内容, 对字不串进行一个注示,那么块注示呢?这里我们用反斜杠,然后中间用两个星号,然后将注示内容放在中间进行一个注示,这是两种注示方式。

挑战,用三十条视频把你打造成专业网络安全实操达人!警告,本视频耗时三十二分钟,全年超六千字,从变量、数据类型、运算符、流程控制、函数、数值、 文件包含等核心基础语法到 php 链接 i s q l 实战开发全书里一站式掌握 php 基本语法与后端实战引用配套学习资源包已经备好,无偿分享,需要的可以评论区留七七七,下面正式开始。 大家好,那么这节课呢,咱们来学习一下 p h p 的 一些最基本的一些这个语法啊,那么我们后期如果要自己搭建一个靶场的话,我们会用到这个 p h p 啊,那么我们先把这个文件先给大家删除啊, delete 重新新建一个啊,来右击新建,那么我们新建的话后缀呢是一个 php 啊,咱们选中这个 php file 就 可以了,然后名字我们取一个 demo, 这个零一号回车, 那么这个呢,就是我们创建好的一个这个 php 啊,那么因因为这个 php 的 话,它里面可以接入很多语言啊,那么这个咱们咱们到后面慢慢给大家做一个讲解。 第一个啊,这个肩骨号问号 p h p, 他 和咱们 h t m 里面那种格式有点相似,对吧?他也是有一个这个开始,也是有一个结束,对吧?开始啊,这是他的开始,肩骨号问号 p h p 结束呢,就是问号肩骨号,对吧?那么这个结束啊,我们想写也可以写上,不想写的话也没有关系。 好,那么咱们呢,先从最基本的这个变量的一个这个定义啊开始呢,给大家做一个这个讲解,这个地方的这个变量啊,和我们很多编程语言的都是非常非常的这个相似。 好,那么下面的话,那我们简单写一下,首先第一个怎么去定义,我们需要有一个这个关键字到了,然后后面的话跟上一个名字,比如说 name, 元音这个张三,对吧?好,那么这样的话,咱们的一个变量呢,就给他定义成功了,但是要记住啊,后面他的后面是一定要写这个分号,在咱们的一个 java 操作当中,我们这个分号的话可以写,也可以不用写, 他不会报错,但是在 php 当中,一行代码写完之后,一定要记得加上这个分号,对吧?好,那么加完之后,那么下面我们给它打印一句话来,怎么打印呢?一口啊? e c h o, 然后打印什么呢?打印一个这个 name 或者打印一句话都可以,对吧?我们怎么打印这个 name? 就是, 然后这个 name 这么一写就 ok 了,记住后面加上分号,对吧?那么写完成之后,我们让它来运行一下,我们可以在浏览器运行啊,或者点击这个咱们的一个这个显示器啊,这个编辑器它自带的这个页面,我们打开之后可以发现,对吧?它输出了一个张三 或者干嘛呢?我们也可以单独给你输出一句话啊,比如说 hello l d, 对 吧? hello word, 好, 那么写完之后来右击做一遍啊, 走完之后咱们运行这个 demo 零 p h p 啊,运行完之后,对吧? hello word, 或者在下面我们也是可以看得见的, 那么这个呢,就是咱们 p h p 当中最基本的一个这个语法,对吧?打印是用的 echo, 然后我们的定义变量呢,通过这个关键字 do 来进行定义,那么我们这边的一个名字还是一样,和 python 也好,这个名字绝对不能用咱们的一个这个关键字啊, 绝对不能用关键字。 ok, 好, 那么定义完成之后呢,咱们简单给他做一个打印就可以,对吧?好,那么下面我们再给他多定几个这个类型呢,是一个字母串,对吧?我们呢也可以给他定一些整数啊,比如说这个 num 一, 它等于这个十分号结尾,到了 num 二等于这个二十分号结尾,对吧?我们也可以这么写,依靠什么呢?依靠咱们的这个到了 num 一, 然后加上咱们的一个这个到了 num 二,好,分号结尾,对吧?来,我们用行一下看它的 一个这个效果,对吧?最终结果三十啊,也是要给我们打印在了这个地方,或者在控制台我们也是可以看得到这个结果的, 我把这个界面往边上放一点吧。好,那么这个呢,是咱们最基本的一个打印啊,打印完成之后,我们后面呢再给他加一个换行啊,那么怎么加呢?我们点上一个这个引号里面写一个间隔号, b r b r 这个东西在咱们前端里面呢就是一个换行,对吧?在我们这个地方他也是一样是一个换行。好,那么还有一个就是注视啊,他的注视怎么添加的?和 g s 一 样两个斜杠,比如说这是变异变量,对吧? ok, 这么简单给大家写一下就可以了。好,那么定义变量,咱们定义完成之后,那么下面呢,我们就要看咱们这个 p h p 的 一些数据类型了啊, p h p 数据类型。好,那么数据类型有哪些?第一个来到了,就是我们刚刚写的自创,对吧?比如说 o r e 等于什么?等于一个 h l hello, 这个 p h p, 对 吧?这个呢,是一个自创类型,来写下啊,自创类型,我把它往后面来一下啊, 好,字母串尾了之后还有什么呢?来,英语输入法啊,到了我们的一个这个 number, 等于一个这个一百啊,或者写个幺零零八六,对吧?这个呢,是咱们一个这个数整数类型啊, 整数的,有整数就有这个小数,对吧?多了 f l o u t 啊, float f l, o u t, 然后 n u m, 它等于这个一零零点二五吧,随便写一个,对吧?这个呢,就是咱们的一个这个小数,对吧?也叫浮点数, 好,这是他的一个类型,还有呢,就是他的一种数组类型,来写一个,到了咱们的一个这个 a r 杠,这个 date 啊,等于什么呢?等于我们的一个这个 a r r a y o r, 然后在 o r 里面我们给他写,比如说张三, 正好李四,逗号王五,逗号叫六啊,这么写就可以了,叫六, ok 啊,这么简单的写下就可以了,那么这个呢,我们把它称之为数足啊,来分号结尾写个,写个数足 数组类型,好,那么这些呢,就是咱们这个 php 它里面的一些这个数据类型啊,这么几种,我们呢先简单给大家演示一下,那么下面呢,我们可以把这些值啊,一并给它做一个这个打印,来一口, 我们这么打印,对吧?啊?字母串冒号,然后点我们的这个,到了 where are you, 然后点 一个这个 d r 吧,我们给他换一行吧啊? d r, 对 吧?来一个换行,好,那么字母串是它,对吧?然后继续点,后面的话是整数,对吧? 整数啊,对应的是点咱们这个,这个到了 n u m, 对 吧? number 啊, n u n b 啊, 好,然后点一个这个 b r, 我 们给他换一个横,然后再点咱们的一个这个浮点数, 我们把这些一并给他打上,对吧?中间拼接就用这个点来进行一个拼接就可以了,然后继续浮点数,它对应的是这个点,咱们的一个这个 float, 对 吧? f l o e t 啊? flalt n u m, 对 吧?然后再点上一个这个间隔号啊一啊,对吧?换行,最后呢就咱们一个竖组,对吧?点上咱们的一个竖 组冒号啊,也是要点咱们一个勾呢啊? a r r 杠,这个待特好,那么我们就先这么写,但是这个地方写完之后有问题,对吧?我们不能直接打印这个 l d 的 r 是 干嘛呢?我们要打印它里面的某某个值,对吧?怎么写呢?中国号,比如说第一个,对吧?我们中国号写个零, 这样呢给他做一个数据就可以了,然后我们来用机运行,看他的一个效果,对吧?字母串整数复点数,数组里面的值,对吧?我们可以单独把数组里面的值给他拿出来,直接写数组,他会给我们发生一个这个报错啊,我们这么写一下就 ok 了。好,那么这几个呢?就是咱们的一个这个呃,数, 这几个就是咱们 p h p 当中的这个数据类型。好,那么说完这个数据类型之后啊,那么下面咱们来继续来讲讲它里面的语法。第一个就是条件判断啊, 这个条件判断啊和 g s 当中基本上就是一模一样啊。咱们来先叨叨一下,先给它定义一个这个年纪,比如说 age, 对 吧? age, 那 么呢让它等于一个这个二十五啊,先定义好, 定义好了之后,那么下面我们就要写它的一个判断,对吧?单独的就是 e f, 什么呢?括号加条件,然后干嘛呢?比如我们的到了 age, 如果干嘛呢?它是小于 等于十八啊,小雨等于这个十八打不好,对吧?我们在这个里面呢,来给他进行一个这个代码的一个这个书写啊,把它写规范一点,这样一个空格,对吧? 如果我们的这个到了 h, 表示他是小雨,等于这个十八,怎么搞呢?我们给他输出一个 e q e c h o, 那 么太小了, 好,这么写下,对吧?写完之后我来看一下啊,这个地方后面加上一个这个分号结尾,那么这个写完之后,我们最后再给他一口一个啊,一口一个这个 b r 吧, 换个号啊,不然的话全部会堆叠在一起,堆叠在一起看起来这个效果呢就不是很好看了啊。那么如果大家把这代码都堆叠在一起, 我们可以选择咱们的一个这个 code 啊,里面有一个这个 reformat code, 它呢可以帮我们格式化,就是整理一下咱们的一个代码,对吧?好,那么整理完成之后,我们也是要来 这个地方来运行一下,看一下它的一个效果,对吧?太小了,对吧?条件不满足,这是单独的 e f 的 一个这个使用。好,那么下面我们再来写啊, e c h e, 咱们来给它加一个这个换行 e r, 好,那么下面就是 if 和如果什么什么,否则什么什么,对吧?我们这么写啊, if 括号怎么的多了 h, 如果它是小于等于十八,对吧?也是一样啊。啊,大于等于十八,大于等于十八,这应该是小于等于十八啊, 小宇等于十八 h h 是 二十五,二十五,我们的年纪啊,应该这么写啊,年纪小宇等于十八,对吧?小宇等于十八。我们就来一口。杠呢,太小了,对吧? 好,那么否则的话杠呢?就是太大了,对吧?那么后面的话,我们就写个 else e l s, 对 吧? else 杠呢?来一口,然后 太大了,对吧?这么一写就可以了。好,那么写完成之后,那我们也这样运行,看它的效果,对吧?是不是太大了,对吧?刚刚这个太小了,然后这个呢?又太大了,对吧? 这个呢,就咱们的一个这个条件判断的一个用法,然后把这个暂时先给他添加一个这个注式啊,对吧?添加一个注式,我们来主要看这个地方,对吧?太小了,或者太大了,那么我们如果说中间再加一个条件呢?比如说 if, 对 吧? if else, 对 吧?就如果 如果什么什么,否则什么什么,那么中间的我们再给他添加一个这个,或者来把它注射,对吧?下面的话我们来这么写一下, 把这个 b r 也暂时先给他注射,那么下面我们在这个地方来写 e f 括号,咱们的一个这个刀呢? h, 如果他是小于等于这个十八,对吧?咱们就给他一考一下,太小了,太小了 啊,小与十八,应该是太小了,对吧?如果它等于十八,应该是刚成年,对吧?来,怎么写呢? else, 再写一个 is 括号,什么呢?咱们的都了啊?一,呃,都了,这个 age 干什么呢?如果它等等于这个十八,对吧?那么就说明什么呢?它刚好成年,对吧?一口来一个,这个 刚好成年,对吧?刚好成年分号,好,那么如果它就是大于什么呢?那你就写个 else, 对 吧?来啊, e l s 一, 对吧。嗯, else 啊,在这个,嗯, else 一, 这个是 if 的, 这是 else else if, 咱们这个年纪刚好成年,那么 else, 哎,怎么没有提示啊?这个地方 else 一口太大了,太大了,我说呢,应该是这地方没出来,好,这么一写就可以了,对吧?好,那么现在年纪是二十五,对吧?二十五的话肯定是太大了,对吧?那么如果是 十五呢?他就是太小了,来,又急又行,对吧?太小了,如果刚好是十八岁,对吧? 刚满十八岁,右击走,对吧?刚好成年,对吧?那么这个呢?就咱们一个条件判断的一个这个写法啊,和整个这个加括号当中基本上就是一模一样,没有什么太大的一个这个区别。好,那么这个说完之后,条件判断完了,那么下面干嘛呢? 下面就是咱们的一个这个循环了,对吧?来一口,然后我们给他 b r 一下,换个横 分号结尾,下面我们来写他的一个这个循环啊,循环这个地方也是这样,就是反反复复让某一个代码执行多少多少次,对吧?那也是这样,第一个开始变量, vr 一 啊, vr 二的啊,或者 vr 的 啊, vr 杠 s t r 的 啊,或者 vr 杠 n u m 版, 等于一,对吧?单独先给它定一个开始值,然后后面的话关键字写这个 will, will 什么呢? will 里面干嘛呢?我们就需要给他写这个它的一个这个条件啊, 我们的这个都呢 v r 杠 n u m 干嘛呢?如果它小于等于五,对吧?我们总共干嘛呢?让它循环个五次啊?循环个五次,然后下面我们来打印啊,一敲啊,这是我的,比如说啊,这是我的第 多少次,对吧? d 点咱们的一个这个多啦,不好意思啊,点咱们的一个多啦 v a r n u l, 对 吧? d 多少多少次循环,对吧?次 执行,对吧?然后面的话点上一个这个 b r 换行,每次我们给他换一行,对吧?好,那么这个地方写完之后 还有个点需要注意,干么呢?我们每个值,记住啊,每次循环它这个值必须要加个 e, 如果不加 e, 那 么它就是一个死循环,对吧?所以说干么呢?我们下面必须要写,来到了这个 o v a r, 朋友们必须要加,加就是干么呢?每次执行呢?给你加一次,对吧?你加个 e 啊,你执行一次,给你加个 e, 执行一次,给你加个一,好,那么我们来有机运行,哎,对吧?这是我的第一次执行,第二次我们在这一方也可以看见的吧?第一次执行,第二次执行,第三次执行,对吧?好,那么这个地方我们给他换个,行吧,因为这个里面打印它会对接在一起啊,我们可以在浏览器上面去看一下,或者呢,我们也可以 在咱们的这个浏览器当中打开它,对吧?啊?这个地方看也是可以的,好啊,关掉一个,不然的话打开太多就不好了, 这个呢是咱们物有循环最基本的一个写法,对吧?就是干什么呢?当条件满足的时候,循环体开始执行,对吧?那么还有一个呢?和咱们 g s 这样,就是呢,就是都要循环,对吧?啊?就是无论, 无论条件是否成立啊?代码先执行。对, 代码先执行一次,对吧?无论是否成立,我干嘛先给你执行一次,对吧?那么这个地方 o u m e 吧,啊? u m e 啊, u m e u m e。 然后下面再给他写个 u m e 啊,来我们这一方给大家写一个换行啊,来 一扣一啊,这么一写就可以了。好,那么下面这个就是无论条件是否成立,那就是咱们一个换行啊,来一扣一啊,这么一写就可以了。好,那么下面这个就是无论条件是否成立,对吧?来一扣一啊,这么一写就可以了。 v r 杠这个 n u m r 等于这个一先写上,那下面的话我们来 do 啊, do 里面就是咱们需要执行的一个这个代码,对吧?我们先随便写啊,写完之后让它加加,对吧?来一敲,干嘛呢?啊?我先执行 一次,对吧?好,那么执行完一次之后干嘛呢?我们下面的话再来写这个,咱们的一个这个 vr 再给他加一次吧,来 v a r r vr 干嘛呢?来加加,对吧?执行一次。好,那么下面呢,我们来给他写一个条件啊。 will 什么呢? will 括号,咱们的一个这个多了 vr u m 干嘛呢?他也是来大于小于等于五吧。 好,就这么先写一下,那么写完成之后啊,那么咱们下面来验证一下他的一个条件,来右击一用行,对吧? 我先执行一次,我先执行一次,我先执行一次,对吧?很明显现在条件成立,对吧?如果条件不成立呢,对吧?我给他改一个大于等于五的,大于等于五他肯定是不成立的,那么不成立干嘛呢?来,我们右击走,走完之后可以发现他就执行了一次啊, 这个呢,就是咱们几个都要循环,就是我不管你这个条件是不是真的啊,或者是假的,对吧?我告诉你,我直接执行啊,我先给你执行一次,就是霸王硬上弓的意思,对吧?先来执行,执行完之后我再去看你的这个条件,先斩后奏啊,一样的一个效果。 好,那么这个呢,是咱们的一个这个物要循环,物要循环完了之后呢,就是咱们的一个负循环啊,我们一口一下朝间隔号,咱们的这个 b r, 这个写上啊,在这个地方啊,也加上这个分号啊,屁股后面。好,那么下面的话就咱们这个负循环啊, 负循环的写法和这个 g s 也是一模一样,来,干嘛呢?直接写这个负啊,关键字负括号干嘛呢? n u m 来刀,不好意思啊,刀了 n u m 一 啊, n u m 零一吧,零一,这么写 n u m 零一干嘛呢?它等于一个一,然后后面的话分号 后面写它的条件,刀了干嘛呢? n u m 零一它干嘛呢?小于等于五, 这个写完之后分号后面杠呢?咱们呢?到了 n u m 好 意思啊? n u m 这个零一杠呢?它要写一个,这个加加,对吧?我要给你加一次,好,那么 f 循环,它的特点就是我必须要知道你这个东西到底要执行多少次啊?你要执行多少次?我得知道这个东西 好,那么把这个给它写上了之后,那么下面的话我们直接打印就可以了。一口啊,那么呢,点上,这是我执行的 d 多少次,对吧? d, 哎,哪个地方有问题,我看一下啊。 啊? n u m 零一 n u m 零,哎,这张应该没问题。一口,哦,这张多了点啊,不好意思啊,这是我执行的 d d m 多少次呢?多了 n u m 零一次,对吧?来 n u m 零一点次,然后五号 一啊,好,这么简单写一下,对吧?写完成之后啊,那么下面呢,我们来执行一下他,看他这个效果。来啊,这是我负循环啊,这是负循环吧,这是负啊,这是 will, 对 吧?把它换一下,这是 will, 这样容易区分,对吧?来走,走完之后,对吧?这是 will 执行的,下面的是 for 执行,对吧?两个呢是一样的,都是啊,就是 will 循环,我可以不知道你执行多少次啊,因为他,对吧?条件吗?我可以给你写死, 永远永远都成立,对吧?好,那么负循环我们得知道,对吧?他到底要执行多少次?所以说我们要在这个里面啊,一定要把它写完善啊,一定要给它写完善。 好,那么这个说完之后,涉及到咱们循环的还有一个东西,叫什么?叫数组的一个这个便利啊,数组的一个便利,怎么去便利这个数组?好,那么下面的话来一口啊,一口,嗯, 封号啊一啊,对吧?这么一写就可以了。封号,然后下面的话 便利数组。便利数组就是什么意思呢?就是我们这个就相当于是咱们 python 当中的一个否循环了,对吧?便利循环的,对吧?那么这地方用的是否 h f r e a c h 啊? 否 h 循环就是将一个数组里面的值一个一个给它打出来,我们刚刚在这个地方不是已经给它创建了一个吗?对吧?我们把这个给它直接复制过来,来 ctrl c, 然后在这给它 ctrl v 粘贴,粘贴完成之后,那么下面我们就对这个值来进行变异啊,写个 get 一 吧啊,不然的话名字重复了。好,那么下面我们来否这个 h 啊否 h, 然后里面的话,我们需要把这个名字啊,就这个 数字的一个名字给它写进去,到了这个 a r r 杠,这个 get 一 写进去,然后干嘛呢? as 这个 value, 就是 把它的值要给谁呢?给这个 value 啊, 把它里面的值便利出来,给到谁呢?给到这个 value 完了之后干嘛呢?我们来打印这个 value 啊, e c h o e e, 然后点这个 e 口,我们直接就是 value 啊,到了啊, value 第一,后面必须要跟你对 e 口 value, 然后点一个这个 b r, 对 吧?换行啊,每打一个给他换一行,好,那么下面我们来看他的一个这个结果啊,右击 运行,对吧?张三李四王五雷,对吧?就是把它里面的一些元素一个个的啊,给他拿出来,按顺序啊,一个一个一个的给他拿取出来,对吧?那么对比 python 来说的话,其实 python 只需要用一行否循环就可以完成这样的一个工作啊。但是在咱们的 php 当中啊,要写这么一个否一尺啊, 单独一个否循环,他也是执行的一个次数啊,好,那么我们这么给他简单做一个这个操作就 ok 了,那么这个呢,是咱们的一个这个否一次的一个循环否一次他除了可以执行便利咱们一个数字之外,他还可以变成这样的一个东西,来一拷啊,呃,一拷啊,然后 一拷啊,然后 b 啊,他还可以辨别对象,来,我们这么写啊,高呢?咱们的一个这个, 咱们一个这个代替杠,这个 o b g 啊,这么写下 o b g 吧,那它等于一个这个 a r a y, 然后这个里面我们这么写怎么写呢?箭指对的形式, name 啊, name 它对应的是,比如说 peter 啊, name 对 应的是 peter 啊,然后这个 love 爱好,它的爱好什么呢?比如说是唱歌对吧? s o n g song 对 吧?朗诵或者唱歌对吧?然后它的性别啊,然后 s d x 对 吧? six, 它对应的是随便写,简单写一个 e o y 对 吧? boy 啊, 好,那么先简单这么写下,写了完成之后,那么下面,对吧,这是一个对象,就是一个键,它指向一个值,一个键指向一个值,就像 python 的 字典一样,那么我们怎么对它进行一个编辑呢?也要用到这个否一尺,对吧?这个键我们把它称之为 k 啊,那么值呢?就是 value 啊, k value 的 一个形式,就相当于这种啊, k 干嘛呢?它对应的是一个这个 value, 就 这样的一个格式。 好,我把这个给大家写一下啊,嗯, ctrl x 啊, ctrl 啊,就这种形式, k 对 应的一个 value, 那 么好,我们怎么对它进行一个变利用到的呢?也是 for each 啊, for, 不好意思啊, f r for 这个意思,然后里面的话,我们需要写,也是要先把它的名字写一下,就是 刀了,咱们的一个这个待特 o b g, 待特 o b g, 我 们写完之后,爱是什么呢?爱是一个刀了, k 啊, k 一 万干嘛呢? k 他 必须得对应一个这个 id, 必须要把这个给它写上 k, 他 得对应一个这个 value, 然后这个时候我们就可以这么写了,对吧?来一,依靠什么呢?依靠咱们的一个这个 k, k 冒咱们的一个这个点,咱们的一个这个到了 k, 对 吧?不好意思啊, 到了 k 啊,这么写,对吧? k 对 应的就是这个东西,对吧?那么 value 呢?对吧? k 是 他啊,点对应的 value 冒好,然后点到了五百米, ok, 这么一写就 ok 了,对吧?写完成之后,那么每次拿完之后,那么咱们呢?也是要换一个行,对吧? 笔啊,这么一写就可以了,好,那么写完之后,让我们用行一下,看一下它的一个效果,对吧?天啊,那么对应的我们来看这个地方,对吧? 啊?在这个地方,对吧? name 对 应的 value 是 peter, 对 吧?啊? love 对 应的 value 是 son, 对 吧? sex 对 应的 value 呢?是 boy, 对 吧? 这个呢?就是它的一个这个简单的一个这个打印,我们也可以在这个地方,对吧?这个地方更大一点啊,我可以随便放大,好,对吧? k 对 应的是,对吧? k 啊,就是 name, 对 吧? k 是 name, name 就是 件啊,这个 peter 呢?就是它的值,对吧?件对应的值呢?是这个,对吧? 他对应的是他,然后他对应的是他一一对应的一个这个关系,这个就咱们的一个这个见执行的一个这个数据, ok, 那 么几个简单的遍地,我们先来讲解,讲解完成之后,那么下面我们来讲解他的一个这个函数啊,函数 啊,一口啊 一啊 分好,然后斜杠,斜杠函数啊, php 的 函数写法和加括号的函数一模一样来关键字方式,然后后面跟上名字,比如说呆猫杠 o n e, 对 吧?啊?或者方声 o 随便写,对吧?然后括号里面跟的是参数啊,跟的是这个参数。 好,那么这个地方我们先简单,先不写这个参数啊,先写最基本的,对吧?好,那么里面干嘛呢?写完成之后,那么后面的代码大括号走里面想要解释什么?比如说依靠,对吧?依靠啊,这是我的第一个函数, ok, 就 这么一写就可以了,对吧?这是我的第一个函数。好,那么写完成之后,那么咱们要让他执行,必须得第一个函数, ok, 就 这么一写就可以了,对吧?这是我的第一个函数。好, 直接写它的函数名就可以了,来右击运行,对吧?我们来看,这是我的第一个函数,对吧?它里面代码呢?就会被执行啊,那么说到这个函数下面还有一个东西叫什么呢?叫作用域啊,作用域指的什么呢?指的是选举变量。来,我们先定一个 number 杠 one 等于一百,对吧?分号,然后到了 n u n b 呀, number 杠,这个 啊,等于二百。好,先第一两个数,对吧?这两个呢,我们把它当做是一个全局变量啊,因为他在外面,对吧?那么函数里面的呢?就是一个局部变量。好,那么现在这两个全局变量,对吧?我来下面来 f o c 方式,然后呆猫兔 括号,然后我们在里面干嘛呢?我在里面调用这两个函数,比如说干嘛呢?依靠,然后打印,打印咱们这个这个刀,然后这个 n u m b e r 杠,这个 o n d 可以 发现,对吧?有这个黄色交叉线,我是不能直接去使用它的啊,函数里面被称之为局部啊,函数外面呢,它就是一个全局, 我们怎么在函数当中使用这个全局变量?很简单,我们需要 g l o b i l g l g l 是 呢, g l, 咱们的 d l n u m b e r number one 啊, number one 和谁呢?和,这个多了 number two 啊,我们需要先将它们声明一下,这个是局变的,对吧?我们这样的话就可以打印它了,对吧?打印什么呢?打印,比如说这个 number one 啊,来加上这个多了啊, number two, 对 吧?好,那么这么一写,对吧?打印他的一个这个结果,然后我们下面的话,来呆猫第一猫,呆猫 two 啊,我们来走一遍,又近又近,对吧?三百啊,这个地方刚刚运行完之后没有加这个换行啊,一扣啊, b r 啊,换一行,好,分号结尾,对吧?来走,走完之后对吧?三百啊,他就正常给我们做了一个计算,这个呢就是我们函数的一个作用域啊,好,那么有了作用之后,那么下面呢,就是咱们的一个函数的一个参数,对吧? 函数的参数 f o c 啊,方数啊,里面 d m d m three 啊, demo three 里面的话,我们给他传入两个这个参数,这个参数啊,咱们呢可以随便给他写啊,比如说来到了 name, 逗号 到了 age, 对 吧?这么简单写一下,写完成之后我们在这个括号当中啊,这个括号他给我们给到下面了啊,我们也可以这么写,对吧?在这个括号当中呢,我们来写一扣,什么呢?随便写,对吧?啊?比如说,啊, 我是我是谁呢?我是点这个抖了 name, 对 吧?啊?点,我今年点完了,不好意思啊,完了, age, 对 吧? age 碎了,好,这么一写,对吧?写完成之后,那么下面我们在第二问这个 demo three 的 时候,大家可以发现,对吧?有一个 name 和一个 age, 就 它的参数啊,比如说我叫什么呢?我叫 peter 啊,我今年十八岁了,对吧?好,这么写一下,写完之后来用心, 对吧?我是皮特啊,我今年十八岁了,对吧?这是函数的一个参数啊,那么除了参数之外,最后一个呢?就是它的一个这个函数的一个这个返回值啊,函数的返回值我们是可以给它打印的,是吧?来,先拷一下 间隔号,咱们的一个这个 b r 换一行。好,那么下面的话,我们呢?来,方身啊,方身啊,我应该写这个啊, f u n c t l 啊,方身啊,不好意思啊,写错了啊,方身啊, type, 然后名字的话写一个这个 demo 啊, demo 括号里面的随便写两个参数吧啊, u m e 逗号 n u m r 对 吧?然后大括号在这个里面的话,我们直接 return 啊, return 什么呢? return 一个值,我们把这个值给它直接做一个反馈,或者我们先这么写了啊,来到了 n u m b e r 等于咱们的一个这个 到了 n u m 一 加到了 n u m r, 对 吧?把这个相加,然后呢我们直接 return 这个到了 number, 对 吧?把它呢给它作为返回值返回出去啊, a u n b r e 吧啊? number 是 一个这个,嗯, 写个 result 好 啊,写一下 result 好,那么我们把它呢作为一个返回值给它返回出去,然后下面的话,来我们写一下第二个 demo four 啊, 然后传个十,传个十五,对吧?它们两个相加应该是二十五,对吧?那么如果直接运行 没有任何效果,为什么呢?因为返回值我们需要打印才可以啊,不打印的话是不行的,对吧? e c h 啊, e q 点 啊,不好意思啊,一 call 咱们的 demo, 对 吧?我们直接打印我们当前的这个程序的一个调用来游记走,做完之后,对吧?二十五,可以发现,对吧? 这个呢,就是咱们的一个函数的一个返回值啊,可以发现我们写了这么多,那么这些语法呢,其实它和咱们的加括号的非常非常相似,几乎就是一模一样啊, 如果他更严格一点啊,他这地方必须是以分号结尾,不写分号,对吧?他有红色波浪线,就是语法报错啊,所以说我们写的时候啊,一定要注意习惯。好,那么今今天我们就先讲解一下咱们这个 p h p 他 最基本的一些语法,我们今天这节课我们先到这。

我们今天介绍一下技术安全概念中的 dfa, dfa 它的全称是 dependent failure analysis 相关错误 分析,它主要涉及到的就是一些相关联的错。 错误导致的失效分为两类,一类是极连失效,就比如说我有 a 和 b 两个组键,因为它整个 flow 是 这样子流动的, 相当于 a 这边如果出现异常或者错误,会导致 b 的 功能也受到影响。我们以驱动开发中,比如说 a, 它是一个全局变量,那当这个全局变量出现问题的时候,其实 b 也会受到影响。那第二个其实就是输入,比如说 a, 它是 d, d 可能是个函数, a 是 它的传餐,那如果它的入餐出现问题,那 b 的 功能也会受到影响。 那第三类,比如说我们以 autodesk 的 框架为例,比如说我最底层是一个驱动层,是 m 库的驱动,然后上层是硬件抽象层,是一个 if 层, 那比如说我从上面上面调调,调了一个,比如说 character, 那 可能 character 它传进去的数据就有问题,那到 m 括这一层,那那实际在 character 里面实际用的数据其实就会出现问题。 这里面直接涉及到一个 pdu 的 概念上面,这个 i pdu 然后传下来,传传,传到这里 分装一下,然后最后发出去,它就相当于 pdu 有 了一个损坏,所以导致整个发送出现的问题,也符合这个检验失效的一个模型。然后这是第一个大类,第二个大类是 共音失效,你们可以想见,比如说我有两个组件, 比如说还是我们以 c 和 d 为例,那这个组建里面他们可能共同引用了,比如说每一个共音是,比如说是小 e, 嗯,只要符合这个模型,那么它就会成为共音失效。 婚姻生效主要有一些几个组成,那么这个,比如说第一个,他可能是一些使用了公共的资源,这里的资源一般指的是比如说,嗯,我们先介绍第二点, 那么用了相同的,比如说输入,比如说我一个全局变量,可能 c 在 用, d 也在用,那么这个就涉及到他们有共同的输入,那第二个就是我的一个入参,我可能传去的参数可能被 c 用到了,被 d 也用到了, 那这个时候也是一个共音的失效啊。第三个的话,他们可能有相同的 外部条件,就比如说我可能 c 和 d 他 们属属于不同的模块,但是他们都在同一个芯片或者 mcu 上面运行,那比如说这个 mcu 他 在比较高温 或者是潮湿的环境下,它出现了问题,那对应的导致 c 和 d 这个模块也出现了问题。嗯,第四个的话主要是偶合,就比如说 c 它是一个 s p i 模块, d 它是一个 p w m 模块,它们比如说都需要用 d m a 去搬运数据,那这个时候这就涉及到 d m 模块拗合在了 spy 和 p d, r 模块中间,会导致一些,如果这个时候 d, m a 模块出现问题了,那整个就会出现问题。第五个的话主要是在整个模块的称, 比如说它们在翻译过程中,或者说它们在配对过程中使用了相同的翻译工具,比如说 使用了 e b 配置工具,使用了 i r 翻译器,那这个主要是工具链,嗯,或者说他们都使用了,比如说 c 语言, 或者说 python 语言,相同的编语言,这也会导致他们产生一个共音失效。那第六个 c 和 d 他们可能我们这边再引入来一个 f, 就 比如说我们这几个模块, 他们都在同一段 memory 里面,那我可能 f, 它在修改一些内存的时候,把 c 和 d 的 内存也给改了, 那这个时候就可能产生因为 f 的 影响,所以 c 和 d 他 们的内存空间受到了影响,导致功能出现问题,那这也属于一种供应失效。我们再回到第一点这边使用相同的资源, 他可能涉及到三种场景。第一种的话,比如说芯片资源,比如说我们可能,比如说我一个硬件模块,嗯,可能是一个他们, 那我可能同时可以,比如说既作为捕获输入,也作为 p、 w、 n 输出,那这个时候同一个硬件就会被 c 和 d 两个模块应用到,那如果这个时候他的硬件,比如说他们出现了问题, 那对应的这两个功能也会受到影响。第三点的话就是它们使用了相同的数学库,那当这个数学库出现问题的时候,那 c 和 d 可能都会受到影响。 d 的 话就是使用了相同的 i、 o 输出。我们还是以这个,比如说 i、 c、 u, 这个 c、 p、 w、 m 他 们都用了相同的,比如说 io 输出,可能是个 pod 或者是一个 dio, 如果 pod 或者 dio 这边出现问题,那整个机都会受到影响。 我们再介绍一下,当 dfa 它出现,比如说我这边有这些供应失效,或者说是接连失效,那它对应的安全机制是怎么样的?正常的话其实这都需要 每一个,因为可能会有不同的,就是根据项目有差异。我们介绍一些公共的,就比如说这里工具链,那我们使用的这工具链它必须要符合 iso 二六二的 标准。比如说我们进行 sld 的 开发,它对应的工具链也需要是 sld 的, 比如说这个编程语言,我们可能希望它符合 mr c 二零一二的标准,来契合当前的一个开发的一个功能安全等级要求。 那关于 dfa, 我 们今天介绍到这里。

嗯,行行行啊,你不用说了啊,这个这个题的题目就到这样, 那个你先停一下,就是我刚刚看你教的这个 w p 啊,就这个 e x p 写的是非常可以的,就是比如这个 roberta 链啊,我们觉得这个构造也不错啊,征战平安考虑的也非常完美啊。嗯,这是这里,你解释一下,为什么要破八 d i 呢? 不知道,为什么不知道,那,那你说一下就是函数的这个参数的约定吧。啊,基础的约定这些应该都知道吧, 也不行吗?呃,那,那这道谓不题啊,就我们来看你这道谓不题,这一道反序的话啊,我们看这个你的 rap 链这个构造的也不错,就是因为这道题我们出的还蛮复杂的。 嗯,你先说一下你构造这个这个思路吧。啊,我看你思路不错,那,那你说一下,就是为什么要去这样构造呢?就是这个魔术化它怎么触发的呢?你不知道吗?那不知道为什么要这么写啊。 行了行了行了行了,大家都搞技术的,就别在这骗自己好不好?你这两天入对考核题根本就没有经过,你自己思考吧, 全程都是伪代码粘进去,然后被给模型,然后把 play do 的 复制粘贴过来对不对? 你是不是觉得你自己很聪明,以为在这个时代用大模型就能跑出 flag, 然后就拿来当敲门砖? 我告诉你,你这个态度很敷衍好吗?那 ctf 在 你这是什么意思呢?你对得起这三个字吗?你在侮辱他,你知道吗? 你有认清现在的现实吗?啊,我知道你能做,你能做是能做啊,你做那些常规题,哎,能做对吧?而且几秒钟就能解除非常完美的答案啊。那你告诉我为什么 这个逻辑和它的底层,你,你,你理解吗?哦,我知道你不能做那些复杂逻辑和底层对象, ai 也能做啊,对吧? ai 知识库里面就有那些冷门框架啊,底层协议编辑原理啊,但你不会,他会, 那你会什么?你现在会的是哦,把这些报错丢给 ai, 然后,然后当一个什么感情都没有人,就是他给你什么,你就把他东西搬过来,你连最基础的代码为什么能跑通都不知道 啊?知其然不知其所以然啊,稍微遇到个变种啊。 ai, ai 救我,你怎么不做了?你怎么不做了?我要断网了,怎么办?老师, 断网线下打 awd 怎么办?你要,你要 ai 借根天线过来救你吗?你废了呀?老师, 那我现在问你,我,我现在招你来干什么?你,你干的模型都能干,对吧?那我招你来干什么? 我要,我要的是什么?我要的是一个能打仗,能打硬仗,能和顶尖黑客博弈的网络安全研究员啊。老师,我不是让你,我不是来招一个大模型搬运工啊,你连 python 脚本都不会自己写, 那有些项目他就不给你网,就不给你大模型,那怎么办?你,你去给客户唱一段吧,跳一段吧, 对吧?那我招招你进来干什么?既然大模型能做,那我自己去搞一个大模型,然后让模型给我写个脚本,然后拉几百个现身跑,那个 api 自动化, 哎,脚本响应都比你快,都比你肉体搬一快一万倍,还永远不会累。那我为什么要浪费我们战队宝贵的工位和资源去招一个只会 ctrl c、 ctrl v 的 人,好好反思吧。

我们今天介绍一下技术安全概念阶段,它的一个飞 飞马,飞马的全称是 failure mode and effect analysis, 失效模型和影响分析,它的话主要有三个 土建,第一个的话是 element, 它主要涉及到一些,比如说在我们驱动开发过程中,主要就是 各种类型的函数,比如说抽象函数, dint 函数,各种实现功能的函数。以 pdf 模块为例,就是设置周期或者占空比的函数。 第二个是 failure mode 失效模型,比如说我一个函数调得过早或者是过晚, 以及我的比如说执行,它可能执行的顺序混乱,或者说没有执行,或者说它的执行没有完成, 以及比如说它有一些数据的错误,比如说全句变量的问题,然后参数的问题,比如说输入参数的问题以及性能的问题,例如中断 回调函数,它的一个从产生到响应的一个时间。第三个是影响,或者说这边 effect, 它这边主要采用 s, d, o 打分的方式, s 的 话是 severity, 它的一般从严重程度,严重程度越高打分越高。第二个是 detect 可探测程度,可探测程度越高打分越高。 o 是 uh currents, 发生概率,发生概率越高,打分越高。 失效模型和影响分析主要就是这三个,它们相互 之间去做一些便利,比如说我的出人话函数,在错误模型,比如说这八个错误模型下,分别对应的 严重程度、可探测程度和发生概率分别是多少,每一个进行便利。我们可以看出来飞马分析是比较费时费力的,当我们通过错误模型和影响分析以后,需要有对应的 安全机制 s m, 它这边的话主要涉及到第一个,就比如说我有一个错误检测错误的一个模块,当我打开它以后,我需要能够检测到错误类型。比如说 初日化函数没有调用之前,那我函数的功能其实是没法实现的。如果当我调用函数功能的时候,发现它没有初日化,是需要报错的,然后重复初日化也是需要报错的。 以及比如说与中断相关的,比如说我的中断支起来了,但是我的模块还没有初步化,这个时候也需要报错,或者说我中断支起来了,但是它的中断状态或者说中断时呢?没有支起,那其实也需要报错的。 第六,比如说我们有一些函数是需要等待硬件继承器,它的状态至起或者是写,或者是为零,那这个等待就是你不能无限制的等,你要设置超时时间。 第七个,我们的入参是需要检查它的合理性的。第八,数据的一致性。比如说我们维护一个模块的状态机的时候,在写入的时候是需要设置连线区,保证数据的一致性。 我们举一个飞马分析的一个案例,就比如说我们有一个 pwm 的 触水化程序, 它因为输入的参数异常,导致它这边我们可以把这个带进来。 元素是输入函数,它的错误模型是输入的参数异常,那它的影响分析它其实严重程度很高,因为我输入化没法完成,它可探测程度也很高, 比如说因为我这边通过这边的这个安全机制可以把输入参数的合理性检查出来,那可探测程度就很高。然后这边它的一个 暴露度其实比较低,因为我船做参数的可能性其实会比较,因为我这边配置其实都是从比如说 e b 配置这边过来的,所以船舱错误的可能性会低一些,那这边对应的安全机制 其实就是我们会去检查它的入舱的一个合理性。嗯,最后我们再提一下飞马,它其实是通过 分分析风险他的一个原因,然后去导出他的一个结果,所以他是一个原因推结果的一个机制。今天关于飞马我们就介绍到这里。

两千六百二十万攻击函数叫 attack, 两千六百二十万美金瞬间蒸发,攻击函数名叫 attack。 五年沉寂,一朝归零。二零二六年一月八日出 beat 遭遇攻击, 八千五百三十五枚 et 也被洗劫,一笔交易五次循环二点四亿枚 tru 代币被铸造, tru 代币价格暴跌百分之一百。五年前的合约代码变易器版本,老旧加法运算,缺少溢出检查,调用 attack 函数输入天文数字,注币量 溢出,导致零成本注币,攻击者是惯犯。十二天收益暴涨一千七百倍,资金转入 tornado cash, 遗留代码成目标。 别碰老旧合约侵犯,安全不容忽视。我是小链,专注 web 三资产安全,关注链上生存日记,带你完美避坑,转发提醒身边!

只需四行核心代码就能做出一个密码生成器。我们先导入两个工具库, string 提供所有字母、数字和符号。 random 负责随机挑选。 接着定义一个函数,用 for 循环随机选十二个字母,再用 join 把它们拼成一串高强度密码,最后打印出来,简单安全,全自动。这不仅是代码,更是解决问题的思维。 方顿科技少儿编程,用真实项目带孩子从会写到会想,让编程成为创造力的起点。

像这样自动计算出入库总量并预警的模板应该怎么做呢?跟着小树来学习吧!首先我们运用 sumif 函数来计算本月出入库总量,在单元格中输入等于 sumif 括号, 选中第二行表头,在行号前按 shift 加四,加上绝对引用符 表示固定,识别第二行表头逗号,然后输入入库。首先输入英文双引号,表示指定计算入库列数据, 输入英文逗号,然后选中本行表示计算当月电脑产品所有天数的入库数量。补齐括号,点击回车,双击右下角黑色加号进行快速填充。 同理,把入库公式复制到出库单元格,将入库二字改为出库, 按下回车,双击右下角黑色加号进行快速填充。然后在库存总量里输入等雨选中上月结余,加上 本月入库,减去本月出库,回车,双击右下角黑色加号进行快速填充。库存预警方面,这里设置安全库存为二十,即若库存大于二十表示货物充足,小于等于二十表示需要补货。 所以在库存预警单元格中输入等于 if 括号,选中库存总量单元格, 按 shift 加点号键输入大于号二十逗号,输入英文双引号并输入充足, 表示满足大于二十的条件时显示充足,否则显示补货。输入逗号双引号补货,补齐括号,点击回车, 双击右下角黑色加号进行快速填充,然后选中该列,点击开始选项卡下的条件格式, 选择突出显示单元格规则文本包含,填写补货颜色设为红色确定相同操作, 填写充足颜色设为绿色确定。现在一张动态出入库模板就做好了,你学会了吗?加入群聊,免费获取模板。

哈喽,二六年山东专升班的同学啊,博哥来送计算机押题干货了,这科提分快,跟着押题走啊,分数稳拿捏!首先计算机基础知识占百分之三十,逢诺伊曼体系禁止转换 是必考题,这些概念背熟就可以得分。然后是 windows 和 office 占分超百分之五十的核心, word 的 样式,右键合并, sl 的 函数 以及数据的透视表, ppt 的 模板设置,动画的切换,都是每年必考,一定要动手实操,练熟数据库和网络基础,也不要漏了占百分之十五左右的分值,还有 ip 地址的分类,局域网的组建,记准核心考点就可以。最后, 信息安全和多媒体技术占百分之五的分值,病毒防止音频视频格式,简单过一遍就可以了。 重点抓 office 和基础知识,分值占比最高,一定要刷最近三年的真题,针对性的练实操,错题反复复盘,按这个方向冲啊,计算机分数就稳了。博哥整理了近六年山东专升本真题,如果你需要,点个关注,找博哥领取加油!

本视频耗时五个月,共计三十小时,三十八分钟,零基础自学黑客从入门到入狱,全套教学视频包括工具安装与使用、黑客攻防、渗透测试等,共三百六十八集。此视频内容敏感,很可能被下架,建议先收藏再观看。声明, 此教程仅供学习,禁止用于违法行为。要是想系统学好网络攻防技术,我自己录制的二百节从零到进阶的视频教程可以分享给你。主流的网络攻击和防御的技术都讲得清清楚楚,只要是粉丝留个六百六十六就行。只希望你能把学到的技术用在正道上。 继续给大家讲啊,那个 p h p 的 函数方法利用,那 p h p 为什么?嗯?为什么说 p h p 是 全世界最好用的语言 是吧?因为 php 真正的威力来源于它的函数,它里面内置的一千个类介类介的函数,那别人写好的函数,那你是不是只要增加它的扩展,也能使用别人写好的函数?那你比如说写好了一个什么很好用的爆破的一个函数, 或者字典生成的一个函数,那你是不是可以分享给别人,是吧?以脚本的形式,以插件的形式直接分享给别人,只要把别人把这个插件放到他 php 里面,是不是直接可以调用 是吧?这里就是把函数的一个分享,就别人想要的直接可以分享给你。当然 php 并不是把这个分享函数用的最好的一个语言配上才是, 哼! python 内置了好多好多库,然后网站上,呃,然后让各种全世界的人又写了又疯狂的在写其他的库。那你在写 php 的 时候你就会发现, 不管你想实现什么样的功能,你都可以去借用别人的库。对,你直接把别人的库下载下来,然后用对应的函数,直接直接用就行了,根本就不需要了解它到底是怎么写的。好吧, python 不是 p h p, 只是说啊,可能配送还没出来之前,它还是很好用的啊,在网网站开发里面配送,现在网站开发,现在那个配送也可以做网站开发,大家知道吧?对,比如说你要写网站,你可以直接通过配送来写,可以通过配送来写。好吧, 好, p h p 啊。当然啊,现在因为配送推集起来还没这么快,所以 p h p 啊,还是用的最多的一个网站网站语言之一了。好吧, 好, p h p 里面类似了很多很多的函数,然后我这里也给大家写了一个路径,大家可以自己去看看,那就这个路径, 那这个路径就是啊,那个 p h p 的 一个官方的开发手册,哎,其实一般一般我们也不需要去看这种东西。 对,除非你在做代码审计的时候才会去看。对啊,后面要学到很后面的时候才会去看,也来得及。好吧,这里只是 让大家先了解,就这 p a p 里面就告诉你了。哎,我每一个函数怎么去使用,你可以到我这里,到这个网站上来查,来到我这个网站来查,比如说 p a p p 啊, db g 啊, call 这个函数,哎,怎么去使用它就定义它就告诉你了。哎,怎么去使用这个函数 呐?返回值,没有返回值这种东西就显得很详细。好吧,这就是一个 p a p 的 一个开发手册 类介函数有很多,但是我们也不需要了解所有的类函数,我们之前说了吗?我们不是程序员,我们只要了解常见的一些函数就行了。 含函数的写法,刚才我们也一二三啊,一而再再而三的讲过了,所以这里我们就就不讲了。好吧,那函数该怎么去自建一个自己想要的一个函数啊?你就这样去建就行了,那这里是函数的一个调用,这里是函数里面要执行的一个代码。哎,大家可以看到我这个代码又写错了吧。 啊,大家那个眼光一定要仔细一点,那这里应该是少了,少了一个大括号是吧?大括号是起着一个闭合的一个作用啊, 这个函数里面要执行的一个代码,然后你调用这个函数怎么去调用的,是吧?就这么去调用,然后函数你在起名字的时候也一定要遵从这个函数的一个准则,函数的名称应该提示出它的功能,让别人一眼就能看得出啊,你这个函数到底起什么用?那不是像我们 那样随随便便起什么多哪 x 多哪 y 多哪 z, 你 过两个月你再来看一看,你还记得这个多哪 y 是 什么东西吗?所以最好,那你用英语表示,你就用英语表示,你用那个拼音表示,你就用拼音表示,但是一般 还是用英语表示会比较专业一点点啊。好,那函数的名称以字母或者是下划线开头啊,不能以数字开头,不能是什么啊?一括号这种函数就不对。好吧, 那函数的传值之前我们也讲过了嘛,函数该怎么去传值啊?那这里我们直接复制它吧。好吧,我们就不敲了,懒得敲。 好。函数怎么去传值啊?那这个函数,哎,这里好像显示了很多东西啊,这个函数里面,这里都是啊,其实我们不需要写这么多东西, 一个就行了,是吧?这里是什么?保存你的名字,哎,其实那个,那这个函数传值怎么传呢?你只要在这里写接,写一个啊多呢?比如说,哎,那我们比如你,你可以写一个多呢 a 或者啊多纳 a, 好 吧,哎,关一下小一些多纳 a, 好, 那他这边就正在接收一个多纳 a, 那 也就说你只需要把多纳 a 给他贴给他发送过去就行了,那,那怎么去发送?你就这样, 那比如说 c, 好 吧,那它就可以输出多哪 a, 比如说后面的就不要了,这里就是一个最简单的一个啊。函数传值,是吧?其实这个传值的过程之前我们也用到过, 我们也一直用到过,那这里就是在接收这个值,把它复制,复制成多哪 a, 是 吧,然后输出多哪 a, 那 么我们是吧就可以刷新一下,看下这个页面,那是吧,直接把 cac 输出出来了,那么我们这里改成 a a 一 样的, 是吧?这也就是函数的一个传值啊。好,这个返回值 return, return, 其实我们前面的课程也讲过了,是吧?比如说我不输出,我只是 return, 哎, return 啊,一下竖起来, t r u n, 哎,写错了,哎呀, t u n, 这也写错了,就大家写代码的时候一定要注意啊,你看像这种代码,你只要记住前前面两个词,那它就会那个扩展,这个 vs curl 啊, vs code, 就 会帮你补充这个 啊,单词啊啊,比如说,你想,比如说我不输出,我返回,那这个 return 起什么作用呢?那大家再想一想,那我这个代码执行完了之后,会不会输出三个 a 呢? 会不会?不会了,看到没有,他根本就没有帮你输出三个 a, 空白。为什么?因为你只返回了呀,你没有输出啊,如果你要输出怎么办?你就要在这前面加一个一口,你就可以输出他的字了。 来看,没有,这就是返回,那返回多纳 a 就是 相相当于把这个多纳 a 返回,把把这个多纳 a 的 一个呃值返回出来,所以返回,返回出来,但是没有输出啊,所以你要输出这个值,它才会出来这个值,这就 return 的 一个作用。好吧, 返回值,好,这里我们再来补充一下常见的几个函数啊,好吧, php in four 啊, php in four 函数是用来干什么啊?这里有啊, 好,前面几个那个啊,那个函数啊,然后返回值啊,这些我们都讲过了,我们再来讲几个常见的函数, 那一个是 php 音符。 php 音符我们一般用来做什么呢?这个函数起什么作用呢?我们输入一个 php 音符,那这就是一个标准的函数的一个调用方法, 这个 php 音符是一个 php 内置的一个函数,也就说你这个函数内容不需要自己写,那么它已经写好了,我们刷新一下可以看到 php 音符就是展示了这个网站的一个基本信息,那 php 的 一个版本,它运行它的一个系统,以及你看它的架构,然后后面的它的路径, 那它的配置文件看到没有?很多很多,我们下面翻翻翻,翻很多很多,是吧? ppt 音符我们一般用来干什么?对于我们黑客来说,或者说对于我们做安抚的人来说, ppt 音符用来干什么呢?用来测试 这个网站可不可以执行,可不可以执行 php, 明白吧?比如说我想要传一个文,比如说,哎,我找到一个漏洞,这个漏洞可以传任何文件上去,但是传文件还不行啊,我想要这个网站能帮我解析 解析这个页面,其实在这个执行代码,或者在这个运行,运行这个函数的过程 运行,哎,函数的一个过程,我们也叫做解析, 这也是一个术语,其实它们都是一样的意思啊,就是解析是什么意思呢?就看这个文件,看这个代码能不能正常的运行,能,明白吧?就是解析,好吧,那如果返回出来的,哎,比如说来,你输入一个 php 音符,它给你返回出来是这个东西 来,它原原本本的都给你返回,回来我们就代,我们就知道,哎,这个网站是不能传 p i p 的, 因为它不能帮你运行 p h p, 是 吧?比如说你传了那个监控号,前面的都已经传好了,哎,这里都已经传好了,但是你传进去之后发现它运行运行出来的结果就是咋我们这个样子就说明这个代,就说明这个网站是不能帮你进行一个 p a p 的 解析的, 那么你就不能再上传一句话,木马也不能上传其他的马,那甚至什么都不能做啊,是吧?这是很常见的说 p h p 音符对于我们来说就是用来测试这个网站能不能直接 p h p 了, 比如说,哎,我们上传一个 p h p 页面,它执行的是什么?执行出来是这个结果,那就代表这个网站是可以解析 p h p 的, 那么就可以写更多的 p h p, 木马上去明白吧? 好,那对于程序员来说, p h p 应付又起到什么样的作用呢?用来测试,他一般用来测试,好吧,我们也叫做 bug, 好 吧,用来测试,用来测试啊,这个服务器能不能进行那 p a p 的 解析啊?能不能呃,看它的回效结果是不是达到自己想要的一个要求啊?这种,好吧,用来测试,那我们也叫 bug 了,好吧, 好,这就是 p h p 函数的一个用法,它会显示很多很多的页面,如果你在,呃,你在,你在攻击一个网站的时候,发现了一个 p h p 的 infot 的 这个页面的话,至少它就有一个什么数据泄露的一个漏洞啊,啊,因为它泄露了很多敏感信息啊,包括这个操作系统,操作系统的 它到底是什么操作系统啊?它的那个,呃,配置文件的路径啊,然后它的这个网站的绝对路径啊,都显示在这上面了啊,好吧,这就是一个 dv 的 数据线路啊,好, 然后这,这还不是很危险,好吧,那比如说我们继续啊,来看看我们黑客最常用的几个函数啊,还有一个是什么呢?执行函数 ev, 那 ev 就是 用来执行一个字母创的一个表达式,它怎么去执行?比如说这样的一个数据, 那这样的一个数据,那吨了 a 等于一二三加,吨了 b 等于四五六, 是吧?那我们想要的就是一二三加四五六,最后写输出一个结果,是吧?如果你,如果你不这么写,比如说你就一口输出,好吧,一口输出,输出什么多呢? a 点多呢? b, 它最后出的结果是什么呢?它出的结果应该是一个自创,看到没有?是一二三加四五六,但是你希望看到的结果是什么呢?它们两个真正正儿八经加在了一起,这个时候你就需要用到 ev 啊,一口 ev 函数, evo 什么?将这个代码进行一个计算,那怎么去进行计算?首先双引号是吧?然后 return, 计算之后要返回是吧? return 什么多呢? a 和 b, 然后分号, 那就这样去写,那我们就可以看到它的结果是五七九,看到没?它就是一个计算完成的一个结果。好吧,好,这是 ev。 还有一个 system, 这个是一个比较比较高危的一个函数啊,那我们来看一下 system 能做到什么?这 system 就是 用来执行系统命令,那我们也来看看 system, 这 system 这个函数到底用来干什么呢?来, 比如说我想执行一个系统命令,比如说 d r, 我 就直接可以使用 php 的 system 函数来调用 cmd 来调用来调用这个框框来执行什么呢?执行 d r, 看到没有?那你看我现在我是手工自己在敲 d r, 那 比如说我 php 要执行这个 d r, 能不能,能不能用呢? 来,是不是跟刚才我们力举的是一模一样的?哎,那你看胆子大一点,那我们如果能把这种页面直接传到服务器里面,那是不是我们想执行什么命令就能执行什么命令呢?比如说我们执行 ip config。 哎,那刷新一下这个页面看到没有?这是不是就是 ip config? 那 我执行 user 是不是能执行一些系统命令啊?我们来看看是不是执行了,哎,那 the user 执行不了,那,那,那 the user 执行不了,因为它权限不够,那没关系。好吧,我们执行了 ip config, 至少 好 ip config 来看,没有那胆子大一点。利用我们刚才所学的一个东西,是吧?我们是不是可以写一个交互,你看你在这里写,是不是每一次写了都要重新传一次?比如说一个网站,你可以传一个 ppt 页面上去, 但你每执行一个命令,你都要重新传一次,这太复杂了,是吧?因为刚才我们所学到的东西,哎,我们刚才不是学到多呢 get 多呢?多呢那个什么 post, 是 吧?那么我能不能 来在这前端进行传直传命令,后端来执行我的命令,可不可以这样子,是吧?那这个时候来,大家来看一下我怎么写啊?那这个执行的是什么?执行的应该是你多呢?比如说我要写一个交付的,交付的东西,那多呢? get 传键的一个东西,比如说叫做 a a a, 好吧,来这个 system 函数执行什么执行?你传过来的一个叫做啊 参啊,那个参数为 a a 的 一个值。好,你把这个网站那,那我们现在刷新,是不是它提示你 system 执行的是一个空命令?是因为你还没有传值嘛?但我们是不是可以采用这种方法来开传值啊? a a a, 比如说等于 l s, 哦,等于 d i r, 看到没有?那你就可以啦,这样去啦,进行一个交付了,你,你想输什么,你就可以在这里输什么,你看到没有 啦?是不是你可以通过这一个这控制这一个参数,控制这一个值,来达到你想要输入命令的一个效果,是不是输入命令也是这么输入的,你看最后出来的值也是这个样子, 只是说他没有进行排序吗?但是他是可以直接系统命令的啊,这里在我们那个,在我们那个里面叫做什么呢?在安全里面叫做什么?大家大家听说过没有?一句话,木马, 那这里就是最简短的一个,或者叫做后门码,好吧?后门木马,那你只要把这一个内容传到了那个 p h p 页面里面,只要传到这个里面,你就可以直接通过前端来控制它了, 那想说什么命令就能说什么命令,看到没有?那一句话木马,其实再讲简单一点,它其实就是这个样子的啊,这里就是一个标准的一句话木马,大家看到没有是吧?只不过这个标准的一句话木马,哎,可能用的是 post, 用的可能是 pos, 是 吧?那,那如果他用的 pos 的 话,那你也要在这里伪造一个表单,然后以 pos 的 形式发送过去。或者你在写一句话木马的时候来,比如说来,你不是想执行一个 cs 函数吗? 是吧?你不是想执行一个 c s 的 函数吗?那我这里是不是也可以采用这种?还有一种方法,还有一种方法,比如说你,你这里不知道它到底是采用什么样的方式来发送的?比如说不知道采用它是采用 get 还是 pos 的 方式来发送。那我是不是可以写一个万能接受法, 咱不管它是用 get 还是 pos 来来发送这个值,我都给它进行接收,那么我用的就是 request, 用这个函数来进行接收就行了。那这样不管对方是用 get 的 形式来发送这个数据,还是 pos 的 形式来发送数据,我都可以进行接收。 好吧,那这样我们就可以通过写一个简单的 web 页面来控制别人的电脑了。看到没有?那写一个最简短的一个 web 页面,只要你把这个页面上传到那个 php 服务器中,那你就相当于就控制了它的服务器了。好吧, 那控制到它的命令。行,那控制在这里啊,你可以看一下换 m i, 看一下自己的权限啊,看一下户啊。哎,这里,哦,原放不动的,这里不用管它,就写 get 就 行。那比如说,我想看一下自己的权限,可以在这里输户 m i, 来看一下你的权限是什么,看没 admin 是 吧?

前七次全等于二分之派,第八次却突然失效,这就是数学界著名的波纹积分陷阱。跨越维度,我们去平域找答案,直域的函数相乘等加于平域巨型波的卷积,而这个定积分的最终结果, 刚好等于卷积后原点处的高度。秘密就在频率宽度里,前七项的半平宽之和约等于零点九五四,卡在边界一的安全线内,原点高度保持不变。 但是当第八项加入时,总平快突破临界点,卷积瞬间溢出,原点数值发生不可逆的衰减。这就是波纹积分的真相。他用纯粹的频域运算,向我们展现了数学中差之毫厘,结果便截然不同的精密之美。