越权漏洞(二)
登录脆弱、支付篡改
对登录脆弱和支付篡改进行一个总结。
登录脆弱:对登陆点进行检测,如果该网站使用的是http协议,那么抓包,我们可以看到明文密码,也就是密码可见。(大部分http协议是这样的,不排除有例外),如果该网站使用的是https协议,那么我们可以看的密码是加密形式的,如果使用的是常见的加密方式,如md5,base64等等。那么可以进行解密。这种思路是可以进行爆破。
利用工具:burpsuite。字典下载地址://github.com/huyuanzhi2/password_brute_dictionary
也可以自己制作字典,比如我们知道管理员的姓名、邮箱、出生年月、扣扣号、手机号等等,这是前期信息收集工作做的非常的好。然后打开网址://www.bugku.com/mima/输入这个管理员或者用户的信息。他会根据这个信息生成一些密码。我们使用密码一般都是123456+自己名字缩写,或者qq号+名字缩写等等。这个网站就是根据这些生成的密码。我们把他当作字典进行爆破。
爆破过程:由于不能做真实实例,我就把步骤说一下
1>登录的时候进行抓包,然后右击将数据包发送到intruder中
2>点击intruder,看图
3>打开payloads后,按图操作
4>导入字典后,由于字典都是明文传输,当然如果是http明文传输可以直接进行爆破(直接进入到第6步),如果是MD5加密,我们需要对我们的字典进行MD5加密
5>将字典进行加密
6>开始爆破,点击intruder,然后start开始。
7>爆破完成后看数据包的长度,肯定大多数的数据包长度是一样的,因为正确密码只有一个。找到那个返回长度不一样的。可能就是正确密码。
Cookie脆弱点:在登录页面检查cookie,有的网站只检查cookie通过,不会去验证他的正确性。如何发现这种漏洞
1>通过源码(信息收集的时候,扫描目录有可能得到网站源码,或者在开源找到类似代码)
2>没有源码只能从数据包中查看,比如抓到数据包中有cook:user=admin这类的可以尝试,一般比较难找
支付篡改 支付购买业务漏洞: 通过抓包工具抓取相关的数据包修改相应的参数可能达到纂改的目的,比如修改商品编号,购买价格,购买数量,支付方式,订单编号,支付状态,支付方式。比较常见的修改参数:替换支付(将购买5000块钱的数据替换成50块钱的,通过50块钱买到了5000的东西),重复支付(将未支付的数据替换为已经支付过的数据),最小额支付,负数支付(购买数量为-1),溢出支付,优惠卷支付。因为我这里也没有源码,无法演示,大家可以搜索一下相关文章。
产生漏洞原理:没有检测数据(价格,数量等信息)的唯一性。
防御:
1>后端检查每一项值,包括支付状态(后端检测传参)
2>校验价格、数量参数,比如购买产品数量不能为负数只能为正整数
3>交易金额较大需要人工审核
大家也可以参考一下别的文章,集百家之长为自己所用。