欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

墨克斯特学院 - 投票系统编程缺陷分析 - 实践

最编程 2024-03-04 20:09:21
...

投票系统程序设计缺陷分析

背景介绍

年终了,公司组织了各单位"文明窗口"评选网上投票通知。
安全工程师"墨者"负责对投票系统进行安全测试,看是否存在安全漏洞会影响投票的公平性。

目标

帮助ggg用户获得票数第一名

解题思路WsdtiD.png

Wsd2WQ.png
从上面两张图可以看出,每个人只能投一次,为什么呢?
关于这点,在题目下方的实训目的当中已经很明显的告诉我们了,如图↓
Wsw49e.png
所以可以肯定的是,股票系统是通过IP地址来确定,是不是同一个人投票的,也就是说,只要批量使用不同的IP地址来进行投票,就可以实现无限制刷票。话不多说,直接实操!

解题步骤

1、查找PHP代码获取,浏览当前页面的用户计算机的IP方式
Wsr0V1.png
据推测得出:X-Forwarded-For

2、开启代理

  • Burp开启代理监听
    WsBbY8.png

  • 浏览器开启代理
    WsBowt.png
    3、使用Burp抓包
    WsyaA1.png
    4、添加X-Forwarded-For属性,并增加一个任意的IP之
    WscVds.png
    5、发送给测试器并修改IP参数为变量
    WsRVdH.png
    Ws2LsU.png
    6、使用有效载荷,设置变量最大值与起始值与每次的增值,重复两次(因为有两个值)
    WsflVg.png
    注意:以上设置需要将有效负载集修改为2,再设置一次
    7、开始投票
    WshyTg.png
    8、等待进度条结束,投票完成
    Ws4ihd.png
    9、刷新页面,成功拿到KEY
    Ws4NHU.png

    总结:过程很艰辛,结果很满意。加油打工人!