CTFShow_MISC图片篇(基础操作)misc1 直接下载图片查看就可以 misc2 下载的附件为txt文件,打开后可以看见文件头为89 50 4E 47 将格式改为png即可 misc3 下载的文件为bpg文件,可以使用BandView等支持的软件打开,打开查看即可获得flag misc4 全部改为png格式后每个都查看一下,拼接起来就可以 图片篇(信息附加)misc5 使用16进制查看器,在文件结束标志后即可发现flag misc6 用16进制查看器搜索关键字CTF即可 misc7 用16进制查看器搜索关键字CTF即可 misc8 图片内藏了一个图片,使用foremost分离一下即可 misc9 两种方法,查看图片的EXIF信息或者使用16进制编辑器搜索ctf misc10 使用binwalk分离一下文件,在分离出的文件搜索关键字即可
CTFShow_WEB命令执行web2912345678910error_reporting(0);if(isset($_GET['c'])){ $c = $_GET['c']; if(!preg_match("/flag/i", $c)){ eval($c); } }else{ highlight_file(__FILE__);} 过滤了 flag 字段,可以使用 * 通配符进行过滤 payload:?c=system("tac%20fla*"); web3012345678910error_reporting(0);if(isset($_GET['c'])){ $c = $_GET['c']; if(!preg_match("/flag|system|php/i", $c)){ ev ...
PHP语法重定向语法基本语法 表达式 含义 >文件 将标准输出(stdout)重定向到一个文件(覆盖写入) >>文件 将标准输出重定向到一个文件(追加写入) 2>文件 将标准错误(stderr)重定向到一个文件 2>&1 将标准错误重定向到标准输出所在的位置 /dev/null 特殊设备,写入它的数据会被丢弃(相当于“黑洞”) 组合用法举例1command > /dev/null 2>&1 含义分解: > /dev/null:把标准输出丢弃。 2>&1:把标准错误也重定向到标准输出(即也丢弃)。 ✅ 结果是命令既不输出正常信息,也不输出错误信息, “静默执行” 。
命令执行PHP命令执行函数 函数 作用 eg system() 用于在系统权限允许的情况下执行系统命令(Windows 和 Linux 系统均可执行)。 system('cat /etc/passwd'); exec() 可以执行系统命令,但不会直接输出结果,而是将结果保存到数组中。 exec('cat /etc/passwd', $result); print_r($result); shell_exec() 执行系统命令,但返回一个字符串类型的变量来存储系统命令的执行结果。 echo shell_exec('cat /etc/passwd'); passthru() 执行系统命令并将执行结果输出到页面中,支持二进制数据。 passthru('cat /etc/passwd'); popen() 执行系统命令,但返回一个资源类型的变量,需要配合 fread() 函数读取结果。 $result = popen('cat /etc/passwd' ...
文件上传.user.ini 的妙用原理 .user.ini 中两个中的配置是 auto_prepend_file 和 auto_append_file 意思就是:我们指定一个文件(如 1.jpg),那么该文件就会被包含在要执行的 php 文件中(如 index.php) 区别在于 auto_prepend_file 是在文件前插入,auto_append_file 在文件最后插入。 user.ini 可以把指定的一个文件包含到这个目录下任意一个会以 php 执行的文件中(比如 index.php、test.php),当你访问 index.php 后这个被你指定的文件,无论后缀是什么,都会以 php 的方式进行读取,所以可以绕过后端检测 eg: 首先上传 .user.ini 1auto_prepend_file=shell.png 然后再上传 shell.png 1一句话木马 ** 注意:最后要访问/upload/index.php, 而非文件目录 ** 经典过滤 更改 js 代码绕过前端过滤 文件后缀,大小写、如果 ...
文件包含概述:PHP 中常用的文件包含函数有以下四种: include() 找不到被包含的文件时只会产生警告,脚本将继续运行。 include_once() 与 include() 类似,唯一区别是如果该文件中的代码已经被包含,则不会再次包含。 require() 找不到被包含的文件时会产生致命错误,并停止脚本运行。 require_once() 与 require() 类似,唯一区别是如果该文件中的代码已经被包含,则不会再次包含。 当以上 四种函数 参数可控的情况下,我们需要知道以下两点特性, 若文件内容符合 PHP 语法规范,包含时不管扩展名是什么都会被 PHP 解析。 若文件内容不符合 PHP 语法规范则会暴漏其源码。 分类: 在文件包含中,主要分为 本地 和 远程 两种类别,分类取决于所包含文件位置的不同。这两种分类依赖于 php.ini 中的两个配置项,注意对配置进行更改时,注意 On / Off 开头需大写,其次,修改完配置文件后务必要重启 Web 服务,使其配置文件生效。 allow_url_fopen (默认开启 ...
W3ight#00005f-WEEK1-WPMISCHakuya Want A Girl Friend观察.txt文件,发现打头为 50 4B 03 04 ,直接写脚本提取zip 123456789101112def hex_to_zip(input_file, output_file): with open(input_file, 'r') as infile: hex_data = infile.read().replace('\n', '').replace(' ', '') binary_data = bytes.fromhex(hex_data) with open(output_file, 'wb') as outfile: outfile.write(binary_data)input_file = 'hky.txt' output_file = 'output.zip' ...
This is the first post and the test post.Welcome to my blog!
Markdown语法标题一级标题 # 二级标题 ## …….. 加粗** ** 斜体_ _ 代码 行间代码 `` 代码块 ``` ``` 列表 无序列表 123*内容1*内容2*内容3 有序列表 1231.内容12.内容23.内容3 插入图片![]() 引入URL[文本](链接)