申明:本文非笔者原创,原文转载自:https://github.com/SecurityPaper/SecurityPaper-web/blob/master/_posts/2.SDL%E8%A7%84%E8%8C%83%E6%96%87%E6%A1%A3/2018-08-17-SDL-4-python%E5%AE%89%E5%85%A8%E7%BC%96%E7%A0%81%E8%A7%84%E8%8C%83.md

python语言安全

本身要注意的有,一些危险函数,危险模块的调用,主要是系统调用。这个如果调用一定要对输入输出做好过滤,以下是代码中各种导致进行系统调用的方式。尽量避免。

  • 避免各种情况导致系统调用

  • 谨慎使用Eval

  • 数据序列化

Web编程

对应Web编程中安全概念在python web框架中的实现。url跳转,目录遍历,任意文件读取也需要考虑在内。针对不同的框架也需要。

Flask 安全

  • 使用Flask-Security
  • 直接生成 HTML 而不通过使用Jinja2
  • 不要在用户提交的数据上调用Markup
  • 使用 Content-Disposition: attachment 标头去避免上传html文件
  • 防止CSRF,flask本身没有实现该功能

Django 安全

可参考phithon的博客,有较多相关资料。

  • 关闭DEBUG模式
  • 关闭swagger调试
  • 妥善保存SECRET_KEY
  • 使用SecurityMiddleware
  • 设置SECURE_HSTS_SECONDS开启HSTS头,强制HTTPS访问
  • 设置SECURE_CONTENT_TYPE_NOSNIFF输出nosniff头,防止类型混淆类漏洞
  • 设置SECURE_BROWSER_XSS_FILTER输出x-xss-protection头,让浏览器强制开启XSS过滤
  • 设置SECURE_SSL_REDIRECT让HTTP的请求强制跳转到HTTPS
  • 设置SESSION_COOKIE_SECURE使Cookie为Secure,不允许在HTTP中传输
  • 设置CSRF_COOKIE_SECURE使CSRF Token Cookie设置为Secure,不允许在HTTP中传输
  • 设置CSRF_COOKIE_HTTPONLY为HTTP ONLY
  • 设置X_FRAME_OPTIONS返回X-FRAME-OPTIONS: DENY头,以防止被其他页面作为框架加载导致ClickJacking
  • 部署前运行安全性检测 django-admin.py checksecure --settings=production_settings

审计工具

安装使用方式较为简单,所以不做介绍。

引用

最新文章

  1. JAVA JSP笔记
  2. 深入理解客户区尺寸client
  3. npapi插件开发流程与实例
  4. 面向对象的OOA、OOD、OOP
  5. 使用Apache2配置多个站点
  6. Ubuntu中添加eclipse
  7. 第七篇 SQL Server代理作业活动监视器
  8. MariaDB exists 学习
  9. Android下使用InputStream读取文件
  10. [状压dp]HDU5045 Contest
  11. linux 多线程基础4
  12. mac下开发环境常用操作与命令
  13. C++ Primer笔记(一):字符串、向量和数组
  14. 10. 混淆矩阵、总体分类精度、Kappa系数
  15. win8.1 安装webaccess遇到的写访问权限错误
  16. 把VBScript的函数迁移到C#.NET
  17. Friends and Subsequences
  18. ios用户体验
  19. 软件开发架构介绍||OSI七层协议之物理层、数据链路层、网络层、传输层(mac地址、ip协议、断开协议、tcp协议之三次握手四次挥手)
  20. 深入学习Motan系列(二)——服务发布

热门文章

  1. 提供openssl -aes-256-cbc兼容加密/解密的简单python函数
  2. 使用Photoshop画一个圆锥体
  3. smarty模板开发基础总结
  4. Prolog学习:用八卦的精神走进Prolog
  5. (转)BT1120接口及协议
  6. 【ZooKeeper Notes】系列文章
  7. C# 文件过滤器filter
  8. linux中wget命令
  9. php + crontab 执行定时任务
  10. u3d外部资源 打包与加载的问题