免责声明
由于传播、利用本公众号狐狸说安全所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,公众号狐狸说安全及作者不为此承担任何责任,一旦造成后果请自行承担!如有侵权烦请告知,我们会立即删除并致歉,谢谢!0x01 前言
逻辑漏洞是指由于程序逻辑输入管控不严,导致程序不能够正常处理或处理错误,一般出现在登录注册、密码找回、信息查看、交易支付金额等。我将所有逻辑漏洞的问题分为前端和后端两个部分,总体思路都是先测试前端再测试后端。在我理解中其实就是能突破规则限制的就是漏洞【像不可修改的通过抓包可以修改了】。配合思维导图(此处以常见的手机注册举例,同理其他注册也可以套用该模型)。框里面是对每一个步骤的解释,框右边是总结的流程。(先不管图片验证码的原因是因为就算图片验证码可绕过,厂商也会因为该漏洞危害小而忽略)首先是前端,打开burpsuite,将整个注册流程走一遍,将每个步骤的包都右键标上不同颜色。查看每个返回包有没有返回手机验证码或者存在true、false之类的判断语句,尝试将false修改为true,成功注册的话就绕过了前端验证。尝试重放发送验证码的包,查看手机是否在短时间内收到了多条短信,是的话则存在短信轰炸漏洞,这是因为后端没有对发送手机短信做时间限制。最后是修改发送包的手机号,首先用自己的手机收到正确验证码,在点击注册时拦截包将手机号改为其他手机号,如果成功的话就注册了别人的手机号,这是因为后端仅验证了验证码是否是正确的而没有验证验证码是否与手机匹配。流程小结:
1、前端判断【回显及判断】
2、短信轰炸
3、修改发送包手机号
【邮箱注册】4、修改发送包邮箱尝试覆盖注册
以上是手机注册的大概框架流程,同理其他注册类型也可以对比测试。登录处可能出现任意用户登录、验证码可绕过、用户账号可撞库等问题。配合思维导图,此处思维导图上说的密码也是手机验证码,因为是以手机验证码登录举例(此处以常见的手机验证码登录举例,同样账号密码登录也可以套用该模型,手机验证码登录的特殊处已用框标记)首先对比正确登录和错误登录的包,对比返回包看是否有判断,尝试修改参数绕过前端验证。(这里也是打开burpsuite整个流程走一遍,和上面的注册处测试差不多)测试短信轰炸与注册处测试步骤一样(一般来说注册处有短信轰炸的话这里也会有)。再然后就是验证码爆破(或绕过),此处验证码包括图片验证码和手机验证码,先测试图片验证码,将使用正确密码登录的包再重放一次,如果回显还是正确登录的话说明并没有对图片验证码进行限制,可以尝试撞库。至于手机验证码,通常是尝试爆破,如果网站发到手机上的短信没有写什么在xx时间内有效之类的则有可能没有时间限制,将登录包右键发送至Intruder(即测试器模块)设置好爆破位置后在载荷里选择数值后这样填写。通常范围是填写正确验证码所在的范围,爆破出来可以登录用户,漏洞标题也就可以写任意用户登录漏洞。修改发送包手机号则和上面注册处修改发送包手机号步骤一样,不同的是上面注册处是为了测试任意用户注册,而这里登录处是为了测试任意用户登录,原理一样目的不同。查看正确登录包的返回包是否有用户id之类的参数,尝试修改该参数。(不嫌麻烦的话可以用两个正确登录的返回包对比)1、前端判断【回显及判断】
2、短信轰炸
3、验证码爆破
4、修改发送包手机号
5、尝试修改用户参数【注意token等参数】
密码找回处可能出现任意用户密码找回、验证码可绕过等问题。前端测试与前面一致,无非就是修改返回包看是否能跳过验证步骤,此处也就略过。第2步之所以没有写短信轰炸是因为前面注册和登录已经测试过了。这里与上面注册处的修改发送包手机号操作一致,也就不多说了。1、前端判断【回显及判断】
2、验证码爆破
3、修改发送包手机号或邮箱【提交时修改手机号或者修改验证码发送包的手机号】
4、【邮箱找回】链接尝试修改用户参数【注意token等参数】
这里之所以没有按先前端再后端的顺序来写,是因为几乎每个网站的支付和越权逻辑都不太一样,使用先前端再后端这样的框架的话就限制了思路。在支付和越权这里我认为,只要有参数,都可以修改,都有可能出现问题。通常我会使用两个账号来对比测试,这样可以更快发现可疑参数。支付接口指的是网站支付一般会有像微信支付、支付宝支付这种,一般网站会在支付的发送包里用某个参数标识。登录时查看并测试用户信息返回接口指的是,在登录的时候,有的网站有个返回包是一个json数据包,该包内包含了用户敏感信息,此时就可以尝试修改发送包的用户参数,说不定就能获取其他用户的敏感信息。0x02 正文
这里通过信息收集拿到的账号信息登录进后台
打开项目问题讨论,
发现被别人打了xss,那就只能挖别的漏洞了
当我查看包的时候,发现了
解码后,发现是
主要是
当我修改为True,然后编码发包
发现,并没有信息,然后我修改了有个值ID=1
也没有数据,那我就在想,是不是GUID的问题,因为对方后端代码是,也判断了,当是ID是递增的,所以GUID是随机的,那我直接删除会怎么样?
直接成功
可以修改用户信息
文章来源: http://mp.weixin.qq.com/s?__biz=MzkwODM3NjIxOQ==&mid=2247493263&idx=2&sn=a7e05362d83a5692c79e8032f5b7649f&chksm=c0c8477bf7bfce6dabe37e4986f05d45a2f6c3da3c952ef10aa92f3fa10732f6b70bfc799f84#rd
如有侵权请联系:admin#unsafe.sh