美文网首页黑客黑客
我是如何通过python爬虫爬取全校人信息

我是如何通过python爬虫爬取全校人信息

作者: 黑战士安全 | 来源:发表于2020-04-10 19:19 被阅读0次

在开始之前给大家说明下《网络安全法》

所以我这次仅供技术学习使用

所获得的信息已经彻底删除

在实验过程中没有任何的破坏性行为

且在完成了第一时间就把漏洞的所有细节上报给校方

在文章发布之前

漏洞就已经得到了修复

首先我们来看下爬取的效果

这个本来是想做一个Qt图形化界面的

但是随后发现这个界面的代码量可能要比爬虫本体还多

所以就没写了

但是不影响它使用

现在正在爬取的就是某学生的历次成绩情况

然后用表格输出到这文本文件

可以看出各种数据经过处理后展现的都非常详尽了

 这个是全校学生的名单

有专业和班级信息

至于身份证号、户籍、手机号等更加敏感的信息

其实也是可以获得的

在技术上甚至更容易实现

这个我们后面再说

但是我没有这样做

因为之前说了

这只是一次实验,没有必要去获取大家敏感信息

这个请大家相信我

   现在这个界面就是学校的教务网

有一天我跟平常一样打开了这个网站

进了学生课表查询就到了这个界面

突然发现我作为普通用户

居然可以查询到所有学院的课表

于是我就考虑能否使用爬虫进行批量查询

之后我查看了网页的html源码

发现是如下内容:

并没有之间的文本信息

接着又想起了之前抢选修课的时候

服务器卡的要死

所以大概知道了这东西是动态的

然后就去查了一些资料

然后大概能确定它使用的是叫做ajax的前端技术

能在不改变网页url情况下

在线对服务器发起请求

然后服务器返回的文本

经过前端脚本的渲染展示出来

既然它还是要对数据库服务器发送请求

那就必然要遵守http协议对吧

所以就考虑分析了一下在请求中的http方法和所提交的内容

看一下有什么地方能进行人为的修改

于是就通过F12就看到请求的所有报文

观察到提交的DATA表中可以修改查询的数目

于是我们把修改的所有报文,用YAML格式读取到python中 

再复制下浏览器的cookie

就可以像浏览器一样,向服务器发送请求

服务器返回来的信息是用json格式存的

由于变量名都是拼音缩写(首字母)

所以它们的各自含义都不难猜出

这个时候我们也可以把它拉到python里进行接码

再简单地整理一下信息

就可以获得全校学生的姓名、学号等个人信息了

但是由于机缘巧合下,我发现response记录了每个学员的身份码

大胆猜测有了这个码,就可以伪造其他学员的身份进行信息提取

于是我写了脚本

单独做了从姓名或学号到身份证号码的映射

用了差不多的方法,在成绩查询页面伪装出了身份

做出来就是下面的效果

比较危险的就是通过这个码,甚至可以在学籍信息页面,在无需提交任何数据情况下,只需要用一个GET请求就可以

获得到每个学员的更加隐私信息

所以,这就很可怕了,这些都是最简单的网络技术

却能把一个教务网的信息爬到这种程度

看来显示总网络安全体系的建设还任重而道远

最后再次呼吁大家不要滥用技术

学习信息安全的目的是为了保护信息

希望和大家共同进步

如果这篇文章有帮到你,请帮我点个赞!

谢谢大家

相关文章

网友评论

    本文标题:我是如何通过python爬虫爬取全校人信息

    本文链接:https://www.haomeiwen.com/subject/awedmhtx.html