- 1、本文档共12页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
利用本地包含漏洞执行任意代码
1?概述?文 件包含(Local File Include)是php脚本的一大特色,程序员们为了开发的方便,常常会用到包含。比如把一系列功能函数都写进fuction.php中,之后当某个文 件需要调用的时候就直接在文件头中写上一句?php include fuction.php?就可以调用内部定义的函数。本地包含漏洞是PHP中一种典型的高危漏洞。由于程序员未对用户可控的变量进行输入检查,导致用户可以控制被包含的文件,成功利用时可以使web server会将特定文件当成php执行,从而导致用户可获取一定的服务器权限。?2?利用LFI执行PHP代码?2.1本地包含漏洞实例展示:?演示脚本文件test.php代码如下:?phpif( !ini_get(display_errors) ) {? ini_set(display_errors, On);? }error_reporting(E_ALL);$f = $_GET[file];if ($f){require .$f..php;}else{print(No File Included);}?在正常使用过程中,可能是这样子:/test.php?f=fuction,这样子 就包含了function这个文件,但是由于file参数没有过滤,我们可以自己提交参数内容,这个时候就导致了包含漏洞的出现。比如提交 :/index.php?f=shell.txt%00,shell.txt的内容为我们的webshell,由于前面的是?index.php,所以会把shell.txt当成是木马执行。在虚拟机搭建实例环境,直接访问,不赋值file参数:图1.不提交任何参数时的test.php赋值file参数为/etc/passwd图2.包含/etc/passwd文件成功包含。?2.2自己上传文件并实现包含?这里主要是结合服务器一些文件上传点,比如头像上传、相册照片上传等,而后结合php的%00截断特性成功利用包含漏洞(php5.4之后已修复截断特性,本例中不再结合%00,其他请自己测试)。假设我们可以自定义上传头像,头像文件在网站根目录的photo下,具体目录可以传上去之后查看图片Url信息。首先,我们只做包含恶意代码的图片文件:在windows下利用copy命令,shell.php为一句话木马(这里为了方便演示,我们用phpinfo();代替),photo.jpg问正常头像文件。在命令行下执行:copy photo.jpg /b + shell.php /b eval.jpg图3.Windows下copy命令制作图片木马此时eval.jpg和phpoto.jpg都可以正常打开这种方法对于验证严格的上传点有用,其实很多时候我们可以简单的改一下后缀名,在php代码前加一个GIF89a就可绕过大多数检测。将eval.jpg上传,并包含,效果如下图:图4.包含图片木马效果此时成功利用本地包含漏洞执行php代码。?2.3包含环境变量文件?Linux下有一个文件/proc/self/environ,这个文件里保存了系统的一些变量。内容如下图:图5.BT5下/proc/self/environ文件内容但是用户可通过修改浏览器的agent信息插入自己的内容到该文件,将php代码写进去之后再利用LFI进行包含就可以实现漏洞的利用。首先,验证访问权限,看是否有权限读取该文件内容图6.包含/proc/self/environ文件在BT的server下是默认拒绝访问的。权限如下:图7.Environ文件的权限设置为了方便演示,用一个有权限访问environ文件的环境。正常包含如图:图8.有权限读取envrion文件时效果我们可以看到,当前的USER_AGENT变量被写进了这个文件,而USER_AGENT是可以伪造的,这里我利用firefox的UAControl进行伪造,首先编辑UAControl对于这个文章的user agent信息:图9.修改User-agent信息而后随便访问该网站上一个网页,再次包含environ文件:图10.成功执行php代码可以发现php代码已经执行。2.4包含web server日志文件Apache的日志文件在LFI漏洞的利用中是非常常见的。因为不管我们提交的Get请求或者Post请求都会被apache记录到日志文件里。所以我们可以控制请求内容,将恶意代码写入日志文件,从而实现包含。首先:查看是否有权限进行包含图11.默认access文件拒绝访问同样默认拒绝。图12.日志文件默认权限下面找一个有权限的实战环境进行测试可以包含httpd.con
您可能关注的文档
最近下载
- 人工脏器-人工肝.ppt VIP
- 能源管理系统(EMS)系列:Honeywell Energy Management_(6).能源效率的提升与能源成本的降低.docx VIP
- 古诗词及文言文阅读-五年级语文下册期末专项练习.pdf VIP
- 2025年淮安市专业技术人员公需试题-党的二十届三中全会精神解读.docx VIP
- 《成人法布雷病心肌病诊断与治疗中国专家共识2024》解读.pptx
- 马克思主义与社会科学方法论课后习题答案(2018版).pdf VIP
- 中国天然气发展报告(2025)要点.docx VIP
- 威远煤矿矿井主要灾害预防管理制度汇编.doc VIP
- 电气常用图形符号.pdf VIP
- 《中国古代的艺术》课件.ppt VIP
文档评论(0)