0x00前言:
作者:李斌,现汽车之家高级安全工程师。曾职于奇虎360多年,熟悉代码审计、渗透测试等Web安全领域。乌云核心白帽子。
不知不觉代码审计的艺术系列已经陪大家走到了第十季,该系列文章已经有九篇非常经典的文章,之前没有看过的同学可以看看以下的链接:
代码审计的艺术系列—第一篇;
白帽子分享之代码的艺术系列—第二篇;
白帽子分享之代码审计的艺术系列第三季;
白帽子分享之代码审计的艺术系列第四季;
白帽子分享之代码审计的艺术系列—第五季;
白帽子分享之代码审计的艺术系列—第六季;
白帽子分享之代码审计的艺术系列—第七季;
白帽子分享之代码审计的艺术系列-第八季;
代码审计的艺术系列-文件包含漏洞;
本篇介绍的是任意文件下载和删除也是审计必备的技能之一,也是是这篇要讨论的,主要分为危险函数、文件下载和文件删除三方面展开。
0x01危险函数:
文件下载危险函数:file_get_contents()、fopen()等
文件删除危险函数:unlink()
0x02 文件下载:
文件下载漏洞通常出现在像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(备注单位+名字)