ctf新人的入门笔记

洛依羽Mitaner Lv1

Web

PHP

1
2
3
4
<?php
$cars=array("Hello","CTF");
echo "I like " . $cars[0] . " " . $cars[1] . ".";
?>

其中:PHP 脚本以 <?php 开始,以 ?>结束
变量以$符号开始,后面跟着变量的名称,并且变量名是区分大小写的
输出:echo - 可以输出一个或多个字符串(print - 只允许输出一个字符串,返回值总为 1)
array() 函数用于创建数组
cars[0] 用于访问数组 $cars 中的第一个元素(如果cars[1]则表示第二个)
. " ":这将空格字符插入到输出中
. ".": 这将句号字符追加到输出中
数组定义:

1
2
3
4
5
6
$z = ['H','e','l', 'l', 'o'];
$z[0] = 'H';
$z[1] = 'r';
$z[2] = 'l';
$z[3] = 'l';
$z[4] = 'o';

魔术常量:

1
2
__FILE__ //返回文件的完整路径和文件名
highlight_file(__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
2
3
4
5
6
7
8
9
10
11
-V  -显示版权信息并退出
-t -指定文件类型。(-t jpeg,pdf…)
-d -启用间接块检测(对于UNIX文件系统)
-i -指定输入文件(默认为stdin)
-a -写入所有标头,不执行错误检测(损坏的文件)
-w -仅写入审核文件,不将任何检测到的文件写入磁盘
-o -设置输出目录(默认为输出)
-c -设置要使用的配置文件(默认为forest.conf)
-q -启用快速模式。在512字节边界上执行搜索。
-Q -启用静音模式。抑制输出消息。
-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 进行许可。
评论