ctf新人的入门笔记
Web
PHP
1 | <?php |
其中:PHP 脚本以 <?php
开始,以 ?>
结束
变量以$
符号开始,后面跟着变量的名称,并且变量名是区分大小写的
输出:echo
- 可以输出一个或多个字符串(print
- 只允许输出一个字符串,返回值总为 1)array()
函数用于创建数组cars[0]
用于访问数组 $cars 中的第一个元素(如果cars[1]
则表示第二个). " "
:这将空格字符插入到输出中. "."
: 这将句号字符追加到输出中
数组定义:
1 | $z = ['H','e','l', 'l', 'o']; |
魔术常量:
1 | __FILE__ //返回文件的完整路径和文件名 |
松散比较:使用两个等号 == 比较,只比较值,不比较类型。
严格比较:用三个等号 === 比较,除了比较值,也比较类型
$_GET —— 接受 GET 请求传递的参数
$_POST —— 接受 POST 请求传递的参数
$_REQUEST —— 接受 GET 和 POST 以及 Cookie 请求传递的参数
文件操作函数:
include()
: 导入并执行指定的 PHP 文件。例如:include('config.php');
会导入并执行 config.php 文件中的代码。
require()
: 类似于 include(),但如果文件不存在,则会产生致命错误。
include_once()
, require_once()
: 与 include 和 require 类似,但只导入文件一次。
fopen()
: 打开一个文件或 URL。例如:$file = fopen("test.txt", "r");
会以只读模式打开 test.txt。
file_get_contents()
: 读取文件的全部内容到一个字符串。例如:$content = file_get_contents("test.txt");
file_put_contents()
: 将一个字符串写入文件。例如:file_put_contents("test.txt", "Hello World!");
代码执行函数:
eval()
: 执行字符串中的 PHP 代码。例如:eval('$x = 5;');
会设置变量 $x 的值为 5。
assert()
: 用于调试,检查一个条件是否为 true。
system()
, shell_exec()
, exec()
, passthru()
: 执行外部程序或系统命令。例如:system("ls")
; 会执行 ls 命令并显示输出。
反序列化函数:
unserialize()
: 将一个已序列化的字符串转换回 PHP 的值。例如:$array = unserialize($serializedStr);
可以将一个序列化的数组字符串转换为数组。
数据库操作函数:
mysql_query()
, mysqli_query()
: 发送一个 MySQL 查询。例如:$result = mysql_query("SELECT * FROM users");
其他函数:
preg_replace()
: 执行正则表达式搜索和替换。例如:$newStr = preg_replace("/apple/i", "orange", $str);
会将 $str
中的 “apple” 替换为 “orange”。
create_function()
: 创建匿名的 lambda 函数。例如:$func = create_function('$x', 'return $x + 1;');
phpinfo文件
如果打不开也可以在中国蚁剑里面使用
1 | php -i |
MISC
图片隐写
文件分离——foremost
1 | foremost -I file -ooutput |
-o 后面参数是输出的路径,-i则是指定一个文件
1 | -V -显示版权信息并退出 |
zsteg
010Editor
binwalk
strings
- 标题: ctf新人的入门笔记
- 作者: 洛依羽Mitaner
- 创建于 : 2024-09-30 11:16:25
- 更新于 : 2024-10-01 20:59:36
- 链接: https://www.mitaner.top/posts/f6c4b2aa.html
- 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。