Get Method of Uninstalled plugin

This topic was automatically closed 365 days after the last reply. New replies are no longer allowed.
8 年 前
Recently I see this thing. If I call HTTPGET method of a uninstalled plugin controller, it works. I have checked that issue in visual studio. Is this also happened in live server? I dont get chance to check in live server.
8 年 前
Hi Anik,

Thanks a lot. I've just created a work item
8 年 前
Hi Anik,

When creating a work item I specified "Configuration" methods in admin area only. Do you mean some other GET methods? What exactly plugin do you mean?
8 年 前
Look in widgetnivoslider plugin

there is a Get method

 
public ActionResult Hello()
        {
            return Content("Hello");
        }


Now my nivoslider plugin is uninstalled.

If I hit http://localhost:*****/WidgetsNivoSlider/Hello in the browser, it should not show the content or hit this action result.
But it does. I hope you understand.
8 年 前
I think it is a real threat for nopcommerce and need to fix ASAP. Anyone can see sensitive information of admin side by using this I think.
8 年 前
sina.islam wrote:
I think it is a real threat for nopcommerce and need to fix ASAP...

I absolutely don't think it's a real threat because there's no such "Hello" method in NivoSlider

All existing GET methods already have appropriate validation. For example, please have a look \Nop.Plugin.ExternalAuth.Facebook\Controllers\ExternalAuthFacebookController.cs. Its "Login" methods invoke "LoginInternal" one. And this "LoginInternal" method has the following code:

var processor = _openAuthenticationService.LoadExternalAuthenticationMethodBySystemName("ExternalAuth.Facebook");
if (processor == null ||
   !processor.IsMethodActive(_externalAuthenticationSettings) ||
   !processor.PluginDescriptor.Installed ||
   !_pluginFinder.AuthenticateStore(processor.PluginDescriptor, _storeContext.CurrentStore.Id))
   throw new NopException("Facebook module cannot be loaded");


It cannot be invoked when it's uninstalled or inactive. The same logic exists in payment plugins (e.g. "PDTHandler" method of \Nop.Plugin.Payments.PayPalStandard\Controllers\PaymentPayPalStandardController.cs

You can put the same logic to any GET methods of other custom plugins.

Could you please provide names of some existing GET methods in plugins (available out of the box) that could be invoked with GET?
8 年 前
a.m. wrote:
I think it is a real threat for nopcommerce and need to fix ASAP...
I absolutely don't think it's a real threat because there's no such "Hello" method in NivoSlider

All existing GET methods already have appropriate validation. For example, please have a look \Nop.Plugin.ExternalAuth.Facebook\Controllers\ExternalAuthFacebookController.cs. Its "Login" methods invoke "LoginInternal" one. And this "LoginInternal" method has the following code:

var processor = _openAuthenticationService.LoadExternalAuthenticationMethodBySystemName("ExternalAuth.Facebook");
if (processor == null ||
   !processor.IsMethodActive(_externalAuthenticationSettings) ||
   !processor.PluginDescriptor.Installed ||
   !_pluginFinder.AuthenticateStore(processor.PluginDescriptor, _storeContext.CurrentStore.Id))
   throw new NopException("Facebook module cannot be loaded");


It cannot be invoked when it's uninstalled or inactive. The same logic exists in payment plugins (e.g. "PDTHandler" method of \Nop.Plugin.Payments.PayPalStandard\Controllers\PaymentPayPalStandardController.cs

You can put the same logic to any GET methods of other custom plugins.

Could you please provide names of some existing GET methods in plugins (available out of the box) that could be invoked with GET?



It was just a example method he shows. There are lots of third party plugins nopCommerce and many of them have no source. If a owner can download and store it in their site but he/she do not install it. If a plugin owner want to get sensitive issue of a site he can easily take information . I don't tell about any plugin made by nopcommerce team. Your plugins are open source and safe. I am telling about third party ones which are no source.
8 年 前
Hi Sina,

In this case it should be fixed by developers of these plugins. Not sure that there are possible and good way to fix it in the core now
8 年 前
a.m. wrote:
Hi Sina,

In this case it should be fixed by developers of these plugins. Not sure that there are possible and good way to fix it in the core now


Thanks Andrei for clarifying this issue. The reliability of third party plugin dependence on the developer and the client who use it.

Thanks again.
This topic was automatically closed 365 days after the last reply. New replies are no longer allowed.