最近领导打算开展内网安全测试,我思考着也学习学习网络安全的技术吧,研究了几天,在内网里也没弄出个啥明堂,看来安全技术是一门高深的学问呀,正准备放弃,看了一眼旁边正在互联网上挂课的笔记本,内网搞不定,把这挂课的网站搞一下试试。
怎么搞,肯定要搞最有用的,快速挂完课程肯定是我这种不爱学习的人,最需要的,动手。
根据多年挂课经验,每次学习结束后点击“退出”按钮时,服务器会去计算学习时长,用浏览器观察了一下点击退出后,都发生了设么。
发现”EditStudentLessonCourseWare”发送一个POST请求,那这个请求又向服务发送了哪些数据呢?
作为一个技术小白,肯定是没看懂,但最前面的JSON提示了我,找在线工具翻译一下:
“studyTime”,这不就是学习时长么,如果把这个时间改一下,会不会达到迅速挂满课时的效果呢?
BurpSuite软件有一个代理劫持功能,简单的说就是,设置一个代理,网页发送的POST先经过代理,再发送给服务器,在经过代理的时候,可以把POST请求内的参数进行修改。上效果图。
修改的时候以为,以为时间是按秒计算的,多按了几个“9”,我这数学果然是体育老师教的。
思考:网站在前端通常会对用户的输入做严格的检查,但对数据进入服务器时,缺少了对数据合法性的检查,所以数据在传输的途中被窜改,服务器不检查,照单全收,就是问题所在。这次我只是把学习的时长改大了,这些数字直接进了数据库,那我要是输入一些恶意代码(sql注入漏洞代码)呢?我不敢想了,我的行为已经太危险了。
备注:已经把我修改学习时长的过程,给网络学院的技术团队发送了文档,希望他们尽快修改吧。