侧边栏壁纸
博主头像
pingc

今天不学习,明天变乐色。

  • 累计撰写 8 篇文章
  • 累计创建 2 个标签
  • 累计收到 1 条评论

逻辑漏洞

pingc
2022-07-07 / 0 评论 / 0 点赞 / 297 阅读 / 1,885 字

什么是逻辑漏洞

业辑漏洞就是开发者设计业务逻辑时存在缺陷,攻击者可以通过一些方式去绕过,访问或请求没权限的数据,或者通过缺陷达到一些开发者不希望的结果。通常存在于登录,注册,上传,支付,找回密码,查看数据等。
目前挖掘企业src的主流也逻辑漏洞。

越权漏洞

越权漏洞是指开发者设计权限控制时考虑不全面,导致攻击者可以通过修改某个值,来达到越权访问或请求其他用户数据。
越权一般分为水平越权和垂直越权。

水平越权

水平越权,就是越权访问或请求同权限的用户的数据。

案例1

假设一个内容发布平台,登录账号后,查看个人文章列表,此时的cookie是:PHPSESSID=addfgsacasdwf;userId=12345642;
可以看到有个userId参数,我们修改这个userId为654321
这时候刷新页面,会发现文章列表以及登录状态变成了654321这个账号,达到任意账号登录。
总结:开发者通过获取前端传参来的参数辨别用户,且没有做加密处理,导致出现越权漏洞。

案例2

接着刚刚的案例,我们在个人文章列表页面,点击编辑文章,此时url是:
http://www.wz.com/admin/posts/write?postId=36
可以看到有一个postId的参数,我们修改为30
这时候刷新页面,会发现我们编辑的文章变成了其他文章,这样我们可以越权修改别人的文章。
总结:开发者没有将文章ID与用户进行绑定,只要修改文章ID就可以越权编辑他人文章。

垂直越权

垂直越权,就是越权访问普通用户无法访问或请求的数据。

案例

假设一个用户管理界面,管理员用户登录后,每个用户列表后面有两个按钮,查看和编辑。
普通用户登录后,每个用户列表后面有一个按钮,查看。
普通用户是没有编辑权限的,但这时候我们先用管理员账号去点编辑,复制编辑页面的url。
然后去登录普通用户,然后访问这个编辑URL,发现可以访问。
我们就以普通用户的权限越权访问了管理员才能访问的页面。
总结:开发者只是隐藏了按钮,并没有限制我们访问这个url,只要我们获取到相应的地址,就可以越权访问。

未授权访问

未授权访问,就是没有登录但却可以操作登录后才能执行的操作。
如:redis未授权、solr未授权等。

案例

假设一个用户管理界面,管理员用户登录后,进行查询用户操作。
此时我们抓包找到查询用户操作时调用的api地址。
将他复制出来去除cookie进行访问,发现依旧可以查询到用户信息,这就是未授权访问+信息泄露。

验证码漏洞

验证码漏洞,验证码这块有许多逻辑问题,也是非常常见的漏洞。
分别有验证码回显、验证码复用、验证码爆破、验证码未绑定、客户端验证,验证码绕过,短信轰炸。
目前就想起来这些,还有就后续补充。

验证码回显

手机验证码举例:打开burp抓包,点击获取验证码,拦截回包,会发现直接把验证码返回了,可能明文也可能是加密后的。

验证码复用

手机验证码举例:登录时,使用手机号验证码登录,登录后,注销登录,再登录一次,用之前接的验证码,发现可以成功登录,验证码可复用。

验证码爆破

手机验证码举例:先用自己手机去接下验证码,如果验证码是4位数,且只有时间限制,没有次数限制,直接使用burp进行爆破即可。

验证码绕过

手机验证码举例:注册时需要输入验证码我们随便输入,然后点击注册,burp抓包,把验证码部分删除可直接注册成功。

验证码未绑定

手机验证码举例:随便输入一个账号,点击忘记密码,通过手机号修改密码,然后burp抓包,点获取验证码,此时我们把获取验证码请求中的手机号改为自己的手机号,通过自己手机号接收验证码去修改别人账号密码。

客户端验证

图片验证码举例:通过burp抓包,点刷新验证码如果没有请求,说明验证码是前端生成的,那么验证必然也在前端,我们先正确输入一次验证码点注册,查看抓包请求里是没有带验证码信息的(带了也不用管,后端没效验),可以直接发包来达到绕过前端验证码验证。

短信轰炸

服务端没有对单一手机号短信发送次数做限制,通过重复发包造成无限发送短信验证码。
如果服务端有限制但逻辑不严谨,可以在不影响手机号完整性的情况下,加入86、00和空格等特殊字符干扰来绕过限制。

短信转发

服务器接受的手机号可能是数组类型,如果是数组格式接收,那么验证码会发送到多个手机号。

phone=18888888888
改为
phone=18888888888,17777777777
phone=[8888888888,17777777777]
phone=18888888888&phone=17777777777

支付漏洞

这个有点多慢慢写吧

注册、修改、找回漏洞

这个有点多慢慢写吧

0

评论区