BUGTRAQ ID: 25683 eWire是在丹麦使用的电子支付系统。 eWire处理用户请求数据时存在输入验证漏洞,远程攻击者可能利用此漏洞控制服务器。 eWire中所使用的PHP脚本ewirepcfunctions.php在调用命令行可执行程序时没有过滤URL中的paymentinfo参数: $strEncryptedPaymentInfo = $_GET["paymentinfo"]; ewirePC_Decrypt( $ewireMerchantID, $ewireServerURL, $strEncryptedPaymentInfo ) ewirePC_Decrypt()是ewirepcfunctions.php中的一个函数,在ewirePC_Decrypt()中$strEncryptedPaymentInfo参数变成了$strPaymentInfo: $strCommandLine = "decrypt \"$strMerchantID\" \"$strServerUrl\" \"$strPaymentInfo\""; $handle = popen($ewirePaymentClientFileName . " " . $strCommandLine, "r"); 最终$strPaymentInfo参数没有经过检查便出现在了命令行,导致执行任意shell命令。 eWire Payment Client 1.70 eWire Payment Client 1.60 eWire ----- 目前厂商还没有提供补丁或者升级程序,我们建议使用此软件的用户随时关注厂商的主页以获取最新版本: <a href="http://www.ewire.dk/page.asp?keyword=forsidedk&language=da" target="_blank">http://www.ewire.dk/page.asp?keyword=forsidedk&language=da</a>
BUGTRAQ ID: 25683 eWire是在丹麦使用的电子支付系统。 eWire处理用户请求数据时存在输入验证漏洞,远程攻击者可能利用此漏洞控制服务器。 eWire中所使用的PHP脚本ewirepcfunctions.php在调用命令行可执行程序时没有过滤URL中的paymentinfo参数: $strEncryptedPaymentInfo = $_GET["paymentinfo"]; ewirePC_Decrypt( $ewireMerchantID, $ewireServerURL, $strEncryptedPaymentInfo ) ewirePC_Decrypt()是ewirepcfunctions.php中的一个函数,在ewirePC_Decrypt()中$strEncryptedPaymentInfo参数变成了$strPaymentInfo: $strCommandLine = "decrypt \"$strMerchantID\" \"$strServerUrl\" \"$strPaymentInfo\""; $handle = popen($ewirePaymentClientFileName . " " . $strCommandLine, "r"); 最终$strPaymentInfo参数没有经过检查便出现在了命令行,导致执行任意shell命令。 eWire Payment Client 1.70 eWire Payment Client 1.60 eWire ----- 目前厂商还没有提供补丁或者升级程序,我们建议使用此软件的用户随时关注厂商的主页以获取最新版本: <a href="http://www.ewire.dk/page.asp?keyword=forsidedk&language=da" target="_blank">http://www.ewire.dk/page.asp?keyword=forsidedk&language=da</a>