零、前言

  最近做专心web安全有一段时间了,但是目测后面的活会有些复杂,涉及到更多的中间件、底层安全、漏洞研究与安全建设等越来越复杂的东东,所以在这里想写一个系列关于web安全基础以及一些讨巧的payload技巧以便于备忘。不是大神、博客内容非常基础,如果真的有人看而且是大牛们,请不要喷我,欢迎指正我的错误(水平有限)。

一、越权:

  1、本质:

    某账户拥有了超出它应有权限范围外的操作许可权。

  2、分类:

    (1)水平越权:横向拥有了同等安全等级、密级等衡量标准账户的权限。

    (2)垂直越权:纵向拥有了更高安全等级、密级等衡量标准账户的权限。

  3、一般越权发生的位置:

    (1)修改、重置、找回其他账户密码。

    (2)查看、修改其他账户未公开的信息,例如个人资料、文件、数据、程序等。

    (3)其他应与账户关联的权限操作。

  4、发生越权行为的开发级原因以及防御办法:

    涉及用户信息的操作需要验证用户身份,比如查看各种用户信息的情况下,不能只根据用户uid去搜索,应该再次进行身份验证。可以在session或者cookie中加入不可预测、不可猜解的user信息,或者特别敏感的操作应该再次让用户输入password或者其他用户验证信息。

  5、检测手段:

    (1)STEP1:查看所有敏感涉及到账户的操作是否有除了UID之外的验证方式,没有的话构造uid访问,可检查是否有漏洞,这里的uid代指username、email、userid 等声称的账户信息。

    (2)STEP2:如果有验证参数,尝试是否是可以预知的或者可以猜测出来的。不是,没有漏洞,是,有漏洞,构造请求验证漏洞。

二、会话逻辑:

  1、session的问题:

    (1)sessionid简称sid,应在登录成功之后进行重置,一般保存在cookie中,set-cookie重置即可。否则会导致Session Fixation攻击。

    (2)sessionid应当在合理时间内过期,否则将导致session保持攻击,也就是别人利用cookie登录以你的身份登录。

三、业务逻辑: 

  

1、支付类逻辑漏洞
  (1)修改商品为负数(可能会增加攻击者账户对应的真实或虚拟财富值)
  (2)修改单价、总价、运费价(修改为负数,改小等)攻击者获取利益。
  (3)修改价格字段值为字符串,尝试攻击服务器异常抛出逻辑错误,例如,总价异常抛出是修改为0。

  2、信息轰炸类漏洞
  (1)短信轰炸、邮件轰炸、私信轰炸。
  (2)可能发生的地方:
    (2.1) 注册验证码获取(邮件短信)
    (2.2) 注册激活邮件获取(邮件)
    (2.3) 密码找回验证(邮件短信)
    (2.4) 支付类信息、验证码验证(短信)
    (2.5) 站内信、私信发送处(私信、站内信)
  (3)测试方法:抓到发送短信、邮件、私信、站内信的报文,不断重放。

  3、针对用户拒绝服务攻击
  (1)指定目标用户,拒绝其服务进行攻击。
  (2)逻辑漏洞,验证信息多次错误尝试可能导致用户被封锁。
  (3)漏洞地点:验证发生的任何地方(注册、支付、密码找回、密码修改、登录、敏感操作等)
  (4)测试办法:重放错误验证信息的报文。

四、暴力破解:

  1、验证码。

  2、频率试错控制。

  

  

WEB安全第七篇--终结篇考验逻辑思维:逻辑漏洞大汇总(越权、会话逻辑、业务逻辑、暴力破解)的更多相关文章

  1. 第七章终结篇——8251A的总结

    总算把这个第七章复习完了,我把剩下一点关于8251A的发上来吧 本来在讲解8251A书本上还有关于RS232和串口通信的讲解,但是太浅了,就不放了,有兴趣的朋友可以自行参考其他文章 串行通信芯片825 ...

  2. MySQL 数据库规范--调优篇(终结篇)

    前言 这篇是MySQL 数据库规范的最后一篇--调优篇,旨在提供我们发现系统性能变弱.MySQL系统参数调优,SQL脚本出现问题的精准定位与调优方法. 目录 1.MySQL 调优金字塔理论 2.MyS ...

  3. 一个App完成入门篇-终结篇(八)- 应用收官

    经过以上几步的学习,我们终于来到最后一个步骤了,应用APP也接近尾声. 通过之前的几节教程,不知道您对使用DeviceOne开发一个应用是不是已经得心应手了,本节教程将教会大家如何在开发完成之后通过D ...

  4. 基于Web Service的客户端框架搭建四:终结篇

    前言 这是这个系列的终结篇,前面3个博客介绍了一下内容: 1.使用Http Post方式调用Web Service 2.客户端框架之数据转换层 3.客户端框架之代理层 框架结构 框架是基于C#的,在V ...

  5. 一起学微软Power BI系列-官方文档-入门指南(7)发布与共享-终结篇+完整PDF文档

    接触Power BI的时间也只有几个月,虽然花的时间不多,但通过各种渠道了解收集,谈不上精通,但对一些重要概念和细节还是有所了解.在整理官方文档的过程中,也熟悉和了解了很多概念.所以从前到后把微软官方 ...

  6. JavaScript中的正则表达式(终结篇)

    JavaScript中的正则表达式(终结篇) 在之前的几篇文章中,我们了解了正则表达式的基本语法,但那些语法不是针对于某一个特定语言的.这篇博文我们将通过下面几个部分来了解正则表达式在JavaScri ...

  7. 关于C++对汉字拼音的处理——终结篇

    以前写过了3个博文,都是关于汉字转拼音的,后来发现都不是很“完美”的解决方案,第一个和第二个利用的unicode编码的范围进行确定汉字的拼音,但是难免有遗漏,这个在后面的实践中发现的,后来第三个方法是 ...

  8. 撩课-Web架构师养成系列第一篇

    前言 Web架构师养成系列共15篇,每周更新一篇,主要分享.探讨目前大前端领域(前端.后端.移动端)企业中正在用的各种成熟的.新的技术.部分文章也会分析一些框架的底层实现,让我们做到知其然知其所以然. ...

  9. Web安全测试中常见逻辑漏洞解析(实战篇)

    Web安全测试中常见逻辑漏洞解析(实战篇) 简要: 越权漏洞是比较常见的漏洞类型,越权漏洞可以理解为,一个正常的用户A通常只能够对自己的一些信息进行增删改查,但是由于程序员的一时疏忽,对信息进行增删改 ...

随机推荐

  1. AWS SDK for C++调用第三方S3 API

    这里介绍AWS SDK for C++ 1.0.x版本,比如下载: https://github.com/aws/aws-sdk-cpp/archive/1.0.164.tar.gz 环境:RHEL/ ...

  2. C++/C语言的标准库函数与运算符的区别new/delete malloc/free

    malloc与free是C++/C语言的标准库函数,new/delete是C++的运算符.它们都可用于申请动态内存和释放内存.下面来看他们的区别. 一.操作对象有所不同 malloc与free是C++ ...

  3. B树、Trie树详解

    查找(二) 散列表 散列表是普通数组概念的推广.由于对普通数组可以直接寻址,使得能在O(1)时间内访问数组中的任意位置.在散列表中,不是直接把关键字作为数组的下标,而是根据关键字计算出相应的下标. 使 ...

  4. struts2-Action配置-通配符-DMI

    1. ActionMethod: Action执行的时候并不一定要执行execute方法,有两种替换办法如下: ①在配置文件中配置action的时候用“method”属性来指定执行哪个方法 ②在url ...

  5. linux -- 查看Ubuntu命令行调用的文件

    which 如: 输入:which reboot 输出:/sbin/reboot 输入:which shutdown -h now 输出:/sbin/shutdown

  6. java反射详解 (转至 http://www.cnblogs.com/rollenholt/archive/2011/09/02/2163758.html)

    本篇文章依旧采用小例子来说明,因为我始终觉的,案例驱动是最好的,要不然只看理论的话,看了也不懂,不过建议大家在看完文章之后,在回过头去看看理论,会有更好的理解. 下面开始正文. [案例1]通过一个对象 ...

  7. 如何强制关闭Tomcat

    用Myeclipse打开后启动Tomcat提示信息为:Address already in use: JVM_Bind:80 ,表示该地址和端口已经被占用显示已经打开了.但是关不掉他...所以只能去关 ...

  8. 详解MathType引用公式编号功能

    在论文创作期间,如果需要在文本中删除大量的公式,手动编号删除的工作量是比较大的,使用MathType引用公式编号功能就可以节约大量的时间,提供很大的方便.本教程将详解MathType引用公式编号功能. ...

  9. 详解MathType中如何批量修改公式字体和大小

    MathType应用在论文中时,有时会因为排版问题批量修改公式字体和大小,一个一个的修改不仅费时费力,还容易出现错误,本教程将详解如何在MathType公式编辑器中批量修改公式字体和大小. MathT ...

  10. mysql数据库,什么是数据库的全备份?

    需求描述: 今天要做mysql数据库的全备份,那么就要弄清楚一个概念,到底什么是数据库的全备份呢. 概念解释: 数据库的全备份,就是在一个给定的时间点,对于mysql服务器管理的所有的数据进行备份. ...