目录
一、前置知识点
二、示例展示及漏洞重要知识点讲解
<篡改价格>
<篡改数量1>
<篡改订单信息>
<篡改订单信息>
<篡改数量2>
<篡改优惠卷>
三、如何挖掘如何防范
2.随便打开一个商品,可以看到数量为1时,价格为6000。
3. 点击购买后抓取数据包。
4.可以从数据包内看到数量和价格。
5.当我们直接放包后会跳转到支付页面上去。
6.我们将其价格改成1,然后放包。
7.可以看到在网站的支付页面内,需要付款的金额也变成了1。
8.造成这种现象的原因是网站对其价格不是固定死的,而是有数据包决定的。
9.我们将数量更改为-1,然后放包。
10.可以看到金额变成了-6000。
11.我们选择第一个商品点击购买然后抓取数据包。
12.选择第二个商品点击购买后抓取数据包。
13.将数据包的信息粘贴到记事本里。
14.我们只需要修改一些特定的值,就可以使用一个商品的价格去购买另一件商品。
15.将下面的两部分进行复制,然后粘贴到数据包内的对应位置。
16.更改数据包之后放包。
17.可以看到支付页面内成功更改了要购买的商品。
18.我们点击付款方式的时候会有许多选项。
19.我们这里先选择支付宝付款,点击提交订单,抓取数据包。
20.将这个数据包放出后,网站就会拉取支付宝相关的付款链接,形成下面的数据包。
23. 来到下一个购物网站。
25.点击立即购买后抓取数据包。
26.观察数据包可以看到购买数量在数据包的最后一行,但是购买金额在数据包内并没有展示出来,直接对篡改价格进行了一定的防范。
27.既然数据包内没有价格信息,只有数量信息,那么我们就来尝试对其数量进行修改。
28.将其修改为“0.0001”后放包。 29.可以看到最终总金额变成了下面的样式。
30.我们来到一个商品页内,可以看到这个商品存在优惠卷。
31.领取后购买商品可以看到可以使用优惠卷进行购买。
32.选择一张之后金额就变成了900元。
33.选择好支付方式后点击立即支付。
34.完成支付后再次购买商品,可以看到优惠卷从刚开始的3张变成了2张。
35.我们再次进行模拟购买,将三张全部用完。
36.用完之后再次购买的时候发现就没有使用优惠卷的选项了。
37.这时我们再来领取一张。
38.之后再次购买的时候发现又存在了一张优惠卷。
39.我们选择优惠卷购买,点击立即购买后抓取数据包。
40.我们将其参数粘贴出来。
41.我们再领取一张优惠卷,然后不使用优惠卷进行购买,点击立即购买后抓取数据包。
42.我们再次将参数值粘贴出来,与刚刚粘贴出来的进行对比。
43.我们可以明显的看到没使用优惠卷的数据包与使用了优惠卷的数据包的内容差别如下。
44.总结一下就是这个值,如果使用优惠卷这个值就是106,不使用优惠卷这个值就是0。
45.优惠卷问题:
46.我们姑且认为优惠卷是有编号的,当我们再次使用优惠卷进行购买的时候,发现数据包内下面的编码变成了107。
47.这就很清楚了,优惠卷的值是不断向上增长的。
48.我们来尝试不领取优惠卷,只修改上面的值来进行尝试。
49.此时我们再次将购买的数据包给抓取到,然后将其值修改成为更大的数字,这里将其修改成了“200”。
50.放包后我们可以看到价格果然变成了900。
51.使用这个漏洞的前提是我们找到其优惠卷的规律,那么有的人就会想到这样一个问题:一般优惠卷都是只能领取一次,那我怎样来像上面这样多次领取来寻找规律呢?
52.这种问题很好解决——再注册一个账号密码来领取。
53.到这里又会产生一个问题,一个优惠卷的编码我们能不能重复进行使用呢?
54.这里我们再抓一个购买时的数据包,将优惠卷编号的位置更改为我们刚刚使用过的107来进行尝试。
55.放包后可以看到其金额依然是900,优惠卷编号依然可以使用。
56. 到这里你可能会想,这购买商品的优惠卷也太危险了把?
61.我们将其粘贴出来。
62.抓取付款页面的编号,将其也复制出来。
65.接下来我们来到订单中心查看。
66.我们尝试使用订单覆盖,使用1000的订单将100000的订单给覆盖掉。
67.点击1000订单的去支付。
68.抓取到下面的数据包。
69.放掉两个数据包后就看到了存在订单编号的数据包。
70.将其篡改为刚刚复制出来的100000订单的订单信息。
71.放包后可以看到订单金额相应的变成了100000。
72.同理,如果我们反过来,将100000的订单编号信息修改成1000的,金额会不会也相应的发生变化呢?
73.答案是可以的。
74.那么就可能会出现下面的三种可能性。
75.解决这种安全问题的方法其实也很简单,我们可以在数据包内看到数据包内是存在id值的,通过这个值就可以对订单商品以及订单金额进行控制,我们后面更改订单编号就是没有用的,需要同时对二者进行更改才可行,如果二者不对应就会出现逻辑错误,弹出错误页面。
76.我们再使用一个案例来进行验证。
77.找到一个商品购买后抓取数据包。
78.将数据包进行上面的更改后放包,就可以看到出现了下面离谱的订单。
79.这个网站就明显是存在问题的。