渗透技巧-Windows FindFirstFile 特性

渗透技巧 2年前 (2022) admin
537 0 0


文章首发于:

火线Zone社区(https://zone.huoxian.cn/)


前言


首先这个思路来自于书籍《代码审计-企业级 Web 代码安全架构》,看完之后感觉挺新奇的值得分享(也可能是因为我太菜了,之前不了解这种姿势),推荐大家去阅读原书。


利用原理


我们都知道,在我们进行文件包含的时候,上传的文件名很大几率都是经过处理的(MD5、时间戳等)。


那么这样,我们很可能会碰到马子上传成功了,但是由于服务器未返回文件名,不知道完整路径而无法利用。


这时我们就可以使用这个技巧,在知道文件所在目录,但不知道文件名的情况下来包含我们的马子。(也可根据常见的文件名处理逻辑去猜测爆破文件名。)


利用条件


利用的条件为:Windows,这是因为 Windows 在搜索文件时使用到了 FindFirstFile 这一个 winapi 函数,该函数到一个文件夹(包括子文件夹)去搜索指定文件。


利用方法


我们可以将文件名不可知部分之后的字符串使用 “<” 或 “>” 代替,但是需要注意:一个 “<” 或 “>” 只能代表一个字符。

如果我们上传的马子为 shell.php,那么请求 “s<” 或者 ”s>“ 都是访问不到文件的。需要使用 “s<<” 才能访问到,含义为继续往下搜索。


演示


这里只是作为姿势的演示,真实环境下需要结合场景进行变通。

如下图,我们可以看到一个存在文件包含漏洞的 test.php 以及我们所上传 shell.txt 后名称被处理的马子 

shell_2021123166666.txt


渗透技巧-Windows FindFirstFile 特性


在正常情况下,我们需要包含我们的马子需要这样操作:

test.php?file=shell_2021123166666.txt


渗透技巧-Windows FindFirstFile 特性


那么我们在不知道马子的完整文件名时,就可以这样去访问。

test.php?file=shell<<


渗透技巧-Windows FindFirstFile 特性


注意1:

shell<<、shel<<、she<<、sh<<、s<< 都是可以访问到的。

注意2:

此特性只可在 Windows 中使用。

注意3:

经过测试发现,在使用 “<<” 去匹配时,模糊时会优先匹配值最小的文件名称,如下图:


渗透技巧-Windows FindFirstFile 特性


2020 < 2021 < 2022

在访问 test.php?file=shell_202<< 时,由于我们存在 2020、2021、2022 文件,0 < 1 < 2,所以会匹配到 2020 文件。


渗透技巧-Windows FindFirstFile 特性


如果想要匹配到我们的马子,也就是 2021,则需要增加文件名的准确度,也就是匹配 test.php?file=shell_2021<<


渗透技巧-Windows FindFirstFile 特性


补充:不要忘记 “<” 或 “>” 只能代表一个字符,因此在文件名长度不确定时,我们提供的半截文件名加”<” 或 “>” 的字符数之和不等于完整文件名字符数,会匹配失败。


渗透技巧-Windows FindFirstFile 特性
渗透技巧-Windows FindFirstFile 特性


小结


此特性并不是只有文件包含函数才可用,事实上还有很多函数也一样可利用这个特性,我们在进行代码审计的时候也可以注意一下,说不定就能挖出意想不到的漏洞(关于 PHP 的代码审计可了解我之前发的 https://zone.huoxian.cn/d/752-cms 文章:)。


函数可见下图,最后祝各位师傅们新年挖洞多多,¥多多。


渗透技巧-Windows FindFirstFile 特性



【火线—白帽技术交流群】

进群可以与技术大佬互相交流

进群有机会免费领取节假日礼品

进群可以免费观看技术分享直播

识别二维码回复【交流群】进群

渗透技巧-Windows FindFirstFile 特性
渗透技巧-Windows FindFirstFile 特性


【火线zone社区周激励】

2022.1.10 ~ 2022.1.16公告

渗透技巧-Windows FindFirstFile 特性


【相关精选文章】

渗透技巧-Windows FindFirstFile 特性

渗透技巧-Windows FindFirstFile 特性


渗透技巧-Windows FindFirstFile 特性


火线Zone是[火线安全平台]运营的封闭式实战安全攻防社区,研究讨论实战攻防技术,平台向顶尖的白帽子提供安全测试的云端基础设施,目前火线的高级白帽子数量已经近万人,欢迎具备分享和探索精神的白帽子加入火线Zone社区,共建一个有技术氛围的优质社区!

如需转载火线Zone公众号内的文章请联系火线小助手:hxanquan(微信)


渗透技巧-Windows FindFirstFile 特性

 微信号 

huoxian_zone


渗透技巧-Windows FindFirstFile 特性

点击阅读原文,加入社区,共建一个有技术氛围的优质社区!

原文始发于微信公众号(火线Zone):渗透技巧-Windows FindFirstFile 特性

版权声明:admin 发表于 2022年1月20日 上午10:00。
转载请注明:渗透技巧-Windows FindFirstFile 特性 | CTF导航

相关文章

暂无评论

您必须登录才能参与评论!
立即登录
暂无评论...