1. 云栖社区>
  2. PHP教程>
  3. 正文

白帽子分享之代码审计的艺术系列:第八季

作者:用户 来源:互联网 时间:2017-12-01 13:16:01

代码分享审计系列

白帽子分享之代码审计的艺术系列:第八季 - 摘要: 本文讲的是白帽子分享之代码审计的艺术系列:第八季, 0x00前言: 作者:李斌,现汽车之家高级安全工程师。曾职于奇虎360多年,熟悉代码审计、渗透测试等Web安全领域。乌云核心白帽子。 之前的白帽子分享之代码审计系列已有七篇非常经典的内容,之前没有看过的同学可以看看以下的链接:

0x00前言:

作者:李斌,现汽车之家高级安全工程师。曾职于奇虎360多年,熟悉代码审计、渗透测试等Web安全领域。乌云核心白帽子。

之前的白帽子分享之代码审计系列已有七篇非常经典的内容,之前没有看过的同学可以看看以下的链接:

代码审计的艺术系列—第一篇

白帽子分享之代码的艺术系列—第二篇

白帽子分享之代码审计的艺术系列第三季

白帽子分享之代码审计的艺术系列第四季

白帽子分享之代码审计的艺术系列—第五季

白帽子分享之代码审计的艺术系列—第六季

接上篇 白帽子分享之代码审计的艺术系列—第七季 提到了一个上传漏洞搜索和挖掘的简单案例。文件上传漏洞是一种非常常见的漏洞类型,也是直接获取服务器权限最直接的方式,所以快速发掘一套源码文件上传漏洞进行getshell是这篇要讨论的,主要分为危险函数、上传技巧和条件竞争漏洞三方面展开。

0x01危险函数:

move_uploaded_file()

getimagesize()

copy()

0x02文件上传漏洞的脑图:

白帽子分享之代码审计的艺术系列:第八季

0x03 上传技巧 :

PHP%00截断

截断条件:

①PHP版本小于5.3.4,详情请查看[CVE-2006-7243](https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2006-7243)

②magic_quotes_gpc=Off,否则%00这种空字符会被转义为/0

搭建好满足上面两个条件的测试环境后,可以用下面的漏洞代码来测试:

白帽子分享之代码审计的艺术系列:第八季

白帽子分享之代码审计的艺术系列:第八季

成功截断上传获取webshell

白帽子分享之代码审计的艺术系列:第八季

白帽子分享之代码审计的艺术系列:第八季

文件头Content-type绕过

通过将上传文件里面加上"GIF89a"后进行上传在一定环境下可以绕过图片文件检测后getshell,原因是使用了类似getimagesize()这种函数对上传文件是否是图片进行判断,我们可以用如下代码进行测试:

白帽子分享之代码审计的艺术系列:第八季

测试发现加上GIF89a头后该函数会判断为x.php为图片文件

白帽子分享之代码审计的艺术系列:第八季

0x04 条件竞争漏洞 :

缺陷代码:

白帽子分享之代码审计的艺术系列:第八季

意思是利用copy函数将上传的图片image.jpg复制到$path里,然后删除目录下非jpg的文件,所以正常的攻击流程:上传图片image.jpg-->利用copy函数生成shell.php-->shell.php被删。shell被删就鸡肋了~

那么换个Hacker的思路:上传头像-->生成临时文件(tmp.php)-->不断请求tmp.php在上层目录生成shell.php文件-->删除当前目录下tmp.php等非jpg文件,但留下了上层目录下的shell.php文件-->成功!

所以image.jpg的代码如下:

用burp进行测试,一个执行缺陷代码不断生成tmp.php如下:

白帽子分享之代码审计的艺术系列:第八季

一个不断访问tmp.php从而可以在上级目录下生成shell.php如下:

白帽子分享之代码审计的艺术系列:第八季

爆破一会儿就发现在主目录下写下shell.php了~

本篇的内容,我们就介绍到这里,下一篇欢迎持续关注。

谢谢大家关注和一直以来的支持,您的转发和点赞就是最大的支持。:)

其他推荐:

0、 重磅分享 | 白帽子黑客浅谈顾问式销售与服务

1、 安全观点:企业信息安全十大痛点,你中招了。

2、 成长型互联网企业该如何构建安全团队—第一季

3、 这才是互联网与安全团队需要的几种人才。

4、 白帽子黑客:EX,还记得我们一起去太平山顶的约定么。

5、 少年黑客:我的初恋女友,你在哪里。

6、 开春巨献。全球TOP500安全公司到底在做些什么

7、 2015年至今国内信息安全领域那些投资那些事

8、 301:浅谈互联网安全现状与攻击趋势

9、 招人必看。301浅谈国内安全人才薪酬现状

10、 301:从安全角度浅谈计算服务平台现状与发展

长按二维码关注301公众号

合作联系:2036234(备注单位+名字) 白帽子分享之代码审计的艺术系列:第八季

以上是云栖社区小编为您精心准备的的内容,在云栖社区的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索代码 , 分享 , 审计 , 系列 , ,以便于您获取更多的相关知识。