学长来给你们讲个web安全在实际生活中的案例。 入门知识,BurpSuite的基础吧。
我最近在网校学日语,不同等级能选不同等级的课程。我现在是这个
L2
,为了防止喜欢老师的课程被选满,我想提前选好L3的课程。(因为我看这个老师的人数是116/120)。
怎么办呢?正片开始,其实就是web渗透入门的抓包改包。
首先我去点击选课按钮,使用BurpSuite查看数据包。
抓包
看到了schedule_id。猜到这个应该就是课程ID。那么是不是我只要将我想选的课程id替换过来就好了呢。
尝试了各种方法,一直没找到想选的课程的id,最后发现其实有个全校课程表的东西。
全部课程
查看源代码,发现似乎这里面并没有存储课程ID(其实是用js进行渲染的,直接看源码不好看)。这个时候呢,比起去仔细阅读源码,更方便的是读响应中的数据。拦截查询课程的请求。
Repeater
选择发送到Repeater。 点击go按钮,可以看到响应了,发现返回了json数据。
json数据
其中果然是有id的。将id进行替换。重新发包。 页面弹出了一个确认窗口,点击确定后,发现竟然不对..证明点击确定按钮后,id是通过页面js重新取的,需要把这个链接的id数据也进行更换。结果我当时候已经没去拦截了。(我这个时候已经把burp的拦截关掉了。实际上,点击按钮后有个ajax请求,对这个ajax请求,进行改包也会是同样的效果。)
突然想到,不是还有个
step域吗,直接改成1试试。 (改这里是我猜的,step英文是步骤嘛,既然0会弹出确认窗口,那我改成1呢)
ok了,没有确定窗口了。
成功选到想要的课程了。
后记: 我最后发现116/120.代表的是还剩116个空位,MMP,也就是说我根本没必要这么麻烦,安安心心的复习,通过测验再选也是游刃有余的。想了想总得有点价值,就有了这篇文章了。