首页 > 编程知识 正文

web漏洞原理,web漏洞防护

时间:2023-05-03 23:22:11 阅读:134393 作者:1422

业务逻辑

不同的项目具有不同的功能,不同的功能需要不同的代码实现,实现这些核心功能的代码称为业务逻辑。业务逻辑漏洞

业务逻辑的漏洞是指由于程序逻辑不严密或逻辑过于复杂,导致某些逻辑分支无法正常处理或处理错误。常见的业务逻辑漏洞

业务逻辑漏洞挖掘过程

确定业务流程——在流程中查找可操作部分——分析可操作部分可能出现的逻辑问题——尝试修改参数引发逻辑问题业务逻辑漏洞1.1.URL跳转漏洞1.2 .触发方式和迂回或技巧1.3 盒装轰炸漏洞2.1 .短信邮箱轰炸简介2.2 .发生位置和迂回技巧2.3 .修复方法3 .任意密码修复漏洞3.1 .简介3.2 .表示3.2.1 .验证码不会失效3.2.2 .回复验证证书和未绑定3.3 任何用户登录漏洞4.1.2.4.SQL注入万能密码4.2.5 .混淆系统默认弱密码和崩溃库4.2.6.cookie (遍历id )5.越权漏洞5.1 .概要

1.URL跳转漏洞1.1.URL跳转概述

URL跳转也称为重定向,301和302的状态代码表示重定向。 当浏览器收到服务器返回的此状态代码时,它会自动跳转到新的URL地址。 可以从响应的Location标头中获取此地址。

301跳转是页面的永久移动,通常称为301跳转,也称为301重定向(重定向)

302重定向,也称为临时迁移,也称为临时重定向。

产生原因:由于服务器没有对传入的跳转url变量进行检查和控制,有可能恶意构建任意的恶意地址,诱导用户跳转

恶意网站。

1.2 .触发方式和卷绕或技巧触发方式

redirect redirect _ to redirect _ URL URL

jump jump _ totargettolinklinktodomain

绕过技巧

用问号回避限制: url=https://www.baidu.com? www.xxxx.me

利用@绕过限制: URL=https://www.Baidu.com @ www.xxxx.me

用反斜杠避免限制: URL=http://www.evil.com/www.xxxx.me

绕过子域名: https://www.baidu.com.xxx.com

1.3 .修复方法修复该漏洞的一个最有效的方法是检查传递的跳转url参数的值,确定是否是期望的域名。

2 .短信邮箱轰炸漏洞2.1 .短信邮箱轰炸概要网站对消息的发送次数、时间没有设置限制,或者只对前端设置了限制,因此可以无限制地发送消息。 简单地说,发送SMS/邮件的包可无限制地发送。

2.2 .发生位置及旁路技巧产生位置

会员账号注册功能、忘记密码时的回收功能包括:会员绑定手机邮箱的功能、设置取款密码并用手机进行认证的功能、或者某个重要的操作、提现、充值等功能需要手机短信验证码,还有一个功能是韦

绕过技巧

尝试在mobile参数后加空格

2 .多次尝试重叠参数

3 .利用呼叫接口绕过短信邮箱轰炸限制

4 .利用大小写绕过邮箱轰炸限制

2.3 .修复方法合理配置后台消息服务器功能,对同一手机号码,发送次数不超过3-5次,且可以限制发送的时间间隔。

创建页面前置代码时,禁止对同一手机号码发送n次以上,或者在页面中添加验证码功能,限制发送的时间间隔。

3 .任意密码修改漏洞3.1 .简单网站在修改密码时,对修改密码证书没有严格限制,可以绕过任意密码修改。

3.2 .表达3.2.1 .通过验证码不失效的枚举法找到正确的验证码并注册。

3.2.2 .回复验证码并未绑定,输入所需的手机号码,点击获取验证码,客户端生成验证码,观察回复包即可。 在回复包中获取用目标手机号码获取的认证码,完成认证。

3.2.3 .本地验证绕过将返回信息包的状态修改为成功登录的状态,棋牌您的服务器已成功登录。

3.2.4 .要跳过认证步骤,请先使用自己的帐户进行一次过程,获取每一步的页面链接,然后记录指向要输入新密码的页面的链接。 重置他人的用户时,在获得认证码后,直接跳转链接,输入密码,重置成功。

3.2.5 .证书可以预测何时接受使用邮件重置密码的连接。 一般附有token以判断链接是否被修改。 但是token是可预测的,攻击者可以通过构建链接重置任何用户的密码。

ng>表现:token有规律
1.基于时间戳生成的Token
2.基于递增序号生成的Token
3.基于关机字段生成的Token

3.2.6.同时向多个账户发送凭证

在数据包中添加多个账户,在发包,发现所写的有效字段均发送了凭证。

4.任意用户登录漏洞 4.1.简述

逻辑错误导致可以登录任意用户,撞库获得用户名,通过验证码登录,抓包修改接收验证码的手机号或者邮箱,然后能使撞库获得的用户登录,产生漏洞。

4.2.表现 4.2.1.手机登录验证码回显

修改登陆包中接收验证码的手机号,通过短信验证登录

4.2.2.修改返回包可以登录

将返回包的状态修改为登陆成功的状态,棋牌你服务器,登陆成功。

4.2.4.sql注入万能密码 4.2.5.系统默认弱口令及撞库

系统在搭建时,设置了默认的口令。通过尝试注册获取已注册的用户名,再利用通用密码进行登录。

4.2.6.cookie混淆(遍历id)

在登陆的时候根据cookie中的某一个字段来判断登录的角色,这个cookie字段可以任意修改,例如userid。

5.越权漏洞 5.1.概述

自由的外套,越权漏洞就是由于设计上的缺陷对应用程序的权限做的不好。通俗点来说,就是用户A可以通过某种方式查看到用户B的个人信息,或者可以查看管理员C的一些相关信息。
成因:越权漏洞的成因主要是因为开发人员在对数据进行增、删、改、查询时对客户端请求的数据过分相信而遗漏了权限的判定 。

5.2.分类

5.2.1.水平越权

水平越权漏洞是可以操作同一个层次的账号权限之间进行操作,以及访问到一些账号敏感信息,比如可以修改任意账号的资料,包括 查看会员的手机号,姓名,充值记录,撤单记录,提现记录,注单记录等等。

5.2.2.垂直越权

垂直越权漏洞可以使用低权限的账号来执行高权限账号的操作,比如可以操作管理员的账号功能。隐藏式后台也属于垂直越权的一种。

5.3.修复方法

1.基础安全架构,完善用户权限体系。
2.鉴权,服务端对请求的数据和当前用户身份做校验;
3.不要直接使用对象的实名或关键字。
4.对于可控参数进行严格的检查与过滤!

6.支付逻辑漏洞 6.1.简述

开发人员往往会为了方便,直接在支付的关键步骤数据包中直接传递需要支付的金额。而这种金额后端没有做校验,传递过程中也没有做签名,导致可以随意篡改金额提交。

6.2.表现

测试方法
1.在购买产品过程中修改产品数量、价格;
2.在支付时修改总价格或者优惠价格;
3.订单生成后,编辑订单把A商品的价格改成B商品的价格,实现低价支付。测试时,修改数量、单价,优惠价格参数为负数、小数,无限大,看是否能生成订单,能生成进入支付即说明存在逻辑漏洞了。
常见类型
• 修改购买数量
• 修改支付价格
• 修改支付对应的商品
• 修改支付的状态
• 修改附属优惠、领取优惠
• 测试数据包未删除

6.3.修复方法

1.在后端检查订单的每一个值,包括支付状态;
2.校验价格、数量参数,比如产品数量只能为整数,并限制最大购买数量 ;
3.与第三方支付平台检查,实际支付的金额是否与订单金额一致;
4.另外,如果给用户退款,要使用原路、原订单退回。比如:退押金,按用户原支付订单原路退回;
5.MD5 加密、解密、数字签名及验证,这个可以有效的避免数据修改,重放攻击中的各种问题;
6.金额超过指定值,进行人工审核等。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。