CTF之PHP基础学习篇(一)

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


前言

估摸着不少学计算机的同学以及其他专业的小部分同学都对于信息安全感兴趣吧!那对于参加这相关的比赛就应该更有兴趣了。那么我们首先就了解一下下这相关的比赛——CTF(Capture The Flag)
CTF是一种流行的信息安全竞赛形式,其英文名可直译为“夺得Flag”,也可意译为“夺旗赛”。其大致流程是,参赛团队之间通过进行攻防对抗、程序分析等形式,率先从主办方给出的比赛环境中得到一串具有一定格式的字符串或其他内容,并将其提交给主办方,从而夺得分数。为了方便称呼,我们把这样的内容称之为“Flag”。至于更加具体的比赛的了解可能需要自己去看看百度或者其他的一些学习视频,在此不做分析了。
人们常觉得准备期间是在浪费时间,只有当真正机会来临时,自己没能力把握的时候,才觉得自己平时没有准备,浪费了时间。 所以想参加CTF比赛的同学首先需要明白一点这玩意大家是需要基础的,今天我主要分享一下我自己在准备CTF比赛中所掌握的一些必要的基础技能。


CTF之PHP基础

一、PHP是什么?

PHP 是一种创建动态交互性站点的强有力的服务器端脚本语言。除此之外我们还需要了解与他相关的一些概念。
IP(Internet Protocol)是网际互连协议,是TCP/IP体系中的网络层协议,即为计算机网络互连进行通信而设计的协议。
域名(Domain Name),又称网域,是由一串用点分隔的名字组成的Internet上某一台计算机或计算机组的名称。
DNS(域名系统)(Domain Name System)是互联网的一项服务。它作为将域名和IP地址相互映射的一个分布式数据库,能够使人更方便地访问互联网。
端口(port)可以认为是设备与外界通讯交流的出口。端口可分为虚拟端口和物理端口,其中虚拟端口指计算机内部或交换机路由器内的端口,不可见。如计算机中的80端口。物理端口又称为接口,是可见端口。

二、配置PHP环境

    在此以phpstudy (版本8.1.1.2)和vscode(版本1.65)搭建一个简易运行环境

首先先从官网下载这小皮面板 和 vscode。
我们先打开小皮配置一些基础。
首先
CTF之PHP基础学习篇(一)
第二步
CTF之PHP基础学习篇(一)
第三步
CTF之PHP基础学习篇(一)
如若遇到MySQL无法正常启动,可能与自己曾经装的MySQL相冲突了。
以管理员身份运行cmd,切换到MySQL/bin目录下
CTF之PHP基础学习篇(一)
若要关闭,使用本地MySQL只需要把箭头后面的依次改为
mysqld——install mysql //重新创建服务名mysql
net startmysql//启动服务,切换本地MySQL

如若碰到这一类问题CTF之PHP基础学习篇(一)
极有可能是数据库无这一字符集,更改字符集即可。
CTF之PHP基础学习篇(一)
再来设置一下PHP环境路径
先打开此电脑,选择属性,高级系统配置,选择环境变量
CTF之PHP基础学习篇(一)
打开cmd
CTF之PHP基础学习篇(一)
接下来我们配置vscode
打开vscode,先下载安装一些PHP插件。
Open PHP 连接网站
CTF之PHP基础学习篇(一)
PHP Debug 连接PHP编译
CTF之PHP基础学习篇(一)
PHP IntelliSense 完善PHP代码

CTF之PHP基础学习篇(一)

到扩展中正找到插件,然后分别点击PHP和PHP IntelliSense插件的 settings.json 文件,翻到最下面 。
将php.exe的文件夹路径添加到Path环境变量中(php.exe的文件夹即可)
例如: "php.validate.executablePath": "C:/phpstudy_pro/Extensions/php/php7.3.4nts/php.exe;", "php.executablePath": "C:/phpstudy_pro/Extensions/php/php7.3.4nts/php.exe;"
CTF之PHP基础学习篇(一)
CTF之PHP基础学习篇(一)
将Open PHP 目录修改为小皮的www下
CTF之PHP基础学习篇(一)

出现如图及成功了。
CTF之PHP基础学习篇(一)
CTF之PHP基础学习篇(一)
至此PHP环境配置完成。

三、php基础语法

PHP 一种脚本,可嵌入HTML语言。也是一种弱类型语言,不必声明该变量数据类型。
常见的标记:
脚本标记
<script languge=" php">php代码</script>
标准脚本

<?php
 php代码
?>

php注释与其他语言类似。
PHP输出基础指令 echo/print。
php声明变量和其它语言大致相同,注意一下$符号就行。

PHP的作用域
局部和全局作用域
在所有函数外部定义的变量,拥有全局作用域。除了函数外,全局变量可以被脚本中的任何部分访问,要在一个函数中访问一个全局变量,需要使用 global 关键字。
在 PHP 函数内部声明的变量是局部变量,仅能在函数内部访问。

PHP数据类型大致与其它一些语言相似,但有些有所不同,比如PHP 资源类型。
PHP 资源 resource 是一种特殊变量,保存了到外部资源的一个引用。常见资源数据类型有打开文件、数据库连接、图形画布区域等。由于资源类型变量保存有为打开文件、数据库连接、图形画布区域等的特殊句柄,因此将其它类型的值转换为资源没有意义。使用 get_resource_type() 函数可以返回资源(resource)类型:get_resource_type(resource $handle): string

PHP类型比较

==(比较值,不比较类型)

===(比较值,比较类型)

PHP 常量
常量是一个简单值的标识符。该值在脚本中不能改变。
一个常量由英文字母、下划线、和数字组成,但数字不能作为首字母出现。 (常量名不需要加 $ 修饰符)。

PHP并置运算符·

<?php
$txt1="Hello world!";
$txt2="What a nice day!";
echo $txt1 . " " . $txt2;
?>


PHP运算符
许多规则与其他语言运算符规则大致相同。有一些比较特殊。

-x         取反
x<>y       不等于 
x!==y      绝对不等于  如果 x 不等于 y,或它们类型不相同,则返回 true 5!=="5" 返回 true

CTF之PHP基础学习篇(一)

PHP比较运算符
<=>

$c = $a <=> $b;
如果 $a > $b, 则 $c 的值为 1。
如果 $a == $b, 则 $c 的值为 0。
如果 $a < $b, 则 $c 的值为 -1。

PHP的条件判断语句与循环语句与我们所学的C++等其它语言语法相似,在此不再多讲。

PHP数组
在 PHP 中,array() 函数用于创建数组:array();
在 PHP 中,有三种类型的数组:
数值数组 - 带有数字 ID 键的数组
关联数组 - 带有指定的键的数组,每个键关联一个值

$age=array("a"=>"35","b"=>"37","e"=>"43");

多维数组 - 包含一个或多个数组的数组
数组排序
sort() - 对数组进行升序排列
rsort() - 对数组进行降序排列
asort() - 根据关联数组的值,对数组进行升序排列
ksort() - 根据关联数组的键,对数组进行升序排列
arsort() - 根据关联数组的值,对数组进行降序排列
krsort() - 根据关联数组的键,对数组进行降序排列

在这里就不再详细讲述PHP其他语法点,想要了解更多的可以去看看菜鸟教程PHP。

总结

以上就是今天要讲的内容,本文仅仅简单介绍了PHP的相关知识。至于PHP与CTF之间的具体联系,之后会在做题中体现出来。如果文章中存在啥问题,欢迎大家私信我呦。文章来源地址https://www.toymoban.com/news/detail-402561.html

到了这里,关于CTF之PHP基础学习篇(一)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • PyTorch深度学习实战(5)——计算机视觉基础

    计算机视觉是指通过计算机系统对图像和视频进行处理和分析,利用计算机算法和方法,使计算机能够模拟和理解人类的视觉系统。通过计算机视觉技术,计算机可以从图像和视频中提取有用的信息,实现对环境的感知和理解,从而帮助人们解决各种问题和提高效率。本节中

    2024年02月16日
    浏览(41)
  • 计算机视觉基础(10)——深度学习与图像分类

    传统视觉算法采用手工设计特征与浅层模型 ,而手工设计特征依赖于专业知识,且泛化能力差。深度学习的出现改变了这一状况, 为视觉问题提供了端到端的解决方案 。在之前的课程中,我们已经学习了图像分类的传统知识。在本节课中,我们将学习到 图像分类融合深度学

    2024年02月04日
    浏览(86)
  • CTF-PHP反序列化漏洞1-基础知识

    作者:Eason_LYC 悲观者预言失败,十言九中。 乐观者创造奇迹,一次即可。 一个人的价值,在于他所拥有的。可以不学无术,但不能一无所有! 技术领域:WEB安全、网络攻防 关注WEB安全、网络攻防。我的专栏文章知识点全面细致,逻辑清晰、结合实战,让你在学习路上事半

    2023年04月15日
    浏览(44)
  • 网络安全入门学习第九课——计算机网络基础

    1.1、公网地址的范围 A类:地址范围1.0.0.0~127.255.255.255,主要分配给主机数量多、局域网数量少的大型网络; B类:地址范围为128.0.0.0至191.255.255.255,一般为国际大公司及政府机构使用; C类:地址范围为192.0.0.0至223.255.255.255,为一般小型公司校园网研究机构; 1.2、私网地址的范围 A类

    2024年02月08日
    浏览(58)
  • 计算机视觉基础知识(十二)--神经网络与深度学习

    一种机器学习的算法 一般有输入层--隐藏层--输出层 隐藏层数量多于两个的称为深度神经网络; 输入的是特征向量; 特征向量代表的是变化的方向; 或者说是最能代表这个事物的特征方向; 权重是特征值,有正有负,加强或抑制; 权重的绝对值大小,代表输入信号对神经元的影响大小

    2024年02月21日
    浏览(59)
  • 计算机视觉与深度学习 | 视觉惯性SLAM的基础理论

    ===================================================== github:https://github.com/MichaelBeechan CSDN:https://blog.csdn.net/u011344545 ===================================================== 计算机视觉与深度学习 | SLAM国内外研究现状

    2024年02月07日
    浏览(45)
  • 【计算机网络基础篇】学习笔记系列之一《TCP/IP 网络模型》

    为什么要有 TCP/IP 网络模型? 不同设备上的进程间通信需要通过一套通用的网络协议进行网络通信。 对于同一台设备上的进程间通信,有很多种方式,比如有管道、消息队列、共享内存、信号等方式,而对于不同设备上的进程间通信,就需要网络通信,而设备是多样性的,所

    2024年04月11日
    浏览(48)
  • 深度学习基础入门篇[8]::计算机视觉与卷积神经网络、卷积模型CNN综述、池化讲解、CNN参数计算

    计算机视觉作为一门让机器学会如何去“看”的学科,具体的说,就是让机器去识别摄像机拍摄的图片或视频中的物体,检测出物体所在的位置,并对目标物体进行跟踪,从而理解并描述出图片或视频里的场景和故事,以此来模拟人脑视觉系统。因此,计算机视觉也通常被叫

    2024年02月05日
    浏览(82)
  • 计算机系统基础(六)之RISC-V流水线设计——用ChatGPT辅助学习

    一、CPU的流水线通常被划分为五个部分,它们是: 取指令(Instruction Fetch):从内存中获取指令并将其放入指令寄存器中。 指令译码(Instruction Decode):将指令从指令寄存器中读取并解码成相应的操作。 执行指令(Execution):根据操作码执行指令,可能需要读取寄存器或内

    2024年02月03日
    浏览(41)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包