万圣节的服装,万人万相,不只是单调的大鬼小鬼。制作最简单的鬼服就用一张白床单顶在头上,抠两个洞留出眼睛。
老客网全自动群发软件,宣传推广的专业务员都知道这个网站吧,老油条了,可是网站太多人试号,弄了一个极验证码来了,其实这种验证码被解码,已经不是什么神马秘密了吧,稍有点技术人的都能解开,不过能一些小菜们还是有道拦路虎吧,今天我们来随便提一提这个古老,而又新鲜的验证码吧,说它古老是因为很早以前就有平台把这种码验算出来了。说的新鲜,那对于不会破解这种验证码的人,还是很新奇的一次体验才对。只要有一次经验,往后遇到类似这种验证码,应该也算是一种手到擒来的便宜事吧,今天我们讲一讲真正的有价值的货物吧。
这个教程太大了,我这里就不上传了。有需要的朋友可以联系我QQ拿,不收费,免费。不能用来做坏事哦。
做出这种验证码也是极简单的一次旅程,
主要分为三步,
抓包,做识别,做POST登陆。
首先我们要做的是抓包:
先抓包,然后找到关键验证码数据。
一般是这样的包,一般的码可以找到这用这个查询。
13729471ed8a011f309d86832df9e639
{"success":1,"gt":"13729471ed8a011f309d86832df9e639","challenge":"ded6629d7b2abe07640d6ad8ed168568"}
这种是比较菜的写法,查询这个就可以找到哪一个链接出来的。
查询到是这个出来的
http://www.laoke.com/getcaptcha.aspx那就用GET。
{"success":1,"gt":"13729471ed8a011f309d86832df9e639","challenge":"48abbf7ea11e857b568fc9b1f8b03691"}采集出这个验证码。
这二个是识别验证码要用到的,所以需要保存为变量,这个不能直接访问,有的网站并不是这么容易找到,但这个比较简单网站。
用软件表达出来就是:利用GET,把参数获取到,
<% keyID=POST动作-1523
{GET}
<网址>http://www.laoke.com/getcaptcha.aspx</网址>
<COOKIE>自动</COOKIE>
<HTTP头>自动</HTTP头>
<数据解码>GBK</数据解码>
<存入变量>OST返回数据</存入变量>
{/GET}
%>
这里就GET验证码,出来参数:
{"success":1,"gt":"13729471ed8a011f309d86832df9e639","challenge":"48abbf7ea11e857b568fc9b1f8b03691"}
然后我们用软件去采集功能,把参数采集出来,其中这个是gt变量,一会我们调用的是这个[gt]还有这个challenge一会调用的是这个[challenge]这二个有点技术的网站会隐藏起来的,但这个没有,说明什么,你懂的哈。
<% keyID=采集-4492
{万能采集}
<规则>
<要采集的数据>[POST返回数据]</要采集的数据>
<分割代码></分割代码>
<结果中含有></结果中含有>
<结果中不含有></结果中不含有>
<开始部分>"gt":"</开始部分>
<结束部分>"</结束部分>
<查找></查找>
<替换为></替换为>
<采集补全><采集结果></采集补全>
<结果存入>变量</结果存入>
<存入>gt</存入>
</规则>
<规则>
<要采集的数据>[POST返回数据]</要采集的数据>
<分割代码></分割代码>
<结果中含有></结果中含有>
<结果中不含有></结果中不含有>
<开始部分>"challenge":"</开始部分>
<结束部分>"</结束部分>
<查找></查找>
<替换为></替换为>
<采集补全><采集结果></采集补全>
<结果存入>变量</结果存入>
<存入>challenge</存入>
</规则>
<备注>challenge</备注>
{/万能采集}
%>
然后就是用这段极验的专用API代码去做训别了。
http://jiyanapi.c2567.com/shibie?gt=[gt]&challenge=[challenge]&referer=http://www.laoke.com/member/login.aspx&user=自己的账=自己的密码urn=json&model=2&format=utf8代码放去去做识别GET一下就行了
这个图是参数说明,可以对照看看的。
<% keyID=POST动作-7489
{GET}
<网址>http://jiyanapi.c2567.com/shibie?gt=[gt]&challenge=[challenge]&referer=http://www.laoke.com/member/login.aspx&user=自己账号&pass=自己的密码&return=json&model=2&format=utf8</网址>
<COOKIE>自动</COOKIE>
<HTTP头>自动</HTTP头>
<数据解码>UTF-8</数据解码>
<存入变量>OST返回数据</存入变量>
<备注>识别</备注>
{/GET}
%>
然后测试一下,HTTP/1.1 200 OK
Date: Thu, 18 Oct
2018 14:45:59 GMT
Content-Type:
text/plain; charset=utf-8
Content-Length:
110
Connection: close
Server:
yunjiasu-nginx
CF-RAY:
46bbca96a0354cea-CSX
{"status":"ok","challenge":"683186e3d803d909e61352818dda4f539y","validate":"61d72efca8847e65368e9a406ab5d39a"}
识别成功会这样显示的。
然后采回来识别结果,账号密码照填成自己的。
<% keyID=采集-5525
{万能采集}
<规则>
<要采集的数据>[POST返回数据]</要采集的数据>
<分割代码>:"ok","challenge":"</分割代码>
<结果中含有></结果中含有>
<结果中不含有></结果中不含有>
<开始部分></开始部分>
<结束部分>"</结束部分>
<查找></查找>
<替换为></替换为>
<采集补全><采集结果></采集补全>
<结果存入>变量</结果存入>
<存入>challenge</存入>
</规则>
<规则>
<要采集的数据>[POST返回数据]</要采集的数据>
<分割代码>"validate":"</分割代码>
<结果中含有></结果中含有>
<结果中不含有></结果中不含有>
<开始部分></开始部分>
<结束部分>"</结束部分>
<查找></查找>
<替换为></替换为>
<采集补全><采集结果></采集补全>
<结果存入>变量</结果存入>
<存入>validate</存入>
</规则>
{/万能采集}
%>
POST /member/login.aspx HTTP/1.1
Host: www.laoke.com
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:32.0) Gecko/20100101 Firefox/32.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: zh-cn,zh;q=0.8,en-us;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate
Referer: http://www.laoke.com/member/login.aspx
Cookie: ASP.NET_SessionId=sokmqibfvxiqoqq0bnxyzsbz; Hm_lvt_469023a5f5db630a2df6d6395483890c=1539872828; Hm_lpvt_469023a5f5db630a2df6d6395483890c=1539873037
Connection: keep-alive
Content-Type: application/x-www-form-urlencoded
Content-Length: 605
__VIEWSTATE=%2FwEPDwULLTIxMzg0ODg3NjgPFgIeBHBhdGhlZBgBBR5fX0NvbnRyb2xzUmVxdWlyZVBvc3RCYWNrS2V5X18WAQUJYXV0b2xvZ2lujmMP4jiX34oyvszTI4Xb3ChlS%2FrjHuDd6jTCghq0iic%3D&__EVENTVALIDATION=%2FwEdAAWl6RRK60vbSJnF7uYMEVut3OGoFV0wH4BWjvO52fnz3e4sciJO3Hoc68xTFtZGQEggOoR1LgwDXhESEq1MLT8KP1jLJHiqNfRsonZfptdXU2BuVfaiI7UYKAlRT5nkMJzgaN%2FX28ziwyrLzC2BsOEj&email=qiangsh36%40163.com&password=dfgfdsg21&geetest_challenge=ded6629d7b2abe07640d6ad8ed168568fm&geetest_validate=1d7fd9aa39f4ae3d839416de2d998afe&geetest_seccode=1d7fd9aa39f4ae3d839416de2d998afe%7Cjordan&autologin=on&Button2=%E7%99%BB%E3%80%80%E5%BD%95
<% keyID=采集-4347
{万能采集}
<规则>
<要采集的数据>[网页源码]</要采集的数据>
<分割代码></分割代码>
<结果中含有></结果中含有>
<结果中不含有></结果中不含有>
<开始部分><input type="hidden" name="__EVENTVALIDATION" id="__EVENTVALIDATION" value="/</开始部分>
<结束部分>"></结束部分>
<查找></查找>
<替换为></替换为>
<采集补全>%2F<采集结果></采集补全>
<结果存入>变量</结果存入>
<存入>EVENTVALIDATION</存入>
</规则>
<规则>
<要采集的数据>[网页源码]</要采集的数据>
<分割代码></分割代码>
<结果中含有></结果中含有>
<结果中不含有></结果中不含有>
<开始部分>name="__VIEWSTATE" id="__VIEWSTATE" value="/</开始部分>
<结束部分>"></结束部分>
<查找></查找>
<替换为></替换为>
<采集补全>%2F<采集结果></采集补全>
<结果存入>变量</结果存入>
<存入>VIEWSTATE</存入>
</规则>
<备注>VIEWSTATE</备注>
{/万能采集}
%>
EVENTVALIDATION像这种变量名称可以自定义。
1d7fd9aa39f4ae3d839416de2d998afe|jordan
&geetest_seccode=1d7fd9aa39f4ae3d839416de2d998afe%7Cjordan
这二个是相等的
到这里就做完了识别了。
现在测试一下。
<html><head><title>Object
moved</title></head><body>
<h2>Object
moved to <a
href="http://www.laoke.com/">here</a>.</h2>
</body></html>
<html><head><title>Object
moved</title></head><body>
<h2>Object
moved to <a
href="http://www.laoke.com/">here</a>.</h2>
</body></html>
查看一下,抓的包是一模一样的返回,这里是转向的意思,可以不用理,然后我们可以写入一下缓存,看看有没有登陆成功,按道理这样是成功了的。
看到了吧,这样实际就是登陆成功了的意思了。到这里就完工了。
其实这些全程可以POST,不过比较麻烦,要是配合网页,那就简单许多,这个网站也是比较简单的。
<%
keyID=POST动作-8006
{POST}
<网址>http://www.laoke.com/member/login.aspx</网址>
<COOKIE>自动</COOKIE>
<HTTP头>自动</HTTP头>
<OST数据>__VIEWSTATE=[VIEWSTATE] 网站加密变量
&__EVENTVALIDATION=[EVENTVALIDATION] 网站加密变量
&email=q546666736%40163.com 这个是账号
&password=46634554321 这个是亲你的密码
&geetest_challenge=[challenge] 识别验证码锁
&geetest_validate=[validate] 验证码结果锁
&geetest_seccode=[validate]%7Cjordan 验证码对应的锁和钥匙
&autologin=on
&Button2=%E7%99%BB%E3%80%80%E5%BD%95</POST数据>
<数据解码>UTF-8</数据解码>
<存入变量>POST返回数据</存入变量>
<备注>登陆</备注>
{/POST}
%>
▲网站LOGO存在的名片截图▲:
▲这个软件的界面截图和整个软件代码是这样的▲:
<% keyID=打开网址77394
{打开网址}
<URL>http://www.laoke.com/member/login.aspx</URL>
<备注></备注>
{/打开网址}
%>
<% keyID=倒计时-21385
{倒计时}<秒>3</秒>{/倒计时}
%>
<% keyID=老客账号密码28584
{切换列表}
<列表集合>
老客账号|否|下一行|0|
</列表集合>
<备注>老客账号密码28584</备注>
{/切换列表}
%>
<% keyID=采集-4347
{万能采集}
<规则>
<要采集的数据>[网页源码]</要采集的数据>
<分割代码></分割代码>
<结果中含有></结果中含有>
<结果中不含有></结果中不含有>
<开始部分><input type="hidden" name="__EVENTVALIDATION" id="__EVENTVALIDATION" value="/</开始部分>
<结束部分>"></结束部分>
<查找></查找>
<替换为></替换为>
<采集补全>%2F<采集结果></采集补全>
<结果存入>变量</结果存入>
<存入>EVENTVALIDATION</存入>
</规则>
<规则>
<要采集的数据>[网页源码]</要采集的数据>
<分割代码></分割代码>
<结果中含有></结果中含有>
<结果中不含有></结果中不含有>
<开始部分>name="__VIEWSTATE" id="__VIEWSTATE" value="/</开始部分>
<结束部分>"></结束部分>
<查找></查找>
<替换为></替换为>
<采集补全>%2F<采集结果></采集补全>
<结果存入>变量</结果存入>
<存入>VIEWSTATE</存入>
</规则>
<备注>VIEWSTATE</备注>
{/万能采集}
%>
<% keyID=POST动作-1523
{GET}
<网址>http://www.laoke.com/getcaptcha.aspx</网址>
<COOKIE>自动</COOKIE>
<HTTP头>自动</HTTP头>
<数据解码>GBK</数据解码>
<存入变量>OST返回数据</存入变量>
{/GET}
%>
<% keyID=采集-4492
{万能采集}
<规则>
<要采集的数据>[POST返回数据]</要采集的数据>
<分割代码></分割代码>
<结果中含有></结果中含有>
<结果中不含有></结果中不含有>
<开始部分>"gt":"</开始部分>
<结束部分>"</结束部分>
<查找></查找>
<替换为></替换为>
<采集补全><采集结果></采集补全>
<结果存入>变量</结果存入>
<存入>gt</存入>
</规则>
<规则>
<要采集的数据>[POST返回数据]</要采集的数据>
<分割代码></分割代码>
<结果中含有></结果中含有>
<结果中不含有></结果中不含有>
<开始部分>"challenge":"</开始部分>
<结束部分>"</结束部分>
<查找></查找>
<替换为></替换为>
<采集补全><采集结果></采集补全>
<结果存入>变量</结果存入>
<存入>challenge</存入>
</规则>
<备注>challenge</备注>
{/万能采集}
%>
<% keyID=POST动作-7489
{GET}
<网址>http://jiyanapi.c2567.com/shibie?gt=[gt]&challenge=[challenge]&referer=http://www.laoke.com/member/login.aspx&user=自己账号&pass=自己的密码&return=json&model=2&format=utf8</网址>
<COOKIE>自动</COOKIE>
<HTTP头>自动</HTTP头>
<数据解码>UTF-8</数据解码>
<存入变量>OST返回数据</存入变量>
<备注>识别</备注>
{/GET}
%>
<% keyID=采集-5525
{万能采集}
<规则>
<要采集的数据>[POST返回数据]</要采集的数据>
<分割代码>:"ok","challenge":"</分割代码>
<结果中含有></结果中含有>
<结果中不含有></结果中不含有>
<开始部分></开始部分>
<结束部分>"</结束部分>
<查找></查找>
<替换为></替换为>
<采集补全><采集结果></采集补全>
<结果存入>变量</结果存入>
<存入>challenge</存入>
</规则>
<规则>
<要采集的数据>[POST返回数据]</要采集的数据>
<分割代码>"validate":"</分割代码>
<结果中含有></结果中含有>
<结果中不含有></结果中不含有>
<开始部分></开始部分>
<结束部分>"</结束部分>
<查找></查找>
<替换为></替换为>
<采集补全><采集结果></采集补全>
<结果存入>变量</结果存入>
<存入>validate</存入>
</规则>
{/万能采集}
%>
<% keyID=POST动作-8006
{POST}
<网址>http://www.laoke.com/member/login.aspx</网址>
<COOKIE>自动</COOKIE>
<HTTP头>自动</HTTP头>
<OST数据>__VIEWSTATE=[VIEWSTATE]
&__EVENTVALIDATION=[EVENTVALIDATION]
&email=dfghidan21736%40163.com
&password=l1dfgdfg554321
&geetest_challenge=[challenge]
&geetest_validate=[validate]
&geetest_seccode=[validate]%7Cjordan
&autologin=on
&Button2=%E7%99%BB%E3%80%80%E5%BD%95</POST数据>
<数据解码>UTF-8</数据解码>
<存入变量>OST返回数据</存入变量>
<备注>登陆</备注>
{/POST}
%>
<% keyID=倒计时-84505
{倒计时}<秒>20</秒>{/倒计时}
%>
<% keyID=设置浏览器缓存17403
{设置浏览器缓存}
<缓存值>[COOKIE缓存]</缓存值>
{/设置浏览器缓存}
%>
<% keyID=老客网址89783
{切换列表}
<列表集合>
老客网址|否|下一行|0|
</列表集合>
<备注></备注>
{/切换列表}
%>
<% keyID=打开网址22362
{打开网址}
<URL>{获取列表值}老客网址|老客网|自动{/获取列表值}</URL>
<备注></备注>
{/打开网址}
%>
<% keyID=倒计时-68885
{倒计时}<秒>3</秒>{/倒计时}
%>
<% keyID=输入23436
{输入}
<框架定位类型>序号</框架定位类型>
<框架定位值></框架定位值>
<定位类型>ID</定位类型>
<定位值>Title</定位值>
<元素序号>0</元素序号>
<输入值>{获取列表值}品牌通用|名称|自动{/获取列表值}{获取列表值}老壳网|标题|自动{/获取列表值}</输入值>
<输入类型>value</输入类型>
<限制字数>0</限制字数>
<备注>标题</备注>
{/输入}
%>
<% keyID=下拉选择27075
{下拉选择}
<框架定位类型>序号</框架定位类型>
<框架定位值></框架定位值>
<定位类型>ID</定位类型>
<定位值>Ctype</定位值>
<元素序号>0</元素序号>
<选择序号>3</选择序号>
<备注></备注>
{/下拉选择}
%>
<% keyID=老壳338459
{切换列表}
<列表集合>
老壳网|否|下一行|0|
老壳2|否|下一行|0|
老壳3|否|下一行|0|
</列表集合>
<备注></备注>
{/切换列表}
%>
<% keyID=倒计时-6888562
{倒计时}<秒>3</秒>{/倒计时}
%>
<% keyID=输入26375
{输入}
<框架定位类型>序号</框架定位类型>
<框架定位值></框架定位值>
<定位类型>ID</定位类型>
<定位值>Remark</定位值>
<元素序号>0</元素序号>
<输入值>{获取列表值}老壳网|标题|自动{/获取列表值}{获取列表值}老壳2|文章|自动{/获取列表值}{获取列表值}老壳3|新闻|自动{/获取列表值}</输入值>
<输入类型>value</输入类型>
<限制字数>0</限制字数>
<备注>文章新闻</备注>
{/输入}
%>
<% keyID=上传文件99165
{上传文件}
<框架定位类型>序号</框架定位类型>
<框架定位值></框架定位值>
<定位类型>坐标</定位类型>
<定位值>{X=227,Y=429}{SX=0,SY=300}</定位值>
<元素序号>0</元素序号>
<点击方式>模拟鼠标</点击方式>
<文件路径>{获取列表值}图片路径通用|图片|自动{/获取列表值}</文件路径>
<备注></备注>
{/上传文件}
%>
<% keyID=倒计时-688856290
{倒计时}<秒>3</秒>{/倒计时}
%>
<% keyID=下拉选择22769
{下拉选择}
<框架定位类型>序号</框架定位类型>
<框架定位值></框架定位值>
<定位类型>ID</定位类型>
<定位值>M_Sq</定位值>
<元素序号>0</元素序号>
<选择序号>1</选择序号>
<备注></备注>
{/下拉选择}
%>
<% keyID=倒计时-68885629054
{倒计时}<秒>3</秒>{/倒计时}
%>
<% keyID=下拉选择54866
{下拉选择}
<框架定位类型>序号</框架定位类型>
<框架定位值></框架定位值>
<定位类型>ID</定位类型>
<定位值>M_Dq</定位值>
<元素序号>0</元素序号>
<选择序号>[随机整数1-8]</选择序号>
<备注></备注>
{/下拉选择}
%>
<% keyID=倒计时-688856288
{倒计时}<秒>3</秒>{/倒计时}
%>
<% keyID=点击16667
{点击}
<框架定位类型>序号</框架定位类型>
<框架定位值></框架定位值>
<定位类型>ID</定位类型>
<定位值>Button1</定位值>
<元素序号>0</元素序号>
<点击方式>元素点击</点击方式>
<等待新窗体>False</等待新窗体>
<允许新窗口>False</允许新窗口>
<备注>确定发布</备注>
{/点击}
%>
<% keyID=点击69068
{点击}
<框架定位类型>序号</框架定位类型>
<框架定位值>5</框架定位值>
<定位类型>ID</定位类型>
<定位值>Button3</定位值>
<元素序号>0</元素序号>
<点击方式>元素点击</点击方式>
<等待新窗体>False</等待新窗体>
<允许新窗口>False</允许新窗口>
<备注></备注>
{/点击}
%>
<% keyID=动作跳转15893
{动作跳转}
<当>直接跳转</当>
<条件>包含</条件>
<值></值>
<跳转到>keyid=老客网址89783</跳转到>
<跳转频率>3</跳转频率>
<备注>动作跳转15893</备注>
{/动作跳转}
%>
<% keyID=清空浏览器缓存66039
{清空浏览器缓存}
<模式>稳定模式</模式>
{/清空浏览器缓存}
%>
<% keyID=动作跳转1589374
{动作跳转}
<当>直接跳转</当>
<条件>包含</条件>
<值></值>
<跳转到>keyid=打开网址77394</跳转到>
<跳转频率>18</跳转频率>
<备注>动作跳转15893</备注>
{/动作跳转}
%>
亲你有YYPOST直接复制过去脚本区里,直接就可以运行了的这个代码。下载的事都免了,应该很高兴了吧
欢迎光临 信息发布软件,b2b软件,广告发布软件 (http://www.postbbs.com/) | Powered by Discuz! X3.2 |