首页
社区
课程
招聘
[旧帖] 如何拦截网页按钮 0.00雪花
发表于: 2010-11-9 21:09 15832

[旧帖] 如何拦截网页按钮 0.00雪花

2010-11-9 21:09
15832
因为程序需要,想拦截下网页中一个提交按钮,并对拦截到的http进行分析。。。
用vc的钩子还是什么功能实现拦截网页按钮,谢谢

[课程]Android-CTF解题方法汇总!

收藏
免费 0
支持
分享
最新回复 (39)
雪    币: 397
活跃值: (352)
能力值: ( LV9,RANK:410 )
在线值:
发帖
回帖
粉丝
2
对拦截到的http进行分析?
没明白你要拦截的是事件,还是内容。
如果是内容可以写插件嵌入到浏览器里面,如果是事件,可以用vc+钩子,但应该有更简单的办法。和web交互不懂,懂的应该有办法。
2010-11-9 21:34
0
雪    币: 192
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
我再描述一下吧。
有个考试网站,如果你进入考试,点击提交按钮后会自动给出成绩,然后跳出一个正确答案的页面。只能考这一次,下次不能再考了。
设想:如果拦截住提交按钮,就不会提交到服务端,然后分析一下截获到的消息,看能不能得到正确答案页面的相关参数。
2010-11-9 21:41
0
雪    币: 397
活跃值: (352)
能力值: ( LV9,RANK:410 )
在线值:
发帖
回帖
粉丝
4
先httpwatch抓包看原理,然后再IE Filter过滤,BHO,hook socket send ,hook spi ... 方法多了。
2010-11-9 22:40
0
雪    币: 254
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
晕死,你是没开窍吧?问题和答案是不同时出现的,你要发答案过去服务器对比答案,然后返回结果。
根本没机会得到答案
2010-11-9 23:56
0
雪    币: 1577
活跃值: (25)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
6
我觉得,你的想法是很贪婪,但不现实。。

第一,作为答案,只会存放在本地或者服务器端,作为WEB开发的,不会笨到把答案放到本地上把?

第二,要是这个作者真能把答案放到本地上了,可以搜。。应该一般都用JS的了。。
2010-11-10 00:09
0
雪    币: 192
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
可能是我表达得不好。
意思是我进入考试后,啥都不做直接提交,当然这是第一次提交先拦截住,然后分析拦截住的信息,看能不能得到正确答案页面网址的参数,如果得到了就像服务端发出正确答案网页的请求。然后迅速把答案抄到现在试卷页面,然后点提交(这次当然不拦截了)。
谢谢各位帮忙看下,究竟怎样拦截
2010-11-10 09:30
0
雪    币: 192
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
我当然知道答案不在客户端,但是试卷跟正确答案页面肯定存在某种对应关系的,只要我找到了当前正确答案页面的参数,我是不是可以自己像服务器发出正确答案页面的请求啊,这样我就可以抄正确答案了。。。
2010-11-10 09:32
0
雪    币: 255
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
多看看楼上的!就明白了!
2010-11-10 11:26
0
雪    币: 109
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
要是找正确答案页面信息的话,httpanalysis之类的工具就够了吧
而且个人认为提交的答案多半是经过判断后再转向对应的页面的,估计计分是和判断同时的,那光得到正确答案页面有啥用
2010-11-10 11:30
0
雪    币: 192
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
怎么会没用?有了正确答案就可以抄过去,然后提交啊,这样不就100分了。因为第一次被拦截了,所以并不会在服务端记录下来,第二次提交就不再拦截了。。。
请回答问题的同志注意看我的描述。。。不好意思,我表达能力有所欠缺
2010-11-10 15:17
0
雪    币: 109
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
楼主……你在客户端上拦截爆了也获取不上答案的……学习下Web方面的知识吧……
2010-11-10 16:35
0
雪    币: 109
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
顺便说明下验证流程:
C=客户端(浏览器)
S=服务的(Web Server)
C提交答案到S,S验证答案将结果返回给C……
2010-11-10 16:37
0
雪    币: 1
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
14
你是 发包 给服务器   你拦截你自己发的包  找正确答案啊

你就给他拦哭了 你都找不着

作弊就不好了嘛
2010-11-10 16:41
0
雪    币: 192
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
15
楼上各位高人说的道理我都明白啊,你们没明白我的意思。
我的意思是,正常情况下正确答案页面和成绩是由提交按钮发出请求的,所以在服务端会记录下已经考试的状态。而现在我的想法是,先拦截下提交按钮的这个请求,然后自己发出正确页面的请求,这样不就可以看到答案了?注意,我拦截下这个请求,里面必然包含了试卷答案的相关信息,譬如我们的网址一般是由网址+若干参数,只要我们分析出参数了,不就可以自己向服务端发出这个请求吗?
但愿我的表述让各位高人理解了,也希望各位在回复时,仔细看看我前面的描述,3Q
2010-11-13 10:37
0
雪    币: 364
活跃值: (56)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
16
严谨的程序会做验证,如果没有把你自己的答案发过去的,他是不会发过来的.

提交一般是post,用的那个web页面post,你可以看本地的源码,发送了什么信息,可以用上面的大牛给的工具。你的思路很好,但是不一定可行
2010-11-13 11:17
0
雪    币: 349
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
17
HTTPdebug
2010-11-15 16:50
0
雪    币: 4
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
18
你发出去的包没有到服务器,服务器是不会返回正确信息的

你还不如找一个其他同学的名字先登录,然后点击提交,得到正确答案后再用你自己的名字发送
2010-11-16 08:51
0
雪    币: 68
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
19
不过就是个表单按钮...找页面源代码中的form段...form的action指向的就是提交地址..比如是action=upload.php...意思就是数据提交到upload.php后这个文件会把你提交的表单数据在某个对应的数据库里进行查询对比...数据库地址和用户名密码都在upload.php里...而这个upload.php的源码你是看不到的...所以你对这个数据库一无所知...而对比过程是在服务器端进行...这个过程不在你的电脑上...所以在你自己的电脑上就算神仙也拦截不到...数据库查询完毕后的数据会返回给一个php页面进行处理...查询匹配的给一分..不匹配的计0分...然后加和得到你的总得分...然后经服务器返回给你(也就是客户端)...这么说你能理解你为啥不能直接获得正确答案了么...

至于只能提交一次...有多种实现方式...比如用cookie或者session记录你的IP或者用户名以及上次提交时间...这个是可以破解的...关网页断session,换ip,删cookie,重新打开页面登录就行了....也有不可以破解的...比如服务器会记录你的用户名和上次登录时间..每次你提交查询的时候会在服务器里对比...这你就没法本地破解了...

所以对于楼主说的情况...最乐观的情形就是: 考试答案对比之类的全在页面js里...破解js就行了...但是这样的网页代码肯定是娱乐性质的...如果是正规考试根本不可能出现....只会比我想到的那种最复杂的验证方式还要复杂...你唯一的出路就是抓到服务器漏洞进数据库...这些都不是挂个系统钩子拦截点http包就能实现的...你得从一个完全不同的角度去想办法...
2010-11-16 10:44
0
雪    币: 68
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
20
另提醒: 改动别人的数据库是犯法地...未经允许进入某些数据库也是会被抓地...望三思而后行...
2010-11-16 10:49
0
雪    币: 192
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
21
最近重新找了些资料,应该在客户端拦截http请求。根据查到的资料要用到CHtmlView或者HtmlListener,如果有误请大家指点。。。先解决拦截http请求的问题吧
2010-11-18 21:55
0
雪    币: 192
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
22
哪位大牛熟悉http编程的给指点一下,其实就是截获http请求,让按钮提交了但是没效果,让程序发出http请求。。。叩谢
2010-11-24 08:49
0
雪    币: 207
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
23
最近正好做这方面的研究自己费了九牛二虎之力终于找到了关于这方面的知识现在共享下
2010-11-27 00:04
0
雪    币: 16
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
24
别想得太简单了,哪里有这么好弄的答案,比如:判断题(1代表对,0代表错)
1.国庆节是9月1日()
2.元旦是1月1日()
提交页面考试答案时向服务器发送:name(考试人员)+01(第一题是0,第二题是1)
服务器收到数据时会查询数据库有没有这个名字
如果不存在则不作评分,后面的答案判断可能不会执行,直接向客户发送错误信息
如果存在则进行评分和记录你的考试成绩并向客户端发送你的考试结果

这样你根本没有办法对你的成绩进行修改
还有试题是在试题库随机抽选出来的,第一次和第二次出的题不可能重合的
2010-11-27 00:49
0
雪    币: 16
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
25
认同,如果答案是在客户端进行较对,只能算是自娱自乐
2010-11-27 01:01
0
游客
登录 | 注册 方可回帖
返回
//