我在江北学习针对各大服务器的攻击和攻击原理分析
嗯,果然昨天写WAMP写得好,让我能够短时间内搭建Apache+PHP环境。
=====================================================================
一.Apache的攻击Apache的文件名解析漏洞:从后面开始往前检测,检测到最.后一个合法后缀为止,按最后一个合法后缀执行。这个后缀的定义文件是:conf/mime.types,它里面会定义x1.x2.x3这样子的拓展名,如果最后的x3没有定义(不合法),那么就会解析x2。比如 a.php.aaa,Apache就会当成a.php执行了。那么关键在什么是合法后缀了。
事实上,本人尝试了a.php.aaa发现,因为aaa肯定是不合法的,所以会解析php:
但是这样子没用,我们要的是能够上传xiaoma.php.jpg或者xiaoma.php.doc或者xoapma.php.rar之类的文件,这样子才科学,才有价值。很可惜,我尝试了这三种类型,浏览器直接把它们下载下来了。这说明在conf/mime.types中已经定义了x1.x2.x3的x3的合法性。
然后我修改mine.types中的一句话:
类似的我们把这些删掉:
图片 2-1原理是;nginx默认以cgi的方式支持php的运行。在nginx的配置文件有一段代码:
图 2-2图2-2中本人上传了一个a.jpg,然后就能用%00空字节执行php代码(注意:我的版本号为8.3.3!!)
原理官网没多提,就说是:Ngnix在遇到%00空字节时与后端FastCGI处理不一致,导致可以在图片中嵌入PHP代码然后通过访问xxx.jpg%00.php来执行其中的代码。