ios快捷指令-TUST校园网认证自动连接登录
ios快捷指令-TUST校园网认证自动连接登录

ios快捷指令-TUST校园网认证自动连接登录

1.引言

最近在学校表白墙上看到很多人说自己的ipad总是连不上校园网,不弹出认证界面,或者弹窗出现的很慢,其实我自己有时候也会遇到这个问题,很久以前就想用ios的快捷指令做一个自动登录,但是一直很忙,趁着这次机会,正好把原来立下的flag给实现了。


2.工作准备

先看一下思维导图

有了一个大概的模型,接下来就是让它落地了。

我们要使用的是快捷指令的可视化编程,这个东西看起来很简单,对零基础小白很友好,但是很多细的点却并不好操作,有很多你觉得能实现的操作根本实现不了,所以说半成品真的很坑


3.开发流程

3.1.创建自动化

详细的创建流程已经在使用指南中详细介绍过,所以此处不再赘述,我们来说一说重要的思想即可

我们要做的就是让设备检测到连接到校园网之后,开始一系列自动连接登录的步骤

一开始我是只做了一个利用POST方法提交表单的简单的步骤,后来我一想,如果是用户在源码中更改参数,就算不上自动化,我们需要做的是提高快捷指令的简洁易用性,尽量减少用户的输入,并且能在所有ios设备上顺利运行,具有可推广性

只有一款产品足够的简单易懂,让0基础的人也能在很快的时间内上手,才算是具有可推广性

因此我又详细研究了很多快捷指令的操作,以期减少用户的输入,降低快捷指令使用的难度,最终确定下来了程序的运行流程,如上面的思维导图所示

在上述步骤中,最重要的就是能把用户的输入保存在本地,并且在下次运行时直接使用本地数据作为输入,只有用户需要点击和输入的次数减少了,才算和自动化沾上了边

这里需要注意的是,我们创建的自动化是不可以被直接共享的,所以很遗憾,自动化的实现还需要用户的一些配置。同时我们在制作需要共享的自动化时,也只能暂时通过先制作快捷指令,再创建自动化,在自动化中调用快捷指令,后期再经过用户跟着使用指南进行简单的配置后,才能实现自动化

3.2.创建保存登录数据

在每回程序运行的开始,我们都要对目标表单进行检索,如果用户是第一次使用,则需要输入账号密码,账号和密码可以保存在备忘录中,第N次使用则直接提取表单中的数据进行登陆,无需输入和多余的点击

我们先来介绍如何创建保存文档

在创建一个新的快捷指令后添加操作,找到文稿

在文稿中,我们可以实现,创建,增查改,暂时还没有直接删除的操作(只能通过正则匹配再替换为空)

点击右侧的感叹号可以查看该操作的详细解释

我们先创建一个查找备忘录,在每次程序运行开头,先查找目标文档里是否有数据,根据返回的结果判断进行哪一个分支

添加查找备忘录后,先点添加过滤条件,再点正文,再选中名称,即根据备忘录名称查找

然后点击名称后面红色的任何内容,改成校园网账号,即查找名为校园网账号的备忘录

然后添加操作-脚本-如果

添加后系统会自动把上一个操作的结果赋给如果语句

点击变量“笔记”会出现对变量的详细操作

默认的备忘录的意思是,上一个变量“笔记”是以备忘录的形式传入的,也可以改成其他形式,

正文的意思是,只把备忘录的正文作为变量传入

重新命名操作可以改变变量名称,以便于后面变量的区分

显示操作,可以让你看到当前这个变量的来源,也就是这个变量的值是从哪里传入的,通常情况下,系统会自动将上一个操作的值传给下一个操作

清除变量,可以清除当前变量,清除后可以再次点击,选择要作为变量的值

魔法变量,可以将全局范围内任意可以作为变量的结果以单独小区块,高亮的形式显示出来,在操作中很常用

选择魔法变量后,其他操作模块颜色变浅,每个可用的操作的结果都会单独以高亮区块的形式出现

有了这些基础认知之后,其他的操作可以自行探索,如果一个步骤一个步骤详细介绍,文章就会过于冗杂,所以我只能介绍重点部分

更多详细使用说明可参考苹果官方文档:

https://support.apple.com/zh-cn/guide/shortcuts/welcome/ios

3.3.创建变量

变量有两个操作

设定变量,即创建一个新的变量

添加到变量,即变量的追加写,没有变量会创建变量,新写入的变量不会覆盖原有的变量

这里需要注意的是,你所创建的变量只有追加功能,不能覆盖,也不能直接删除,所以如果一个地方只能填入一个变量,而需要使用两种情况下的变量,那么你只能开启一个新的分支,把前面的操作全部重复一边,这就是很不方便的地方

3.4.数据的处理

存储进备忘录的数据并不是可以直接使用的,所以我们需要对数据进行处理

存入备忘录数据如下:

可以看到,标题和正文之间是存在换行的,换行在文本中是以\n的形式表示的,并且换行会在被读取时认为是正文中的的内容,所以我们需要通过替换文本操作,开启正则表达式,把\n替换为空,这样才能正常读取正文内容

3.5.使用POST方法提交表单

利用burp对登录页面抓包,可以发现,账号和密码都是明文传输的,这样就比较简单了,直接看有哪些参数,然后记录下常量,再填入变量,就能实现提交了

burp抓包如下

可以看到DDDDD为输入的账号,upass为输入的密码,其他均为常量,在快捷指令中直接构造POST请求以表单提交即可


4.总结

在产品的制作过程中,我们要尽量的站在用户的角度出发,想想看用户会有哪些需求,怎样能让用户愿意使用你的产品,学会换位思考,多维度思考,才能做出更好的东西。

同时,后期我们需要多收集用户的反馈,以便及时改进产品,提升用户体验