在看白帽子讲web安全,刚好看到认证与会话管理:也就是我们在平常渗透测试中遇到最多的登录页面,也即是用户名和密码认证方式,这是最常见的认证方式. 了解两个概念:认证和授权 1):认证的目的是为了认出用户是谁. 2):授权的目的是为了决定用户能够做什么. 书中列举的例子很形象,假设系统是一间房子,持有钥匙的人可以进门进入房子,那么屋子就是通过“锁和钥匙的匹配”来进行认证的,认证的过程就是开锁的过程. 钥匙在认证过程中,被称为“凭证”,开门的过程,在互联网里对应的是登录. 可是开门之后,什么事情能做…
  <白帽子讲Web安全>吴翰清著 刚开始看这本书就被这本书吸引,感觉挺不错,给大家推荐下,最近读这本书,感觉不错的精华就记录下, 俗话说>>>好脑袋不如一个烂笔头<<< 还有,大家也看出来,最近我也要开始写博客了, 万事开头难嘛,先拿来那些nx点的人物的书籍来记录下, 本人文笔确实不怎么滴,思路略混乱,中学时代我的作文就是我们班的一盏亮灯,指引我们全班文笔不要向我的文笔思路靠近 ←```warn```→ 读万卷书,行万里路,以后不做宅男.加油··· 信息不…
一.为何要了解Web安全 最近加入新公司后,公司的官网突然被Google标记为了不安全的诈骗网站,一时间我们信息技术部门成为了众矢之的,虽然老官网并不是我们开发的(因为开发老官网的前辈们全都跑路了).我们花了很多时间做Web安全扫描以及修复,在检查和修复过程中,发现老系统的代码的不可维护性(再次说明整洁代码之道Clean Code的重要性)及安全性(同时也说明了Web安全的重要性). 修复之后,向Google提出了申诉,漫长的等待(1~2天对于公司的官网来说就是Money啊!)后Google放开…
目录 第一篇 世界观安全 一 我的安全世界观 第二篇 客户端脚本安全 一 浏览器安全二 跨站脚本攻击(XSS)三 跨站点请求伪造(CSRF)四 点击劫持(ClickJacking)五 HTML5 安全 第三篇 服务端应用安全 一 注入攻击二 文件上传漏洞三 认证与会话管理四 访问控制五 加密算法与随机数六 Web框架安全七 应用层拒绝服务攻击八 PHP安全九 Web Server配置安全 第四篇 互联网公司安全运营  一 互联网业务安全二 安全开发流程(SDL)三 安全运营 第一篇 世界观安全…
上一章说的认证与会话管理,这章是访问控制,刚看访问控制这章的时候,感觉跟上章的“授权”没什么区别,第一感受就是“授权”. 之后看了才进一步了解,“授权”是好比屋子的主人进来了,那么他可以坐在客厅,也可以进到卧室睡觉,这种情况下就可以说他具有屋子的“最高权限”.如果进来的是客人,那么他可能就仅仅被允许在客厅的了.“授权”在这层上面可以理解的就是被允许做的事情,但是在一个系统中,怎么去限制一个客人只能够待在客厅里面的.这就是“访问控制”来做的事情了,“访问控制”也即是“权限控制”.抽象地说,都是某个…
1.白帽子:做安全的人.主要做的事,防御,是制定一套解决攻击的方案.而不是只是解决某个漏洞. 2.黑帽子:现在说的黑客.让web变的不安全的人.利用漏洞获取特权.主要做的事,攻击,组合各种方法利用漏洞. 3.白帽子和黑帽子之间的关系:白帽子似乎很被动.但是如果白帽子不做安全机制,就会更加被动. 4.安全解决方案的设计:安全问题没有银弹,不能刻舟求剑.考虑安全问题的时候要有侧重点,不要过于偏激,要建立一定的信誉度.对于软件的设计,要将安全检查放到设计过程中.安全检查也要实时更新. 5.安全问题的组…
又是厚厚的一本书,为了不弄虚做假,只得变更计划,这一次调整为读前三章,安全世界观,浏览器安全和xss.其它待用到时再专门深入学习. 吴翰清是本书作者,icon是一个刺字,圈内人称道哥.曾供职于阿里,后创业,最后回归阿里.更多可以参考这里: https://www.secpulse.com/archives/65276.html 安全世界观 所有术的层面最后都回归到道的层面,所以开篇的章节,作者从道讲起. 这一部分需要思考的的第一个问题是:我们为什么要研究web安全? 我心里在想,和这个类似,区块…
1.Secure By Default原则 白名单:筛选出被允许的,屏蔽其他. 黑名单:屏蔽可能造成的威胁. 2.XSS和SSH XSS攻击:跨站脚本(cross site script)攻击是指恶意的攻击者在web中注入恶意的HTML代码. SSH:安全外壳协议(secure shell)SSH 为建立在应用层和传输层基础上的安全协议.SSH 是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议.利用 SSH 协议可以有效防止远程管理过程中的信息泄露问题.SSH最初是UNIX系统上的一…
浏览器安全 同源策略:浏览器的同源策略限制了不同来源的“document”或脚本,对当前的“document”读取或设置某些属性.是浏览器安全的基础,即限制不同域的网址脚本交互     <script><img><iframe><link>可以跨域加载资源     在AJAX应用中,XMLHttpRequest受到同源策略的影响,不能进行跨域访问资源.cookie ,DOM也会     采用Sandbox技术,可以让不信任的网页代码,js代码运行在一个受限制…
XSS构造技巧 利用字符编码: var redirectUrl="\";alert(/XSS/);"; 本身没有XSS漏洞,但由于返回页面是GBK/GB2312编码的“%c1\”成为了一个Unicode字符,忽略掉转义字符\ %c1";alert(/XSS/);// 绕过长度限制: 很多时候产生XSS的地方会有变量长度限制,将代码藏在location.hash中,然后在其他地方调用即可 http://www.a.com/test.html#alert(1) <…
第一章 我的安全世界观 安全是一个持续过程 6种威胁:Spoofing(伪装).Tampering(篡改).Repudiation(抵赖).InformationDisclosure(信息泄漏).Denial of Service(拒绝服务).Elevation of Privilege(提升权限) 一个优秀的安全方案需要: 有效解决问题 用户体验良好 高性能 低耦合 易于升级和扩展 安全策略 Secure by Default原则(最小权限原则):白名单可通过和禁止黑名单,前者限制的范围更大更…
2016年3月24日 09:34:32 星期四 ddos攻击: 一种: 随机生成ip, 去建立链接, 由于http/tcp握手协议原理, 发送应答报文时因为ip无效会导致等待重发, 这种行为可以通过电脑硬件装置拦截/清洗 二种: 通过挂马等手段控制别人电脑, 使用有效ip去疯狂访问某一个接口导致服务挂掉, 这种行为要限制ip, 另外要提高程序可用性 中国的绿盟公司开发了一种设备可以清洗第一种ddos,  黑客为了绕过这种设备想到了第二种方式, 第二种方式也叫cc PHP过滤xss的第三方工具库…
第二章 浏览器安全 什么是同源策略? 同源策略,它是由Netscape提出的一个著名的安全策略. 现在所有支持JavaScript 的浏览器都会dao使用这个策略. 所谓同源是指,域名,协议,端口相同. 当一个浏览器的两个tab页中分别打开来 百度和谷歌的页面. 当浏览器的百度tab页执行一个脚本的时候会检查这个脚本是属于哪个页面的. 即检查是否同源,只有和百度同源的脚本才会被执行. 如果非同源,那么在请求数据时,浏览器会在控制台中报一个异常,提示拒绝访问. 同源策略的作用: 浏览器的同源策略,…
用户认证与会话管理基本上是每个网站必备的一个功能.在Asp.net下做的比较多,大体的思路都是先根据用户提供的用户名和密码到数据库找到用户信息,然后校验,校验成功之后记住用户的姓名和相关信息,这个信息经过处理之后会保存在cookie.缓存.Session等地方,然后还有一个过期时间,避免每次都要去捞数据库.在node下基本上也是这个思路,这一节的内容会涉及到user模型的加密方式.如何生成一个Json Web Token(JWT).以及在客户端用Angular创建注册和登录页面,在请求需要认证的…
1.会话管理 3.1.会话管理安全规则 1 避免在URL携带session id. 2 使用SSL加密通道来传输cookie. 3 避免在错误信息和调试日志中记录session id. 4 使用框架自带的或业界公认的安全函数来生成session id(参考附录11.4). 5 开发或引入无状态的模块(比如shipin7 nodejs和视频留言模块)时,应与web模块的session机制结合,防止越权或无授权攻击. 6 当使用加密通道SSL/TLS传输cookie时,为其设置“secure”属性.…
第二章:浏览器安全 2.1.同源策略 是一种约定,它是浏览器最核心也是最基本的安全功能. web是构建在同源策略的基础之上,浏览器只是针对同源策略的一种实现 影响“源” 的因素有:host(域名或IP地址,如果是IP地址则看做一个根域名).子域名.端口.协议 什么叫同源? URL由协议.域名.端口和路径组成,如果两个URL的协议.域名和端口相同,则表示他们同源.相反,只要协议,域名,端口有任何一个的不同,就被当作是跨域. 同源策略  Same-Origin-Policy(SOP) 浏览器采用同源…
安全问题的本质是信任的问题,并是一个持续的过程. 安全三要素 Confidentiality:机密性-----要求保护数据内容不能泄密 Integrity:完整性-----要求保护数据内容的完整,没有被篡改 Availability :可用性----要求保护资源是“随需而得” 如何实施安全评估 资产等级划分.威胁分析.风险分析.确认解决方案,这个实施过程是层层递进的,前后之间有因果关系. 资产登记划分:该项是所有工作基础,明确目标是什么,要保护什么: 威胁分析 :就是把所有的威胁都找出来(常用头…
会话复杂度: 5.3.2.会话预测: 5.3.3.会话定置: 5.3.4.CSRF: 5.3.5.会话注销: 5.3.6.会话超时:…
http是无状态的,一次请求结束,连接断开,下次服务器再收到请求,它就不知道这个请求是哪个用户发过来的.当然它知道是哪个客户端地址发过来的,但是对于我们的应用来说,我们是靠用户来管理,而不是靠客户端.所以对我们的应用而言,它是需要有状态管理的,以便服务端能够准确的知道http请求是哪个用户发起的,从而判断他是否有权限继续这个请求.这个过程就是常说的会话管理.它也可以简单理解为一个用户从登录到退出应用的一段期间.本文总结了3种常见的实现web应用会话管理的方式: 1)基于server端sessio…
转自:http://www.yidianzixun.com/n/0F1GYAsQ?s=8&appid=xiaomi&ver=3.7.8&utk=4lxc4q7c&from=timeline http是无状态的,一次请求结束,连接断开,下次服务器再收到请求,它就不知道这个请求是哪个用户发过来的.当然它知道是哪个客户端地址发过来的,但是对于我们的应用来说,我们是靠用户来管理,而不是靠客户端.所以对我们的应用而言,它是需要有状态管理的,以便服务端能够准确的知道http请求是哪个用…
一.基于server端的session管理 在早期web应用中,通常使用服务端session来管理用户的会话.快速了解服务端session: 1) 服务端session是用户第一次访问应用时,服务器就会创建的对象,代表用户的一次会话过程,可以用来存放数据.服务器为每一个session都分配一个唯一的sessionid,以保证每个用户都有一个不同的session对象. 2)服务器在创建完session后,会把sessionid通过cookie返回给用户所在的浏览器,这样当用户第二次及以后向服务器发…
阅读目录 1. 基于server端session的管理 2. cookie-based的管理方式 3. token-based的管理方式 4. 安全问题 5. 总结 http是无状态的,一次请求结束,连接断开,下次服务器再收到请求,它就不知道这个请求是哪个用户发过来的.当然它知道是哪个客户端地址发过来的,但是对于我们的应用来说,我们是靠用户来管理,而不是靠客户端.所以对我们的应用而言,它是需要有状态管理的,以便服务端能够准确的知道http请求是哪个用户发起的,从而判断他是否有权限继续这个请求.这…
http是无状态的,一次请求结束,连接断开,下次服务器再收到请求,它就不知道这个请求是哪个用户发过来的.当然它知道是哪个客户端地址发过来的,但是对于我们的应用来说,我们是靠用户来管理,而不是靠客户端.所以对我们的应用而言,它是需要有状态管理的,以便服务端能够准确的知道http请求是哪个用户发起的,从而判断他是否有权限继续这个请求.这个过程就是常说的会话管理.它也可以简单理解为一个用户从登录到退出应用的一段期间.本文总结了3种常见的实现web应用会话管理的方式: 1)基于server端sessio…
英文原文:https://github.com/OWASP/CheatSheetSeries/blob/master/cheatsheets/Session_Management_Cheat_Sheet.md 采集日期:2019-07-17 注:Session 尽量保持原文,有时表意时用"会话". 简介(Introduction) Web 身份认证.Session 管理和访问控制:(Web Authentication, Session Management, and Access C…
https://www.owasp.org/index.php/Session_Management_Cheat_Sheet#Session_ID_Properties 会话简介 HTTP是一种无状态的协议,每一对请求和响应与其他的web交互是相互独立的,如果要跟踪用户的访问状态,就需要引入会话机制,对用户的访问序列进行管理. 会话管理,将认证和访问控制(也叫授权)连接起来,在认证之前可能有未认证的会话,在访问控制之后,要有会话销毁机制. 一旦认证的会话建立,会话ID就相当于最强的认证手段, 等…
先说下背景,项目包含一个管理系统(web)和门户网站(web),还有一个手机APP(包括Android和IOS),三个系统共用一个后端,在后端使用shiro进行登录认证和权限控制.好的,那么问题来了web和APP都可以用shiro认证吗?两者有什么区别?如果可以,解决方案是什么?看着大家焦急的小眼神,接下来挨个解决上面的问题. web和APP可以用shiro统一登录认证吗? 可以.假如web和APP都使用密码登录的话,那没的说肯定是可以的,因为对于shiro(在此不会介绍shiro详细知识,只介…
SpringMVC整合Shiro,Shiro是一个强大易用的Java安全框架,提供了认证.授权.加密和会话管理等功能. 第一步:配置web.xml <!-- 配置Shiro过滤器,先让Shiro过滤系统接收到的请求 --> <!-- 这里filter-name必须对应applicationContext.xml中定义的<bean id="shiroFilter"/> --> <!-- 使用[/*]匹配所有请求,保证所有的可控请求都经过Shiro…
一.HTTP Basic Auth 每次请求 API 时都提供用户的 username 和 password. Basic Auth 是配合 RESTful API 使用的最简单的认证方式,只需提供用户名密码即可,但由于有把用户名密码暴露给第三方客户端的风险,在生产环境下被使用的越来越少.因此,在开发对外开放的 RESTful API 时,尽量避免采用 HTTP Basic Auth. Tomcat 自带的 HTTPBasic 认证: 当用户名密码输入错误后,会返回 401 Unauthoriz…
在shiro的主配置文件中配置,登出的请求经过的过滤器就可以了,在shiro的过滤器中有一个名称为logout的过滤 器专门为我们处理登出请求: 一.shiro会话管理器 shiro中也提供了类似于web中的session的机制 /** * 跳转到系统管理的主界面 * @return */ @RequestMapping("/index") public String index(Model model){ //可以通过Subject获取shiro会话中的用户身份对象 Users us…
参加:白帽子活动-—赠三星(SAMSUNG) PRO.... Everybody~小i在这里提前祝大家国庆假期愉快,咱们期待已久的国庆活动终于开始拉,下面进入正题,恩,很正的题! 活动地址:http://bbs.ichunqiu.com/thread-12801-1-1.html 作为一名小白,在进入安全圈以前,我眼中的大黑阔是这样的 进入安全圈子以后,我眼中学习信息安全的人是这样的 <ignore_js_op> 他们很诚恳的告诉我 <ignore_js_op> <ignor…