在厂家的时候出来跟客户聊安全,老是喜欢把漏洞分为“传统漏洞”、“业务逻辑漏洞”。现在听到这词还蛮新鲜的。最近要让学弟们去帮忙挖漏洞,结合自己的测试经验顺便给他们归纳了下业务逻辑挖掘,于是有了本文....
纯科普,大牛请无视
暴力破解:
实习的时候帮客户检查系统,当实在没找到漏洞的时候最爱挑这个毛病,“该系统可被暴力破解”。因为内网中这问题比比皆是,暴力破解确实是个敲门砖。
01:没有验证码
可选工具:burpsuite
当然了,也可以选择同时爆破多个参数
02:形同虚设的验证码
另一种情况是有验证码,但是验证码却可以被重复利用。最简单的判断就是重复刷新页面,你会发现验证码没有改变。这类的目标你可以尝试下爆破。
还曾经见过内网中的一套系统,有验证码,但是在抓包后,把验证码删掉。即使在没有验证码的情况下也能提交成功。
session & cookie类
会话固定攻击:利用服务器的session不变机制,借他人之手获得认证和授权,冒充他人。
场景一:某系统认证登录后,session存在于url中。我们通过伪造一个session+url的链接。发给对方,对方通过这个链接登录后。测试者本地即可直接利用该session。
场景二:在CTF比赛中和早期一些低级的留言系统可以碰到。用户是否具备访问权限,仅仅通过cookie中的参数来判断。此时,uid=admin,即可赋予admin的权限。(不要觉得傻逼,还真有==)
都是JS惹的祸:
场景一:给客户做安全培训的时候必讲的一个题。可以理解成越权访问。在未登陆的情况下直接访问某些管理员页面,会提示”未登陆,请重新登陆“然后跳转到登陆页面。这时候只要将浏览器的js禁用即可。这个问题在某国企多年内网漏洞挖掘中也发现多次。
场景二:在给某客户做安全评估,一套图书馆系统。都快睡着了。开着burpsuite一边抓包一边浏(踩)览(点)页面。在登录框输入一个存在的账号后发现有提交请求一次(看起来没毛病)。右键查看源码,问题来了。在密码框原来的 value=“” 居然变成了 value=“邪恶的密码”....。所以我已经猜到了这位开发同学的小九九。