代码之家  ›  专栏  ›  技术社区  ›  Kohei TAMURA

ESAPI中的最低要求属性。属性

  •  3
  • Kohei TAMURA  · 技术社区  · 8 年前

    • ESAPI.encoder().encodeForLDAP()
    • ESAPI.encoder().encodeForHTML()

    在这种情况下,ESAPI中所需的最小属性是什么。属性?

    现在我正在使用ESAPI 2.1.0.1和 this properties .

    3 回复  |  直到 8 年前
        1
  •  6
  •   Tim    8 年前

    如果您只是在使用encoder()函数,那么编码器部分中的3行就足够了。第99-119行(在所有注释之间)。

    编辑 此外,您必须指定默认编码器。例子:

    ESAPI.Encoder=org.owasp.esapi.reference.DefaultEncoder
    
    Encoder.AllowMultipleEncoding=false
    
    Encoder.AllowMixedEncoding=false
    
    Encoder.DefaultCodecList=HTMLEntityCodec,PercentCodec,JavaScriptCodec
    
        2
  •  3
  •   avgvstvs    8 年前

    我想我回答了前面的一个问题。

    ESAPI目前的设计是单片的,这意味着它试图成为每个人的一切。大家都知道,这不是最好的设计策略,但这正是我们所处的位置。

    对于您当前的困境,有太多的库依赖于功能,听起来您不需要也不打算使用。不幸的是,这只是目前的生活事实。似乎从来没有人使用过我们的身份验证界面——但它为每个人提供,即使他们不需要它。大多数用户首先使用我们的编码/解码功能,然后是验证API,然后是加密。最后一对是对数注入和WAF。

    ESAPI的大多数用户接受非prod测试文件,并将其保留。(这是一个

    其他人则选择您引用的邮件,处理例外情况,在邮件列表上向我们提问。

    这也不是一条理想的道路,但这是我们现在所走的道路。

    从我的角度来看,危险在于,如果您选择为ESAPI抛出异常的对象实现愉快的路径配置,目的只是使其愉快,这样您就可以获得两个狭窄的用例。

    请注意ESAPI中与您的用例不相关的部分。这并不理想,但这正是我们在2017年所处的位置。在用户列表上向我们提问。

    如果不这样做,尤其是在加密部分,您的应用程序将在未来受到攻击。

        3
  •  0
  •   Deepak Kenchamba    4 年前

    ESAPI中使用的正则表达式。验证器()。getValidInput(…)电话

    验证器。公司ID\u PTRN=[a-zA-Z0-9]+
    验证器。用户DN PTRN=[a-zA-Z0-9=,]+
    验证器。角色DN PTRN=[a-zA-Z0-9=,^ \-]+

    ESAPI。编码器=组织。owasp。编码器。esapi。ESAPIEncoder公司

    记录器。应用程序名称=TrianzApp

    记录器。LogApplicationName=false
    记录器。LogServerIP=false

    记录器。ClientInfo=false

    ESAPI。验证器=组织。owasp。esapi。参考默认验证器
    编码器。AllowMixedEncoding=false
    编码器。AllowMultipleEncoding=false