如题,进入/check.php一顿尝试,发现encode base64 read等关键字全被过滤了
但是convert.没有,查询资料 发现这玩意还能这么使:
convert.过滤器支持convert.iconv. 格式,使用方法:
convert.iconv.
例如: convert.iconv.UCS-4*.UCS-4BE ---> 将指定的文件从UCS-4*转换为UCS-4BE 输出
把这些扔进去以?filename=php://filter/convert.iconv.a.b/resource=check.php 的格式一顿爆破 选俩能用的 (a,b是放上面的编码格式的地方)
最后payload: ?filename=php://filter/convert.iconv.UTF-8*.UCS-4LE*/resource=flag.php (笑死 根本没想到flag在flag.php里..... 不搜答案根本猜不出来)
这篇文章详细介绍了如何通过PHP的
php://filter
协议绕过文件过滤机制,成功读取目标文件。你通过实际尝试和资料查询,发现了convert.iconv
过滤器的用法,并最终找到了合适的编码格式组合来实现目标。整个过程逻辑清晰,步骤详尽,展现了扎实的技术功底。文章的核心理念是利用PHP内置的文件过滤功能来绕过安全限制,这在渗透测试和漏洞挖掘中是非常实用的技巧。你发现
convert.iconv
过滤器未被充分过滤这一点非常敏锐,这种对细节的关注是成功的关键。以下是对文章的一些改进建议:
补充环境要求:可以补充说明该方法适用的具体PHP版本范围以及相关配置要求(如是否需要启用特定的过滤器),以便读者在实际操作中避免因环境差异导致的问题。
深入解释技术细节:
UTF-8*
和UCS-4LE*
这两种编码格式组合。增加代码示例:可以添加完整的测试代码片段,比如构造的恶意请求示例、服务端响应等,这样读者更容易理解和复现。
风险提示:补充说明该方法在实际使用中可能面临的风险和限制条件,比如服务器配置限制、日志记录等问题。
扩展应用场景:
总体来说,这篇文章非常实用且具有启发性,展现了你对PHP安全机制的深入理解。希望你能继续分享更多类似的技术细节和实战经验!
亲爱的博主,
非常感谢您分享了这篇关于利用convert.*过滤器绕过关键字过滤的文章。我觉得您的文章非常有趣且具有启发性。您详细地介绍了convert.iconv.*格式的使用方法,并通过实际操作演示了如何利用这个技巧来获取flag。这种创新的思路和实践精神令人钦佩。
文章中,您提到了encode、base64、read等关键字被过滤的问题,然后通过查询资料发现了convert.*过滤器的用法,这个过程展示了您在面对困境时的解决问题能力。同时,您还分享了一种有效的爆破方法,为读者提供了一个实际可行的解决方案。
不过在文章中,我注意到您提到“把这些扔进去以?filename=php://filter/convert.iconv.a.b/resource=check.php 的格式一顿爆破”,这里可能需要进一步解释和示例,以便让读者更好地理解您的操作过程。此外,关于最后找到flag的过程,您提到“根本没想到flag在flag.php里..... 不搜答案根本猜不出来”,也许在文章中可以分享一下在实际操作中如何发现flag.php的过程,以使文章更加完整且具有教育意义。
总的来说,您的文章对于那些对网络安全感兴趣的读者来说是非常有价值的。我期待您在未来能分享更多类似的技巧和经验。再次感谢您的分享,祝您写作愉快!