来源:自学PHP网 时间:2015-04-17 13:03 作者: 阅读:次
[导读] 还记得之前国外某牛提出的LFI包含临时文件么?当时确实觉得有些鸡肋,因为临时文件的路径及名字是未知的,虽然临时文件的名字可以利用类似*?等通配符(我们暂且称其为通配符)匹...
还记得之前国外某牛提出的LFI包含临时文件么? 当时确实觉得有些鸡肋,因为临时文件的路径及名字是未知的,虽然临时文件的名字可以利用类似<>*?等通配符(我们暂且称其为通配符)匹配,而同时N个人一起请求的话可能同时生成很多临时文件,因此用通配符也不一定能匹配成,而且临时文件保存的路径也只能靠猜。 我们知道在向服务器上任意php文件post请求上传数据时,都会生成临时文件,以前不知道临时文件的路径和名字只能乱猜,这次国外友人提出利用phpinfo()。 当向任意php文件post请求上传数据时,可以直接在phpinfo页面找到临时文件的路径及名字。
参考: http://gynvael.coldwind.pl/download.php?f=PHP_LFI_rfc1867_temporary_files.pdf http://www.insomniasec.com/publications/LFI%20With%20PHPInfo%20Assistance.pdf 这个paper里带了一个python写的利用脚本,至少我用了N次也没成功过一次,或许是缩进的原因?把python代码写进pdf里可不是一个好主意:( 于是自己写了一个,如果网站快的话需要几秒,如果网站慢的话需要几十秒来getshell。
地址:http://secer.org/pentest/lfi_tmp.py 如果空间挂了,请将图片另存为rar解压。
本脚本仅为网络安全从业人员及网络安全爱好者研究交流之用,请勿用于非法用途……这个还是要顺便说一下的…… # ----------------------- 2011.9.12 update ----------------------- # sogili测试了我的脚本说报错,于是找到了解决方案给他,顺便更新在这里。 有的时候对方网站本身就响应非常慢,这个时候解决办法:尝试逐渐增加padding的长度来拖一下phpinfo页面响应。 另外,有的服务器本身就不能%00截断,这个时候自己想办法截断吧,.或者/什么的。 我现在测试了本地的windows没问题、德国ping值在500+的linux也没问题。
|
自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习
京ICP备14009008号-1@版权所有www.zixuephp.com
网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com