分类 折腾 下的文章


业务逻辑丢前端,很强


“教育系统很多bug都来自业务逻辑丢前端,以及表单数据处理不严格。”
—— Soha King

0x00 无关的背景介绍

又到了一学期一度的选修课选课时间!已经高二下半学期的Soha将迎来最后一期选修课。高一刚入学的时候选了金老师的某课程,然而之前那个学期并没有开课。这一次听说我们班大部分同学选了这节课,我心里也有点痒。(毕竟这是我们的信息技术任课老师,超可爱)

0x01 问题的重现过程

我尝试选择金老师的这门课程。

尝试选课

尴尬……都怪学校当年不开课。

我顺手在“选课”上右键审查元素。

Inspect Elements

很强,直接把这种东西丢在前面。然后我看了看Network……再点击选课后并没有任何的请求。不过想想也是,除了一个confirm后的doPostBack,没有其他的xhr请求了。

于是我把onclick里面的语句修改了一下(其实直接删掉也没毛病)。

Modify onclick

然后再点一次选课。

Success

轻松加愉快。

0x02 Soha的解决方案

虽然没人会处理这种bug

后端加个判断,是否选过这门课。


如何优雅地用快捷键锁定macOS


我一直用黑果子,而且机子老,进入睡眠的速度慢,但是又有这么一个要快速锁定屏幕的需求。之前通过网上的教程,一直使用Keychain来锁屏(见下图),但通过点击的方法未免有些慢。今天总算折腾出怎么用快捷键锁屏了。

Screen Shot 2016-12-07 at 4.58.07 PM.png

先啰嗦一句,我的系统是英文的,下面诸如系统偏好设置的中文都是我随口翻译的,别太较真。

进入系统偏好设置-隐私与安全-通用里面,修改某选项为在睡眠和进入省电模式后立即要求密码。

Screen Shot 2016-12-07 at 5.01.26 PM.png

然后按下control+shift+eject(右上角的弹出键或者电源键)就可以检验成果啦!


ZenWatch 2 国行改中国版 Android Wear 到国际版


0x00 原因及注意事项

看了看国际版和中国版的区别,加上实际体验,我决定试试强改系统为国际版。啊,这个ZenWatch 2(WI501Q)才拿到手27小时……

顺便写一下我自己在使用中发现的坑爹处:

  1. ZenWatch 2有Wi-Fi硬件,中国版不提供Wi-Fi设置
  2. ZenWatch 2有扬声器硬件,中国版只能震动
  3. Android Wear有丰富的手势操作,但是中国版……

数不胜数,当然,国际版需要付出一定的代价,比如你需要在手机上安装Google各种框架,还有Play商店的Android Wear app,你的手机还需要自备梯子,要不然根本不能正常玩耍。

还有如果你需要通过连接Wi-Fi实现手机蓝牙范围之外的同步的话,你还需要一个自带梯子的无线网络,要不然不能同步。

最后一点,以下操作有风险,并会失去保修,请谨慎操作。

以下操作均在我自己的ZenWatch 2 WI501Q下保证操作成功,并且我不对阅读本文后操作导致的变砖等事故负责。

0x01 镜像说明

这个镜像是我在自己的国行Watch上历尽千辛万苦装上了Android Wear国际版后dump出来的。2016年11月26日全部更新至最新版本。

版本号们
Android Wear 1.5.0.3318117
Google Play services 10.0.84 (530-137749526)
Android OS 6.0.1
Android security patch level Sep 1st, 2016

// 点开我,里面还有许多内容!


玩容博教育电子班牌终端机


学校在每个班门前装了电子班牌,容博教育的大作。装上以后,下课的时候去那里划划点点也成了我班同学的课间娱乐项目之一(毕竟全年级七选三选了技术的都在我班)。

我从它的开机声音中听出这用的是Windows 7。于是想着哪一天带个圆形钥匙把侧盖打开(因为一个学校四五十台,不可能一台一把钥匙,肯定是插得进去转的起来的就能开锁),然后插上键盘玩玩。

而且主要功能通过HTML实现(IE kernel),然后一个不知道语言的.NET工程做框架,和NFC辅助。然后目测用了js控制右键菜单。

后来我班一同学在划划点点的时候调出了IE的右键菜单!我凑上去一看,啊,原来是缩小了以后在页面的空白区域长按屏幕找到的!在电子班牌的渲染区域外!所以绕过了js的右键菜单限制!

一切都变得好玩起来了。有了右键菜单,就有了“查看源代码”,就有了记事本。这很清真嘛。

我利用那些HTML源码里面的字符,加上复制粘贴和记事本,做了一个批处理脚本。如下

osk.exe
cmd.exe
pause

然后利用记事本的打开对话框的文件浏览器执行脚本,成功调出了屏幕键盘和命令提示符。

然后就是tasklist和taskkill,最终版本如下

osk.exe
taskkill /f /im RB_Qurey.exe
cmd.exe
pause

没错,入口程序就是"RB_Qurey.exe"英语水平就是这么6,顺便,页面中的加载的图片,拼写是“Lodaing...”。这英语我给100分。

现在只要执行这个脚本就可以杀死电子班牌了。要开回去的时候通过桌面上的开回去就行了。

权限被限制的有点死,通过组策略禁用了很多东西。接下来要做的就是利用Windows的花式漏洞来做个提权什么的。这些都是后话。

还有,系统是Windows 7 Embedded,和我的判断有些出入。

还有,他们居然删了路由表0.0.0.0等记录,只剩下几个172.0.0.0的。看样子这帮人也不是很水嘛。


2016年11月19日更新

这周我在命令提示符里输入net localgroup Administrators的时候发现,当前登陆的用户“User”就是管理员!

23333333这样子的话Administrator的密码形同虚设啊,我就去组策略里修改了一些被限制掉的东西。

不过可惜在电子班牌的vlan下没有网关,不能出网……

顺便上一张我们班的人今天用电子班牌里的画图画画的照片。

psb.jpeg

更有意思的是,高二分管校长看见了,还觉得这很好玩,可以每个班一起来个画画比赛哈哈哈哈哈哈哈哈哈哈。


自动登录浙江省高校招生考试信息管理系统


刚刚经历了浙江省的2016年10月学考选考,但不知道什么时候出成绩,于是我决定写一个自动查询的脚本。

0x00 准备

首先我打开了http://pgzy.zjzs.net:8011/login.htm,仔细观察了它的验证码。

pgzy.zjzs.net:8011

看了一下这个验证码的干扰因子很少,应该很方便识别。为了研究,我用wget下载了20个验证码。

wget http://pgzy.zjzs.net:8011/INC/VerifyCode.aspx -O $(date +%s).jpg

这里为了试验,我把20个验证码全部重命名过了。

验证码们

这里打算使用的语言是交易 3Python 3,并装好opencv和diff-match-patch。

本来想使用TensorFlow,但是我怕我在研究怎么使用它上会花费大量时间,于是使用了最机械的方法。

// 点开我,里面还有许多内容!