IdeaCMS微商城v2.0 漏洞合辑

前言:前段时间挖的cms,发现存在诸多逻辑漏洞,,就发出来让新手学习一波吧,,重在审计手法~

IdeaCMS微商城v2.0是我们在1.0用户需求及反馈的基础上通过近八个月全新研发的集PC+手机+微信于一体的商城系统。整个商城依旧以“小而美”为特色,整个程序打包仅3.5M。这也是我们继IdeaCMS网站管理系统后第二款核心产品。 IdeaCMS微商城v2.0以商城为核心,包含分销、促销、优惠券、快递、积分商城、文章系统、会员系统、数据报表等重要模块。您可以在任意浏览器中打开我们程序,且提供绑定微信公众号功能,绑定后可实现微信支付、自定义微信菜单、自定义关键词回复等功能。并可扩展支持PC商城,您只要熟悉了我们的标签规则,可以任意制作符合自己的模板,让您的微商城更好看。 经过测试,发现存在订单遍历和0元购等逻辑漏洞!

下载测试的cms为IdeaCMS开源微商城 v2.1.1 UTF 8

官方url:http://www.ideacms.net/

demo url:http://ideacms.net/Products/shop/

一、订单遍历漏洞

为了方便安全测试,这里我注册了两个账号,分别为test001、test002,然后进行购物

“>图片.png

可以看到这里的订单id为1,该订单所属用户为test001

 

“>图片.png

然后我们在test001账户下,修改订单号,修改为id=2,可以看到这里出现了test002的订单,因此验证了订单遍历漏洞的存在!

下面来到源码处找找存在漏洞的代码/plug/user/index.asp第433行开始

“>图片.png

可以看到这里的id直接进行了代入,而没有判断订单所属用户,因此产生了漏洞!

 

二、购物逻辑漏洞

这里漏洞的表现则是常见的0元购!

这里我们选择任意一件商品

.

“>图片.png

可以看到这里可以加入购物车,可以立即购买,这里厂商其实是做了限制的,那就是加入购物车会判断商品数量,只有当商品数量大于0时才准许购买,但是直接购买的话并没有限制!

 

“>XRV`I`ADNT@)N%VK~{NZQ8T.png

这里点击直接购买,GET参数,数量对应的num参数直接可以在修改,这里修改为-1

 

“>Y2_H8ZU[J4@F4U4`ST$NHL0.png

但是在后续的确认订单原本是-1,但是我发现num这个参数直接在GET参数里,因此这里继续做测试,将其改为-5

 

“>WPD3ZO0RBBU4(B_LGCR0Q7I.png

可以看到这里的数量也因此修改为-5,最终也可以提交订单!

 

“>X~3SIY6Q)N@76L}%~VZRL]Y.png

最后可以看到订单显示为-9000元,由于这个账户上没有余额,因此也就实现了真正的0元购!

下面来根据参数回溯问题代码pluguserindex.asp第107行开始

这里只针对num这个参数进行问题说明!

dim b_num : b_num = getForm(“num”, “get”)

m_tc=m_tc+rsObj2(“PTc”)*b_num     ‘提成                        m_jf=m_jf+rsObj2(“PJf”)*b_num     ‘积分

m_list=m_list&”            数量:”&b_num &” 件”

m_num=b_num    ‘商品数量

可以看到这里对num这个参数一直没有进行验证,因此也就出现了上面的0元购漏洞!

 

3、注入漏洞

这个注入是偶然看到的,pluguserindex.asp第214行

sqlStr = “select * from {pre}Product where ID=”&id

这里参数id直接带进了sql语句,下面用sqlmap进行验证

 

“>图片.png

总结:漏洞都不是很复杂,,没什么技术含量。。

相关推荐: DOM XSS之殇

主要看ppt,参考的论文是NDSS会议上的一篇论文(https://www.ndss-symposium.org/wp-content/uploads/sites/25/2018/02/ndss2018_07A-4_Melicher_paper.pdf),如果…

© 版权声明
THE END
喜欢就支持一下吧
点赞0
分享
评论 抢沙发

请登录后发表评论