You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Burp Suite修改购物车价格?Django电商的安全风险解析

Django电商网站的购物车价格篡改安全漏洞

我近期发现Django电商网站存在一项严重安全漏洞:用户可在将商品加入购物车前修改商品价格。
许多开发者允许用户从前端发送价格数据,而这类数据极易通过Burp Suite或浏览器开发者工具篡改。


漏洞示例:

以下是一个简单的Django添加购物车视图:

def add_item(request):
    product_id = request.GET.get('product_id')
    price = request.GET.get('price')  #  User-controlled value (security risk)
    qty = int(request.GET.get('qty', 1))

    cart_item = {
        'product_id': product_id,
        'qty': qty,
        'price': price,  #  This price comes from the user, not the database!
    }

    request.session['cart'] = request.session.get('cart', {})
    request.session['cart'][product_id] = cart_item
    request.session.modified = True

    return JsonResponse({'message': 'Added to cart'})

攻击者利用流程:

  1. 数据库中某商品定价为**$500**。
  2. 用户点击**"加入购物车"**。
  3. 攻击者通过Burp Suite拦截请求,而非发送原始价格。
  4. 将price字段修改为**$1**后转发请求。
  5. 购物车将存储被篡改的价格,用户可按错误金额完成结账。

为何构成安全风险?

  • 后端信任前端数据,而这类数据极易被篡改。
  • 会话存储错误价格,导致商家财务损失。
  • 攻击者可通过修改请求数据,以极低价格购买高价商品。

社区讨论点:

  • 防范该漏洞的最佳实践有哪些?
  • 电商网站是否应始终从数据库获取价格,而非接受前端数据?
  • 处理Django购物车数据时,开发者还需注意哪些其他漏洞?

期待大家的见解!

内容的提问来源于stack exchange,提问作者Google User

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.14 01:12:40