我正在尝试尽可能地保护我的 Web 应用程序免受 XSS 漏洞的影响,但在我弄清楚如何使用 Microsoft 的 AntiXSS 库对所有输入/输出进行编码之前,我决定先尝试一些东西。
我所做的是摆脱了我的 Web 服务类中的所有方法。所以它现在看起来像这样:
namespace ProjectName.Web.Services
{
/// <summary>
/// Summary description for AJAXService
/// </summary>
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[System.ComponentModel.ToolboxItem(false)]
// To allow this Web Service to be called from script, using ASP.NET AJAX,
// uncomment the following line.
[System.Web.Script.Services.ScriptService]
public class AJAXService : System.Web.Services.WebService
{
//
}
}
为什么扫描仍然显示 AJAXService 容易受到 XSS 攻击?是否有需要设置的属性或属性,或者隐藏的某些默认方法?我使用 ASMX 是因为它纯粹用于 AJAX,而且我已经习惯了。
(我用来扫描的工具是 Acunetix)