0x00前言:
作者:李斌,现汽车之家高级安全工程师。曾职于奇虎360数年,熟悉代码审计、渗透测试等Web安全行业。乌云核心白帽子。
之前的白帽子分享之代码审计系列已有七篇非常经典的内容,之前无看过的朋友能够瞧瞧以下的链接:
代码审计的艺术系列—第1篇
白帽子分享之代码的艺术系列—第二篇
白帽子分享之代码审计的艺术系列第三季
白帽子分享之代码审计的艺术系列第四季
白帽子分享之代码审计的艺术系列—第五季
白帽子分享之代码审计的艺术系列—第六季
接上篇白帽子分享之代码审计的艺术系列—第七季说到了一个上传漏洞搜索和挖掘的简单案例。 文件上传漏洞是一种非常平常的漏洞类型,亦是直接获取服务器权限最直接的方式,因此快速发掘一套源码文件上传漏洞进行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、成长型互联网公司该怎样构建安全团队—第1季
3、这才是互联网与安全团队必须的几种人才!
4、白帽子黑客:EX,还记得咱们一块去太平山顶的约定么?
5、少年黑客:我的初恋女友,你在哪里?
6、开春巨献!全世界TOP500安全机构到底在做些什么
7、2015年迄今国内信息安全行业哪些投资哪些事
8、301:浅谈互联网安全状况与攻击趋势
9、招人必看!301浅谈国内安全人才薪酬状况
十、301:从安全方向浅谈云计算服务平台状况与发展
长按二维码关注301公众号
合作联系:2036234(备注单位+名字)
http://weixin.qq.com/r/8kVZQQjEDlVxrUwi9xDg (二维码自动识别)
|