借github上韩国师傅的一个源码实例再次理解.htaccess的功效1
需积分: 0 62 浏览量
更新于2022-08-03
收藏 2.6MB PDF 举报
《深入理解.htaccess:从韩国师傅的GitHub实例中学习安全防护》
.htaccess,全称是"HyperText Access",是Apache服务器中的一个配置文件,它允许我们在网站的根目录下进行局部配置,以实现诸如URL重定向、限制访问、设置自定义错误页面等功能。在本文中,我们将通过分析一个韩国开发者在GitHub上的源码实例,进一步探讨如何理解和利用.htaccess进行安全防护。
源码中禁止了特定文件后缀的访问,如`.htaccess`,这是因为这类文件通常包含敏感信息,如服务器配置。然而,未禁用.htaccess文件本身意味着攻击者可能通过篡改该文件来改变目录的PHP配置,从而实现恶意解析。
代码中,服务器会创建临时文件,并通过`explode()`函数以"."为分隔符将文件名分解为数组。接着,删除数组的最后一个元素(即文件后缀),并用`empty()`函数检查数组的第一个元素是否为空。这里需要注意,`$ext`变量存储的是被删除的后缀,而不是删除后的数组。通过实验,我们发现即使数组的第一个元素为空,但只要数组有其他元素,`count()`函数仍会返回非零值,因此可以通过传递".."形式的文件名绕过此WAF(Web应用防火墙)。
接下来,WAF检查文件是否存在敏感字符,以及通过`image_type()`函数判断文件类型。这一步可以通过在HTTP请求中修改文件头信息来规避,特别是当文件头被识别为合法图像格式时,如XBM。XBM是一种ASCII格式的位图图像,可以被PHP解析。通过定义宏,我们可以伪造XBM文件头,使文件大小满足1337像素,从而通过WAF检查。
文章最后提出了一个新颖的思路,利用.htaccess文件来篡改服务器配置。创建一个包含错误路径的PHP配置文件(如`shell.php`),利用Apache的错误日志功能,在/images目录下创建含有恶意代码的`shell.php`文件。然后,上传一个包含宏定义的.htaccess文件,使得.jpg文件被解析为PHP。通过上传..htaccess文件,我们可以绕过之前的WAF,成功实现恶意代码的执行。
总结来说,理解.htaccess文件的机制及其在安全防护中的作用至关重要。攻击者可能会利用其漏洞进行恶意操作,而防御者则需要通过合理的配置和WAF来防止此类攻击。同时,本文的实例展示了如何通过分析源码来提升安全意识,以及如何利用技巧来规避WAF,这对于开发者和安全从业者来说都是一次宝贵的学习机会。

家的要素
- 粉丝: 30
最新资源
- 2015年电子商务农业协会微信推广方案.doc
- 计算机技术与科学在未来的具体发展趋势.docx
- iPhone4游戏软件安装方法.doc
- 跨平台的安全运维建设实践-青藤云安全.pdf
- 浅析计算机信息处理技术在办公自动化中的应用.docx
- 计算机网络技术在计生药具档案管理中的价值分析.docx
- 公路工程项目管理模式探讨.docx
- 区块链+保险会是什么样子?有哪些项目?.docx
- VBACCESS数据库应用课程研究设计贸易公司管理信息系统【总报告】.doc
- VMware-vSphere虚拟化实施手册及故障案例.docx
- 现代消防通信新技术.doc
- 信息化环境下小学英语写作教学策略探究.docx
- 网络课程视频资源制作的形式美学思考.docx
- 会计信息化下内部控制审计探究.docx
- 网络计划技术在工程管理中的应用.docx
- Flash制作方法.ppt