美文网首页有趣的文章测试之家软件测试
WEB应用的常见5大攻击及预防

WEB应用的常见5大攻击及预防

作者: 老林说测试 | 来源:发表于2017-11-12 11:46 被阅读141次

    上一篇介绍了web应用常见的10大安全问题,今天来给大家介绍一个WEB应用的常见5大攻击及预防,如文章中描述有误欢迎指出。

    一、SQL注入

    1、SQL注入的示例

    2、SQL注入的预防策略

    1)通过正则表达式,或限制长度,对单引号和双"-"进行转换等

    2)尽量不要使用动态拼装SQL,可以使用参数化的SQL或者直接使用存储过程进行数据查询存取

    3)不要使用管理员权限的数据库连接,为每个应用使用单独的权限有限的数据库连接

    4 ) 不要把机密信息明文存放,请加密或者hash掉密码和敏感的信息

    5 ) 应用的异常信息应该给出尽可能少的提示,最好使用自定义的错误信息对原始错误信息进行包装,把异常信    息存放在独立的表中

    6 ) 使用WEB漏洞扫描工具检测程序相对比较明显的SQL注入问题

    二、跨站脚本攻击

    1、XSS跨站脚本实例

    2、XSS跨站脚本的预防策略

    1)显示用户数据时对 “<>&”等HTML符号进行编码转换

    2)过滤必要的XHTML属性及各种编码,尤其在WEB提供样式功能的时候

    3)设计时要考虑到关键内容不能直接显示用户输入的数据,要有转换或后台间接审核的过程

    4)用WEB漏洞扫描工具对程序进行检测

    三、没有限制URL访问

    1、没有限制URL访问示例

    http://xx.xxx.com/purchase/shoppingcart_pop.aspx?backurl=http://yyy.yyy.com/product.aspx?product_id=20230002

    2、没有限制URL访问预防策略

    1)目标地址应限制只跳转到当前域内

    2)如果需要跳转到外部链接需要有url的白名单

    四、越权访问

    1、越权访问示例

    A用户有权限增加产品记录,B用户没有权限增加记录,A通过http://product.xxxx.com/product.aspx?user_id=201这个链接可以增加记录,把这个链接改B用户的user_id后也有增加产品的记录

    2、越权访问预防策略

    1)你可以用request获得之前的页面路径:Request.getHeader("Referer");然后你可以判断一下,这个是字符串类型的。

    2)如果是需要登录的,你可以从session中获取登录信息,然后判断

    3)你可以通过上一个页面传参,本页面判断,如果不匹配就处理,参数可以放在session当中或者使用request.setAttribute();这个方法,不要URL传参

    4)jsp防止直接通过url访问是通过过滤器实现的

    五、登录提示信息

    1、登录提示信息示例

    登录提示

    2、登录提示信息预防策略

    作为程序的开发人员应该做到对登录提示信息的模糊化

    相关文章

      网友评论

        本文标题:WEB应用的常见5大攻击及预防

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