16年6月查询四六级的成绩页面问题
来源:互联网 发布:java图片合成字阴影 编辑:程序博客网 时间:2024/04/29 14:11
16年6月查询四六级的成绩页面问题
–绕过window.onload
缘由
8月18号的下午,听闻是工作人员手滑,导致四六级成绩可以提前查询。后来修复方式不正确,使之依然可以绕过弹窗查询。
代码分析
第一次修改
程序员发现错误后,第一次采取的方法是这样的
<div id="Content"><div id="Content1"><script src="./全国大学英语四、六级考试成绩查询 - 中国教育考试网_files/jsencrypt.min.js" type="text/javascript"></script><script src="./全国大学英语四、六级考试成绩查询 - 中国教育考试网_files/query.js" type="text/javascript"></script><script src="./全国大学英语四、六级考试成绩查询 - 中国教育考试网_files/query_cet.js" type="text/javascript"></script><div style="display:none"><iframe name="_ajax" onload="try{t=contentWindow.location.host}catch(e){return}p=parentNode;if(t&&p.style.display)p.innerHTML=p.innerHTML"></iframe><form name="form1" method="POST" action="http://www.baidu.com/" target="_ajax"><input type="hidden" name="tp" value=""><input type="hidden" name="czn" value=""><input type="hidden" name="v" value=""></form></div>
分析代码,其中引入了query_cet.js,查看js文件发现一个不够谨慎的问题,程序员把弹窗写在了window.onload里面,导致了在页面加载完毕之后再弹窗。这样的操作只要想办法把弹窗弄掉就可以了。这里有个小技巧,在点击弹窗的“确定”后,按下ctrl+s便可以打断跳转操作,之后就可以正常操作了。
window.onload = function() { if(!checkTime()){ alert("对不起,请于2016年8月19日上午9:00再来查询!"); location.href = "/"; } ……
如下图:
点击取消后即可。
第二次修改
8月18号晚上11点左右,发现加载后显示的弹窗不一样了,页面元素并没有全部加载出来再弹窗,于是猜测代码被修改。
第二日查看query_cet.js源码如下:
if(self!=top)window.open(self.location,'_top');function checkTime(){ var t = new Date("2016/08/19 09:00:00").getTime(); var d=new Date().getTime(); if(d>=t){ return true; } return false;}if(!checkTime()){ alert("对不起,请于2016年8月19日上午9:00再来查询!"); location.href = "/";}var result = new Object();result.publicKey = "MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAMFBIs6VqyyxytxiY6sHocThOKoJWNSY8BuKXMilvKUsdagv44zFJvMXnV2E7ZbdjpNS1IY/uRoJzwUuob3sme0CAwEAAQ==";document.write("<div style=display:none><iframe name=_ajax onload=try{t=contentWindow.location.host}catch(e){return}p=parentNode;if(t&&p.style.display)p.innerHTML=p.innerHTML></iframe>"+ "<form name='form1' method='POST' action='http://www.baidu.com' target='_ajax'><input type='hidden' name='tp' value='' /><input type='hidden' name='czn' value='' /><input type='hidden' name='v' value='' /></form></div>");var tp;window.onload = function() { if(get("sn")) ……
checktime()写在js前面,这下就没辙啦,服务器上的js文件并不能修改(?),也没有找到一些数据库相关的漏洞,所以就没有继续研究下去了。
一些想法
因为公钥和一些相关信息写在头部,猜测应该可以通过burpsuite等工具,自行修改post的信息,这样的话就可以避免被弹窗。不过加密方式应该也是难点,再研究一番看有没有可能。
0 0
- 16年6月查询四六级的成绩页面问题
- Python查询四六级成绩
- 四六级成绩批量查询器
- 2012年6月16日四六级作文预测
- 2012年6月16日四六级作文中一定能用到的句子
- 2017年6月英语 CET 四六级考试查询准考证方法
- 英语四六级暴力查询成绩脚本(忘记准考证的同学的好东西)
- 微信公众平台开发(103) 四六级成绩查询
- selenium抓取四六级成绩
- Python3爬虫(4)--抓取考生的四六级成绩
- 无准考证号的四六级查询
- 2009年12月英语四六级作文预测
- 2012年12月英语四六级作文预测
- 英语四六级考试成绩查询
- 2007年10月自考成绩查询 上海自考成绩查询
- 四六级写作出现的问题及对策
- Android模拟登陆学信网获取四六级成绩
- 2010年英语四六级新话题新范文(为今年六月份的四六级准备)
- 用冒泡排序实现快速排序
- 关于Ubutun下的jsonc的安装
- ibatis中配置后,项目启动报错: The content of elements must consist of well-formed character data or mark
- 【HTML5】无需Flash实现图片裁剪——中级进阶
- NPOI入门(一)创建Workbook和Sheet
- 16年6月查询四六级的成绩页面问题
- Java使用JDBC连接mySQL数据库小例子
- 【UI模块】Fragment之二(周期和通信)
- 【caffe-Windows】以mnist为例lmdb格式数据
- 简单 粗暴 恶心的 bug 总结 ( 持续更新)
- java访问oracle数据库
- runtime在应用国际化上的实践
- 详细的Log4j使用教程
- Permission denied, please try again.