Unicode规范化Bypass-CTF特殊题型
Unicode规范化会把本地编码系统中没有的特殊字符规范为一个本地编码系统中存在的,与这个特殊字符形状很相似的字符,有些CTF题目进行了十分暴力的过滤,可能就使用了这个考点,此时我们可以用这些字符绕过waf来构造payload,同时能达到相同的功能。
Unicode规范化BypassUnicode规范化在很早以前就被注意到可以用于生成出一些特殊关键字,但是没有被广泛介绍或者经常出现在CTF赛题中。例如︷︷1+1︸︸在NFKC/NFKD中会被解析为{{1+1}},用于绕过单花括号的直接过滤。XSS/SQLI题目也有类似的操作(注意只有进行了规范化的时候才有用)。
Unicode规范化简介Unicode规范化是将多种表示形式的Unicode字符转换为统一形式的过程,有助于字符串比较和数据处理。
简单来说就是将一些相近的,及其罕见的特殊字符,变成本地编码中与这些特殊字符及其相近的字符。
Unicode的标准定义了四种规范化形式:
NFD(Normalization Form D):将字符分解为基字符和组合字符的表示形式,并以正确的顺序组合它们。例如, ...
经典之pearcmd的妙用
2023年的ACTF后遗留下来的一个我一直没有总结过的的文件包含(过滤)的骚利用手段,在失去filterchain的情况下如何getshell?
pearcmd文件包含漏洞这个手段似乎很早就出现了,2021年已经有相关博客,但是没有大规模的传播。
早在2021就有大佬做了详尽的总结Docker PHP裸文件本地包含综述 | 离别歌 (leavesongs.com)
简介pecl是PHP中用于管理扩展而使用的命令行工具,而pear是pecl依赖的类库。在7.3及以前,pecl/pear是默认安装的;
在7.4及以后,需要我们在编译PHP的时候指定—with-pear才会安装。
不过,在Docker任意版本镜像中,pcel/pear都会被默认安装,安装的路径在/usr/local/lib/php。
要利用这个pearcmd.php需要满足几个条件:
要开启register_argc_argv, 这个选项在Docker中使自动开启的
要有文件包含的利用
现在大部分CTF的环境都是利用docker搭建的,而现在的PHP题目的版本很大部分在7.4以上,所以这个利用的范围还是挺大的,可以试试。 ...
vulntarget-a 2023远古打打靶记录
东西是以前写的了。
vulntarget-a 打靶记录环境详情:
系统
Parrot(攻击者)
Win7
Win2019
Win2016
内网IP
无
10.0.20.98
10.0.10.110
10.0.20.99 10.0.10.111
外网IP
192.168.0.128
192.168.0.129
无
无
机子十分恶臭,会自动休眠
渗透过程:首先我们部署好环境,给我们的攻击机和Win7单独分一个Nat即可
随后我们部署好msf和cs,按照常理nmap对Win7进行扫描。
图快用的Syn,反正不影响。
80端口为通达OA,目测漏洞利用拿shell,查询知默认空口令,登录成功。
查询漏洞详情知有文件上传以及任意文件包含。
利用点:ispirit/im/upload.php
构造POST包,上传一句话,返回包中@后第一个为文件夹名,后为动态生成的文件名。
随后利用文件包含
不能直接执行很多命令,貌似eval被禁,我们只能先利用文件包含写一个shell。
123456<?php$file = fopen("she.php&quo ...