web安全备忘

主机系统安全防护:防火墙控制

Web是一个分布式系统,一个站点多个主机布置,一主机布置多个站点:并发,异步,同步

主机安全配置文件修改与强化

web站点数据验证逻辑的常用技巧:功能性代码+安全性代码

web核心漏洞:用户提交任意数据

截取数据包修改请求参数,cookie,http信息头

web核心防护措施:

web实现功能:

购物(商品信息发布),社交,银行支付,资源搜索,博客,web邮件,交互论坛

常见漏洞:

不完善的身份认证逻辑

不完善的数据访问控制

SQL注入

跨站点脚本攻击用户:针对其他用户的攻击

信息泄露

核心安全机制:

处理数据与功能的访问控制:游客,会员,管理员:身份认证,会话管理(session token ,http cookie),访问控制()

处理用户输入:编码(html编码,url编码,js编码),转码,转义,特征检测,白名单(正则表达式)

处理攻击者:报告与处理运行时错误信息的展现,审计运行日志与日志记录设置

管理web应用程序功能实现逻辑

安全基础

http请求头消息:字段修改与绕过;请求方法的限制?(Apache配置文件get,post,head,trace,options,put)等请求方法的限制 Apache|Nginx配置文件的安全修改

cookie 不同语言的cookie设置属性:expires,domain,path,secure,httpOnly)php,python,java

http| https :SSL(安全套接层),TLS(传输层安全)

  • http验证:Basic,NTLM,Digest

  • 网站web开发平台:java平台,ASP.NET,PHP

    cookie方式: JSESEESIONID,ASPSESSSIONID(Microsoft_IIS),ASP.NET_SessionId(ASP.NET) PHPSESSID

编码方式:

  • URL编码%XX(ASCI 0x20-0x7e)
  • Unicode编码(%u2215)16位
  • HTML编码:" ' & < > " A A(&字符实体,&#加任意字符的ASCII十进制 | s十六进制进行HTML编码) 绕过跨站脚本攻击
  • Base64编码 ==结尾
  • 十六进制编码:daf == 646166 cookie传送
  • javascript编码

攻击过程与工具使用

信息收集:枚举应用功能+分析安全机制(前后端处理)

  • burpsuit + nmap + nessus + google搜索语法

第三方组件:购物车,登录机制组件的开源代码

疑惑点

什么是厚客户端组件?Java applet,ActiveX控件,Flash

web安全基础的更多相关文章

  1. Web编程基础--HTML、CSS、JavaScript 学习之课程作业“仿360极速浏览器新标签页”

    Web编程基础--HTML.CSS.JavaScript 学习之课程作业"仿360极速浏览器新标签页" 背景: 作为一个中专网站建设出身,之前总是做静态的HTML+CSS+DIV没 ...

  2. web前端基础知识及快速入门指南

    web前端基础知识及快速入门指南 做前端开发有几个月了,虽然说是几个月,但是中间断断续续的上课.考试以及其它杂七杂八的事情,到现在居然一直感觉自己虽然很多前端的知识很眼熟,却也感觉自己貌似也知识在门口 ...

  3. [置顶] 提高生产力:Web开发基础平台WebCommon的设计和实现

    Web开发中,存在着各种各样的重复性的工作.为了提高开发效率,不在当码农,我在思考和实践如何搭建一个Web开发的基础平台. Web开发基础平台的目标和功能 1.提供一套基础的开发环境,整合了常用的框架 ...

  4. 从头编写asp.net core 2.0 web api 基础框架 (5) + 使用Identity Server 4建立Authorization Server (7) 可运行前后台源码

    前台使用angular 5, 后台是asp.net core 2.0 web api + identity server 4. 从头编写asp.net core 2.0 web api 基础框架: 第 ...

  5. 20155324《网络对抗技术》web安全基础实践

    20155324<网络对抗技术>web安全基础实践 实验内容 使用webgoat进行XSS攻击.CSRF攻击.SQL注入 实验问答 SQL注入攻击原理,如何防御 ①SQL注入攻击是攻击者在 ...

  6. #WEB安全基础 : HTML/CSS | 文章索引

    本系列讲解WEB安全所需要的HTML和CSS #WEB安全基础 : HTML/CSS | 0x0 我的第一个网页 #WEB安全基础 : HTML/CSS | 0x1初识CSS #WEB安全基础 : H ...

  7. #WEB安全基础 : HTTP协议 | 文章索引

    本系列讲解WEB安全所需要的HTTP协议 #WEB安全基础 : HTTP协议 | 0x0 TCP/IP四层结构 #WEB安全基础 : HTTP协议 | 0x1 TCP/IP通信 #WEB安全基础 : ...

  8. 2017-2018-2 20155228 《网络对抗技术》 实验九:Web安全基础

    2017-2018-2 20155228 <网络对抗技术> 实验九:Web安全基础 1. 实践内容 1.1 标理解常用网络攻击技术的基本原理 1.2 在Webgoat实验环境下实践相关实验 ...

  9. 20155208徐子涵《网络对抗》Exp9 Web安全基础

    20155208徐子涵<网络对抗>Exp9 Web安全基础 实验要求 本实践的目标理解常用网络攻击技术的基本原理.Webgoat实践下相关实验. 实验过程 最后一次了,没有选择尝试免考项目 ...

  10. 20155312 张竞予 Exp9 Web安全基础

    Exp9 Web安全基础 目录 基础问题回答 (1)SQL注入攻击原理,如何防御 (2)XSS攻击的原理,如何防御 (3)CSRF攻击原理,如何防御 实践过程记录 WebGoat准备工作 1.XSS攻 ...

随机推荐

  1. GC(垃圾处理机制)面试题

    1: 详细解释Java中垃圾收集的主要流程.  垃圾收集主要有两种形式:手工.自动 自动会不定期进行回收,以释放无用的空间 手工调用的是System类中的gc()方法,此方法实际上调用的是Runtim ...

  2. jdbc与TiDB数据库交互的过程

    以下是使用jdbc操作TiDB数据库,得到的交互过程和指令的说明 ==>代表发送给数据库的指令 // 加载驱动程序Class.forName(driver); // 连接数据库 Connecti ...

  3. CMake Error at cuda_compile_generated_warp.cu.o.cmake:264 (message)

    今天,我来给大家分享一下opencv安装时报的错.然后讲错是怎么解决的. 为啥老是写一些环境搭建的博客?因为环境搭建琐碎而繁杂,希望写下来,帮助大家.让大家少走弯路. 专注主业,专注算法的实现和优化. ...

  4. 0429---每日习题 菲薄纳西数列 正则ip匹配

    #8.打印斐波拉契数列前n项 def fib(n): if n==1 or n==2: return 1 return fib(n-1)+fib(n-2) for i in range(1,9): p ...

  5. TTS

    CLASS_SpVoice: TGUID = '{96749377-3391-11D2-9EE3-00C04F797396}'; http://blog.sina.com.cn/s/blog_4fce ...

  6. Object.create() vs new SomeFunction() in javascript

    Object.create builds an object that inherits directly from the one passed as its first argument. Wit ...

  7. ArcGIS自定义工具箱-字段分割

    ArcGIS自定义工具箱-字段分割 联系方式:谢老师,135-4855-4328,xiexiaokui#qq.com 目的:用指定分割符分割字段, 用例:湖南省长沙市=>湖南/长沙 数据源: 使 ...

  8. 基于maven javaweb编程缺少java源文件

    前提:基于maven的javaweb的开发环境,可参考 link 一. https://blog.csdn.net/ldlly0505/article/details/79674826 1.在sour ...

  9. C++ 迭代器的使用和操作

    迭代器是一种检查容器内元素并遍历元素的数据类型.C++更趋向于使用迭代器而不是下标操作,因为标准库为每一种标准容器(如vector)定义了一种迭代器类型,而只用少数容器(如vector)支持下标操作访 ...

  10. DJango 基础(7)

    常用查询字段常用类型与模型关系表 知识点: 常用的查询 Field的常用参数 常用的模型字段类型 常用的查询 获取所有记录:rs = User.objects.all()获取第一条数据:rs = Us ...