开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 6251|回复: 38
打印 上一主题 下一主题
收起左侧

[求助] 验证码图片获取 + post登录token及协yi头

[复制链接]
结帖率:81% (22/27)
跳转到指定楼层
楼主
发表于 2018-10-6 13:46:42 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式   山东省淄博市
最近遇到两个网站POST登录的问题,请高手解答:
1验证码图片获取的问题。如图,验证码网址为一大串数字(简称A),经查阅为BASE64加密的图片数据,解密后却无法生成图片,而且A的尺寸远小于验证码图片尺寸。请问如何获取正确的验证码,望指教。

2.另一个网站的登录。如图,验证码网址含有#,怀疑为JS函数,经详细查找网页JS文本,可见为客户Duan生成验证码,亦即客户Duan验证,可是post登录时,提交的数据却有 验证码文本。
    (1)请问服务器如何验证post提交的验证码?
    (2)之后每次post请求,前都有一个OPTIONS请求,经查阅为嗅探预检,其发送数据为空,只有附加协yi头稍有差异,请问OPTIONS请求如何传递数据、是否必需?
    (3)post提交数据后,网页会返回一个token,而之后的各种post请求,发送数据均无token(甚至为空),而且抓包显示COOKIES均为空,按照F12(IE)抓包提交访问,均失败(返回空)。细查post协yi头,referer网址里有#,怀疑是JS加密token信息,请问如何解决?网页JS字符数40W,相当难搞


补充内容 (2018-10-6 14:26):
问题1已解决。问题2网址:http://pems.zbpe.gov.cn/#login

验证码.png (71.26 KB, 下载次数: 0)

验证码.png

网站登录.png (61.48 KB, 下载次数: 0)

网站登录

网站登录

网站登录_验证码.png (77.55 KB, 下载次数: 0)

网站登录_验证码.png
结帖率:81% (22/27)
来自 2楼
 楼主| 发表于 2018-10-9 13:44:22 | 只看该作者   山东省淄博市
经仔细查找分析,终于全部找到答案了。现分享给大家:
1.该访问需要OPTIONS访问,进行嗅探预检,缺少的话无法得到正确结果。按照抓包进行即可,这里面需要注意的是关键协yi头Access-Control-Request-Headers
2.POST访问抓包里,可以抓到一个TOKEN,貌似后面没有用到这个TOKEN,在抓包里也搜索不到,问题的关键就在这。经细查发现,抓到TOKEN的包里,最后注明了TOKEN的类型为Bearer,经cha询,这可能是一类独特的TOKEN,参见https://www.cnblogs.com/XiongMaoMengNan/p/6785155.html
改写协yi头为:协yi头=“Authorization: Bearer ”+token即可。
尽管POST访问抓包里没有这个项目,但需要我们手动改写,之后的各类访问均需此协yi头,以此确定访问身份和权限,即可得到正确结果。

回复 支持 反对

使用道具 举报

结帖率:100% (19/19)
板凳
发表于 2018-10-6 13:48:37 | 只看该作者   河北省唐山市
这50jb花的不亏啊。
回复 支持 反对

使用道具 举报

结帖率:81% (22/27)
地板
 楼主| 发表于 2018-10-6 13:49:25 | 只看该作者   山东省淄博市
sunsir 发表于 2018-10-6 13:48
这50jb花的不亏啊。

楼上此话怎讲?
回复 支持 反对

使用道具 举报

结帖率:91% (21/23)
地下
发表于 2018-10-6 13:57:42 | 只看该作者   广东省广州市
OPTIONS  可以不用管
a图片验证码,使用base64解码,即可生成图片
#这个符号正常来说也不用,cookies处理好就行了
回复 支持 反对

使用道具 举报

结帖率:81% (22/27)
6
 楼主| 发表于 2018-10-6 14:01:59 | 只看该作者   山东省淄博市
你由我解决 发表于 2018-10-6 13:57
OPTIONS  可以不用管
a图片验证码,使用base64解码,即可生成图片
#这个符号正常来说也不用,cookies处理 ...

1.   base64解码后的字节集,不是一张图片,图片框显示空白,而且解码后的字节集长度,与验证码图片尺寸相差甚远啊。
2.如前所说,抓包显示cookies自始至终都是空啊
回复 支持 反对

使用道具 举报

7
发表于 2018-10-6 14:04:31 | 只看该作者   浙江省杭州市
去问答区问吧,那里有人会

评分

参与人数 1精币 -1 收起 理由
易正易则 -1 再灌水就举报你进小黑屋

查看全部评分

回复 支持 反对

使用道具 举报

8
发表于 2018-10-6 14:05:00 | 只看该作者   浙江省杭州市
以前做过 现在忘了
回复 支持 反对

使用道具 举报

结帖率:81% (22/27)
9
 楼主| 发表于 2018-10-6 14:05:22 | 只看该作者   山东省淄博市
诚星 发表于 2018-10-6 14:04
去问答区问吧,那里有人会

这不就是问答区吗?
回复 支持 反对

使用道具 举报

结帖率:0% (0/2)
10
发表于 2018-10-6 14:07:55 | 只看该作者   江苏省苏州市

解码用 编码_BASE64解码A() 就好了
给你解决了一半的问题 那就给一半的精币吧
哈哈哈
  
子程序名返回值类型公开备 注
_按钮1_被单击  
变量名类 型静态数组备 注
str文本型 
json类_json 
imageStr文本型 
str = 到文本 (网页_访问_对象 (“http://haoren.dc.10086.cn/hrhs/sendImageCode.do?channelId=3×tamp=1538805559294”))
json.解析 (str)
imageStr = json.取通用属性 (“result.imageStr”)
图片框1.图片 = 编码_BASE64解码A (到字节集 (imageStr))




补充内容 (2018-10-6 14:11):
返回来的文本还有个cookies 也要取出来 估计登录的时候要用  来判断验证码是否输入的正确
回复 支持 1 反对 0

使用道具 举报

结帖率:91% (21/23)
11
发表于 2018-10-6 14:08:31 | 只看该作者   广东省广州市
茫然 发表于 2018-10-6 14:01
1.   base64解码后的字节集,不是一张图片,图片框显示空白,而且解码后的字节集长度,与验证码图片尺寸 ...

图片解码出来不对,只能说你方法用错了
回复 支持 反对

使用道具 举报

  高级模式
B Color Image Link Quote Code Smilies |上传

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报QQ: 793400750,邮箱:[email protected]
网站简介:精易论坛成立于2009年,是一个程序设计学习交流技术论坛,隶属于揭阳市揭东区精易科技有限公司所有。
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

快速回复 返回顶部 返回列表