美文网首页
安全测试之参数校验

安全测试之参数校验

作者: robot_test_boy | 来源:发表于2022-12-12 07:36 被阅读0次

    参数未经常规数据校验是导致安全问题的一个重要因素。无论是暴露给用户的接口,还是内部通信接口,攻击者都可以利用这些未经校验的参数伪造数据、运行恶意代码、修改数据库、修改配置文件、造成拒绝服务等。

    事实上,除了参数校验外,业务逻辑也需要进行校验,否则攻击者可能会利用这之间的逻辑漏洞去恶意修改价格、账户余额、级别权限等。

    参数校验安全问题包含XSSSQL注入命令执行数据溢出参数类型篡改

    参数校验测试中比较通用且常见的测试点

    通用且常见的参数校验测试点
    1.防SQL注入测试

    如下表所示测试角度去测试系统是否有SQL注入方面的问题。防SQL注入测试的测试点:

    2.防XSS测试

    XSS(跨站脚本攻击)是最为普通的Web应用安全漏洞。几乎从Web应用诞生之日起,XSS攻击就存在了,发展至今XSS攻击方式已经演化了很多代,但是本质上都是利用Web编码不够健壮的问题

    1)不可信数据

    预防XSS最重要的原则是不受信任的数据不应该在代码中被随意放置和传输,例如:

    <script>...不要将不可信数据放在这里...</script>    //放在script内

    <!--...不要将不可信数据放在这里...-->        //放在HTML注释内

    <div ...不要将不可信数据放在这里...=test />  //放在属性名内

    <不要将不可信数据放在这里... href="/test" />  //放在标签名内

    <style> ...不要将不可信数据放在这里... </style> //放在CSS内

    从下表所示测试角度去测试系统对不可信数据的处理是否存在问题。

    2)cookie安全性

    应测试cookie是否进行了安全性方面的设置,例如确定将secure属性设置为true,防止cookie在HTTP会话中以明文形式传输;确定将httponly属性设置为true,防止JS脚本读取cookie信息,防止XSS攻击。

    3)使用框架、库或组件提高安全性

    使用新版本有助于防止基于已知漏洞的XSS攻击。除此之外,也可以使用一些更安全的框架,如使用HtmlSanitizer、OWASP Java HTML Sanitizer等框架或库实现对HTML中的疑似XSS攻击进行清洗,使用AngularJS strict contextual escaping或者Go Templates等实现自动转义。


    摘取自刘琛梅老师的《测试架构师修炼之道:从测试工程师到测试架构师 第2版》

    相关文章

      网友评论

          本文标题:安全测试之参数校验

          本文链接:https://www.haomeiwen.com/subject/hpwtqdtx.html