http://www.cnblogs.com/janes/archive/2012/10/15/2721101.html
http://www.cnblogs.com/h82258652/p/4795815.html
委托:http://www.cnblogs.com/xcj26/p/3536082.html
http://www.cnblogs.com/DeepLearing/p/4594518.html
http://www.cnblogs.com/max198727/p/3436220.html
4、修改 Route 路由伪装成 php
查找项目中的 RegisterRoutes 方法。默认路由如下:
public static void RegisterRoutes(RouteCollection routes) { routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); routes.MapRoute( name: "Default", url: "{controller}/{action}/{id}", defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional } ); }
主要关心 MapRoute 这个扩展方法的 url 参数和 defaults 参数。在 url 参数中,通过花括号映射参数名,例如 {controller} 则映射到 controller,{id} 则映射到 id。所以如果有 /A/B/C 的 url 传入,则映射到 AController 的 B 方法并传入 C 作为 id 参数的值。
当然我们也可以简单修改路由来简单伪造成 php 页面。
修改 url 为 "{controller}-{action}-{id}.php"。
然后在项目根目录的 Web.config 中添加一项,如下图:
然后就可以访问了,输入例如 /Home-Index-0.php 之类的 url。效果:
当然也可以改成 jsp 或者其它来装逼。