我是如何进行文件操作类漏洞挖掘的?
0x00前言: 作者:李斌,现汽车之家高级安全工程师。曾职于奇虎360多年,熟悉代码审计、渗透测试等Web安全领域。乌云核心白帽子。 不知不觉代码审计的艺术系列已经陪大家走到了第十季,该系列文章已经有九篇非常经典的文章,之前没有看过的同学可以看看以下的链接: 代码审计的艺术系列—第一篇; 白帽子分享之代码的艺术系列—第二篇; 白帽子分享之代码审计的艺术系列第三季; 白帽子分享之代码审计的艺术系列第四季; 白帽子分享之代码审计的艺术系列—第五季; 白帽子分享之代码审计的艺术系列—第六季; 白帽子分享之代码审计的艺术系列—第七季; 白帽子分享之代码审计的艺术系列-第八季; 代码审计的艺术系列-文件包含漏洞; 本篇介绍的是任意文件下载和删除也是审计必备的技能之一,也是是这篇要讨论的,主要分为危险函数、文件下载和文件删除三方面展开。 0x01危险函数: 文件下载危险函数:file_get_contents()、fopen()等 文件删除危险函数:unlink() 文件下载漏洞通常出现在像download.php、file.php类似这种名字的程序里。精准的搜索方法还是搜file_get_contents()、fopen()等函数,之前某oa系统就存在使用file_get_contents()这个函数导致的文件下载漏洞, 其缺陷代码如下: 测试发现成功读取了文件内容: 使用fopen()函数不当也容易出现这种漏洞,之前出现过的漏洞代码如下: 测试发现可以继续下载任意文件了 http://localhost/filedown.php?name=phpinfo.php 当然文件下载相关的函数不止这两个,还请自行搜寻和积累~ 0x03 文件删除:程序员在码代码使用了unlink()等函数之前未对传入的文件名或路径做有效的校验,从而被黑客利用删除任意文件造成损失。之前某知名的Mail系统就存在这一漏洞,缺陷代码如下: 本地测试发现返回为1,证明删除了db.sql文件 本篇的内容,我们就介绍到这里,下一篇欢迎持续关注。 其他推荐: 0、重磅分享 | 白帽子黑客浅谈顾问式销售与服务 1、安全观点:企业信息安全十大痛点,你中招了? 2、成长型互联网企业该如何构建安全团队—第一季 3、这才是互联网与安全团队需要的几种人才! 4、白帽子黑客:EX,还记得我们一起去太平山顶的约定么? 5、少年黑客:我的初恋女友,你在哪里? 6、开春巨献!全球TOP500安全公司到底在做些什么 7、2015年至今国内信息安全领域那些投资那些事 8、301:浅谈互联网安全现状与攻击趋势 9、招人必看!301浅谈国内安全人才薪酬现状 10、301:从安全角度浅谈云计算服务平台现状与发展 长按二维码关注301公众号 合作联系:2036234(备注单位+名字) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |