Web安全-逻辑漏洞-业务逻辑漏洞利用
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Web安全-逻辑漏洞-业务逻辑漏洞利⽤
实验声明:本实验教程仅供研究学习使⽤,请勿⽤于⾮法⽤途,违者⼀律⾃⾏承担所有风险!
业务逻辑漏洞利⽤与防护
【实验⽬的】
phpok是⼀款PHP开发的开源企业⽹站系统。
⽽⽀付漏洞⼀直以来就是是⾼风险,对企业来说危害很⼤,对⽤户来说同样危害也⼤。
本实验通过⼀个典型的利⽤⽀付漏洞进⾏免单购物的过程,使⼤家体验逻辑漏洞带来的风险,加深此类安全风险的防范意识。
【实验环境】
渗透主机:Logic-Terminal
⼯具:Burpsuite
⽤户名:college,密码360College
⽬标靶机:Logic-Target
⽬标⽹站PHPOK:http://IP:8083
⽤户名:college,密码360College
【实验原理】
⽀付问题的渗透思路⼀般是在购买商品的三个步骤:订购、确认信息、付款中进⾏的。
交易⽀付逻辑漏洞的主要呈现形式有:(1)修改⾦额;(2)修改商品数量;(3)修改优惠⾦额;(4)修改数量、单价,优惠价格参数为负数、⼩数,⽆限⼤;(5)商品价格更改;(6)⽀付key泄露等。
本实验实现的是⽀付成功后,实际价格与⽀付价格不相等。
常见场景如下:
充值的时候,程序只判断订单有没有充值成功,但没有判断⾦额,例如:⽣成订单跳⾄⽀付宝页⾯,在原⽹站上点⽀付失败,这时可以修改订单,改成更⼤的⾦额(订单号没变),回到⽀付宝⽀付页⾯,⽀付成功。
程序并没有重新核对⽀付宝实际的⾦额,只是把订单改为已⽀付。
使⽤余额⽀付,把数量改为负数,总⾦额也为负数,扣除余额时,负负得正,这时余额增加。
实验步骤
第⼀步⽬标靶机启动phpok⽹站
(1)登录⽬标靶机系统
⽤户名密码为college/360College
(2)将⽤户权限切换到root权限,所使⽤命令为sudo su ,然后输⼊密码360College
(3)启动Docker
所使⽤命令为docker start 709163987d0e
如果启动成功,此时使⽤命令docker ps -a,可查看到PHPOK4.4⽹站服务已经开启
第⼆步渗透主机访问PHPOK⽹站
注意:此时访问⽹站,需要关闭浏览器代理功能。
或者打开burpsuit后,再进⾏访问。
浏览器建议采⽤⽕狐或⾕歌浏览器,因为IE浏览器兼容性不好,很多新特性不⽀持。
(1)启动burpsuite
⾸先在桌⾯tools⽂件夹下双击启动burpsuite:
下⼀步:
然后在启动界⾯下将intercept is on 单击变为 intercept is off
(2)访问⽬的IP的8083端⼝,登录⽹站。
所访问url为http://【靶机IP】:8083
第三步渗透主机访问PHPOK⽹站进⾏购物并⽀付操作
(1)以账户test1/test1登录系统
(2)在产品展⽰界⾯选择商品并加⼊购物车结算
(3)点击提交订单后,在确认⽀付之前,将intercept is off 单击变为 intercept is on 然后点击确认⽀付,此时burpsuit抓取数据包如下所⽰:
与⽀付⾦额相关的数据细节如图所⽰:
(4)可见⾦额参数明⽂显⽰在URL中,将此参数更改为0.01,然后点击Forward按钮进⾏提交
(5)跳转⾄⽀付宝⽀付界⾯,由于⽀付设置需要上传营业执照,这⾥观察⼀下⽀付宝的URL,传给⽀付宝的⾦额已经变成了0.01
【思考与总结】
⽀付问题⼀直以来就是很严重的问题,不管对⼚商来说还是⽤户来说,让⽀付过程中更安全,是每⼀个从事安全⽅⾯⼈的责任,因为交易⽆时⽆刻的都在进⾏。
软件开发者必须加强代码安全意识,建⽴代码安全开发规范,同时结合第三⽅渗透测试和代码审计的⽅式对即将上线的系统仅测试,提⾼平台的安全性。