文章来源i春秋
本文适合新手参阅,大牛笑笑就好了,嘿嘿
末尾有彩蛋!!!!!!!!!!!!!!!!!
本人参加了本次"i春秋部落守卫者联盟"活动,由于经验不足,首次挖SRC,排名不是那么理想,终于知道了自己的白帽子挖洞的道路还漫长的很,老司机岂非一日一年能炼成的。
本文多处引用了 YSRC 的 公(qi)开(yin)漏(ji)洞(qiao)。
挖SRC思路一定要广!!!!
漏洞不会仅限于SQL注入、命令执行、文件上传、XSS,更多的可能是逻辑漏洞、信息泄露、弱口令、CSRF。
本文着重分析逻辑漏洞,其他的表哥可能会分享更多的思路,敬请期待。
当然Web程序也不仅限于网站程序,漏洞更多的可能是微信公众号端、APP应用程序等等
下面总结一下自己的SRC挖洞思路(逻辑漏洞)。
SRC常见的逻辑漏洞类型
个人认为逻辑是SRC出现最频繁的也是最容易挖到的漏洞,分类比较多,本文仅分析各种逻辑漏洞
0x01 0元支付订单
a、使用抓包软件(burpsuite、Fiddler...)抓包,通过分析向服务器传输的数据包,修改支付金额参数来达到欺骗服务器的效果,当然这只是最简单的思路,稍有安全意识此种漏洞几乎不会发生。
b、案例分析:同程机票支付漏洞,漏洞实例传送门:http://sec.ly.com/bugdetail?id=040057126240073192211042027138252087080136084116
此漏洞仅仅是在支付之前抓包,仅通过修改bxprice 为负数,完成了2元巴厘岛旅游,再次膜拜大佬,2000RMB+巴厘岛豪华旅游就此到手。
0x02 越权查看信息
何谓越权?越过自己能够行使的权利来行使其他权利,通俗来讲,看了自己不该看到的东西,做了自己不能做的事。
a、GET请求可直接修改URL参数,POST请求只能抓包,通过修改限定订单号的参数值,实现任意订单泄漏、开房记录泄漏,当然不一定是订单存在此漏洞,个人信息、账户详情等各种私密信息都可能存在此漏洞。
b、案例分析:酒店催房处的一处越权,漏洞实例传送门:http://sec.ly.com/BugDetail?id=252000086183010135060073226184197160190134107123
洞主不愧为老司机,用小号批量请求大号能做的请求,如果请求成功,那不就是越权吗?好像又GET到了什么
0x03 越权添加或者删除信息
a、点击添加信息,抓包后更换账号,请求抓取的包数据,若能成功,则存在漏洞;删除信息同样可能存在越权。
b、案例分析:同程机票越权添加卡包,漏洞实例传送门:http://sec.ly.com/BugDetail?id=167225056174242138247150224042057206254063148243
添加某项信息->抓取数据包->切换用户->复现数据包->成功操作->漏洞存在
0x04 用户密码重置
a、密码重置的姿势五花八门,不同的程序员可能做出的漏洞实例都不尽相同,说说我曾经遇到过的一些姿势吧:
(1)修改密码的验证码返回到Web前端进行验证,也就是点击获取验证码后,验证码返回到网页的某个hidden属性的标签中.
(2)请求获取修改某账户密码时,修改发送验证码的手机号为自己的手机号,得到验证码,成功修改指定账户密码.
(3)修改密码处的验证码的验证次数或者验证码有效时间未做限制,导致可爆破验证码,当然,6位验证码比较花时间,4位秒破.
(4)通过修改URL中的用户名参数,从而达到直接请求最终修改指定账户的密码.
(5)抓取关键步骤中的POST数据包,通过修改POST数据中的UserName参数实现任意密码重置.
(6)邮箱验证时,重置账户的URL重置密码规则有规律可循,导致重置任意用户密码.
......如有遗漏的厉害(yin dang)姿势,请回复分享!!!!
b、漏洞分析:旅仓平台任意密码重置,漏洞实例传送门:http://sec.ly.com/BugDetail?id=079064078087124103206019249045164081132199016199
此漏洞中重置密码共分为4步,洞主通过抓取第四步的POST数据包,从而实现只需要修改phone参数即可实现任意密码重置,厉害。
0x05 无验证码的撞库危害
何谓撞库?可以使用其他泄露数据库的账户密码来登录另一个网站。而我个人的理解是:用户登录接口未做限制,导致可无限爆破用户名及密码
a、无可置否,无验证码的登录界面是每个人最愿意看到的,这样就可以展开开心的爆破了,就算无法爆破出正确的帐号密码,但是只要存在撞库危害,SRC一般会给予通过,撞库的危害程度取决于业务是主要业务还是边缘业务
b、漏洞分析:同程某站点无验证码撞库危害,漏洞实例传送门:http://sec.ly.com/bugdetail?id=135117061114038121240092037083081014094068207009
此漏洞为YSRC刚开启时的漏洞,所以存在无验证码的登录,存在撞库危害
0x06 验证码失效的撞库危害
a、登录界面存在验证码,但是验证码只会在刷新当前URL时才会刷新,这会导致提交POST数据包时验证码的失效,从而导致绕过验证码的爆破
b、漏洞分析:同程某站点验证码无效导致可爆破,漏洞实例传送门:http://sec.ly.com/bugdetail?id=112195171227053035139145119019247147086179238203
当我们尝试使用burpsuite爆破时,设置好爆破元素开始爆破时,如果验证码失效,每一次爆破的Response则会提示用户名或者密码错误,而不是验证码错误,可以尝试检测是否存在此种撞库危害。
0x07 短信接口未作限制
a、短信接口未做限制可导致短信轰炸,邮箱垃圾邮件轰炸,语音电话轰炸,危害系数较低。
b、漏洞分析:购物卡兑换处短信语音轰炸,漏洞实例传送门:http://sec.ly.com/bugdetail?id=041074113247105006058199239200236127208085195183
此漏洞可手工检测,也可以抓包导入到Repeater复现数据包检测,常用的接口限口是:phone number的发送短信次数
0x08 枚举注册用户
a、当我们在登录处输入账户名时,点击网页的任意位置,网站会自动发送请求验证账户名是否正确的数据包,此时即可截获数据包进行用户名的枚举。
b、漏洞分析:同程某站找回密码用户枚举,漏洞实例传送门:http://sec.ly.com/bugdetail?id=087197063184147205102065133186047083096133108230
找回密码处的验证码失效,导致可爆破用户名来枚举已注册用户