宝峰科技

 找回密码
 注册

QQ登录

只需一步,快速开始

智能终端设备维修查询系统注册会员邮箱认证须知!
查看: 4837|回复: 3

[页游辅助问题讨论] 潇潇编程综合网论坛登陆(DZ1.5)验证码校验分析

[复制链接]
  • TA的每日心情
    奋斗
    2020-6-5 22:18
  • 签到天数: 22 天

    [LV.4]偶尔看看III

    潇潇 发表于 2011-11-25 17:17:29 | 显示全部楼层 |阅读模式
    一、准备工具:
              IE
    6.0以上(操作系统自带,当然7.0或8.0都可,另外用别的浏览器都可以);
              HttpWatch或其它截包工具都可;

    二、获取验证码:

    运行IE浏览器,在IE的工具栏找到HttpWatch 的图标运行并把HttpWatch的“Recode”至开始截取数据状态。接着进入http://www.wgbcw.com/,找到密码填写框,并用鼠标单击密码框,此时在HttpWatch看到如下五条URL数据:



    而我们关键的URL就有两条:

    1、http://www.wgbcw.com/misc.php?mod=seccode&;action=update&idhash=SkVwx&inajax=1&ajaxtarget=seccode_SkVwx
    2、http://www.wgbcw.com/misc.php?mod=seccode&;update=40664&idhash=SkVwx

    在第一条URL里注意看下“Headers”、“Query String”、“Content”里数据:
    Headers:
    (Request-Line)    GET /misc.php?mod=seccode&action=update&idhash=SkVwx&inajax=1&ajaxtarget=seccode_SkVwx HTTP/1.1
    Accept    */*
    Accept-Encoding    gzip, deflate
    Accept-Language    zh-cn
    Connection    Keep-Alive
    Cookie    Axeo_2132_lastvisit=1322194608; Axeo_2132_sid=ke9EIZ; Axeo_2132_lastact=1322198217%09home.php%09misc; AJSTAT_ok_pages=1; AJSTAT_ok_times=1; cnzz_a1594557=0; sin1594557=; rtime=0; ltime=1322198587687; cnzz_eid=4837841-1322194280-; cck_lasttime=1322198588359; cck_count=0
    Host    www.wgbcw.com
    Referer    http://www.wgbcw.com/
    User-Agent    Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727; .NET CLR 3.0.04506.648; .NET CLR 3.5.21022; .NET CLR 1.1.4322)
    x-requested-with    XMLHttpRequest

    Query String:

    action    update
    ajaxtarget    seccode_SkVwx
    idhash    SkVwx
    inajax    1
    mod    seccode

    Content:
    <?xml version="1.0" encoding="gbk"?>
    <root><![CDATA[输入下面动画图片中最大的字符<br /><img width="100" height="50" src="misc.php?mod=seccode&update=40664&idhash=SkVwx" class="vm" alt="" />]]></root>

    在第二条URL里注意看下“Headers”、“Query String”、“Content”里数据:
    Headers:
    (Request-Line)    GET /misc.php?mod=seccode&update=40664&idhash=SkVwx HTTP/1.1
    Accept    */*
    Accept-Encoding    gzip, deflate
    Accept-Language    zh-cn
    Connection    Keep-Alive
    Cookie    Axeo_2132_lastvisit=1322194608; Axeo_2132_sid=ke9EIZ; Axeo_2132_lastact=1322201210%09misc.php%09seccode; AJSTAT_ok_pages=1; AJSTAT_ok_times=1; cnzz_a1594557=0; sin1594557=; rtime=0; ltime=1322198587687; cnzz_eid=4837841-1322194280-; cck_lasttime=1322198588359; cck_count=0
    Host    www.wgbcw.com
    Referer    http://www.wgbcw.com/
    User-Agent    Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727; .NET CLR 3.0.04506.648; .NET CLR 3.5.21022; .NET CLR 1.1.4322)

    Query String:
    idhash    SkVwx
    mod    seccode
    update    40664

    Content:


    从上面数据中不难看出第二条URL中的GET的数据“misc.php?mod=seccode&update=40664&idhash=SkVwx”正好是第一条URL中“misc.php?mod=seccode&action=update&idhash=SkVwx&inajax=1&ajaxtarget=seccode_SkVwx”GET的返回数据。

    那么编写代码的关键只要我们GET“misc.php?mod=seccode&action=update&idhash=SkVwx&inajax=1&ajaxtarget=seccode_SkVwx”,返回后获取“misc.php?mod=seccode&update=40664&idhash=SkVwx”,然后再GET返回的数据就是验证码图片。思路有了就不难写代码了(这里我用得易语言编写测试的,大家有兴趣的话,可以自己写写)。

    三、验证码校验:

    验证码校验无非就两种情况验证码正确与否,下面我们来看下验证码正确的情况:

    首先,在验证码框里输入当前验证码(必须正确),那么出现下面两条URL:
    1、http://www.wgbcw.com/misc.php?mod=seccode&;action=check&inajax=1&&idhash=SkVwx&secverify=EXBV

    在第一条URL里注意看下“Headers”、“Query String”、“Content”里数据:
    Headers:
    (Request-Line)    GET /misc.php?mod=seccode&action=check&inajax=1&&idhash=SkVwx&secverify=EXBV HTTP/1.1
    Accept    */*
    Accept-Encoding    gzip, deflate
    Accept-Language    zh-cn
    Connection    Keep-Alive
    Cookie    Axeo_2132_seccodeSkVwx=0b865EeE%2BfzxjC6Ic8LVnmyn9ThEGoOmRuRO%2FnbAeipWoOjZtpHbbrmx6VSQOkweiVwOcYLxaYMCTYU; Axeo_2132_lastvisit=1322194608; Axeo_2132_sid=ke9EIZ; Axeo_2132_lastact=1322210605%09misc.php%09seccode; AJSTAT_ok_times=1; cnzz_a1594557=0; sin1594557=; rtime=0; ltime=1322198587687; cnzz_eid=4837841-1322194280-; cck_lasttime=1322198588359; cck_count=0
    Host    www.wgbcw.com
    Referer    http://www.wgbcw.com/
    User-Agent    Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727; .NET CLR 3.0.04506.648; .NET CLR 3.5.21022; .NET CLR 1.1.4322)
    x-requested-with    XMLHttpRequest

    Query String:
    action    check
    idhash    SkVwx
    inajax    1
    mod    seccode
    secverify    EXBV

    Content:
    <?xml version="1.0" encoding="gbk"?>
    <root><![CDATA[succeed]]></root>

    在第一条URL里注意看下“Headers”、“Query String”、“Content”里数据:
    Headers:
    (Request-Line)    GET /static/image/common/check_right.gif HTTP/1.1
    Accept    */*
    Accept-Encoding    gzip, deflate
    Accept-Language    zh-cn
    Connection    Keep-Alive
    Cookie    Axeo_2132_seccodeSkVwx=0b865EeE%2BfzxjC6Ic8LVnmyn9ThEGoOmRuRO%2FnbAeipWoOjZtpHbbrmx6VSQOkweiVwOcYLxaYMCTYU; Axeo_2132_lastvisit=1322194608; Axeo_2132_sid=ke9EIZ; Axeo_2132_lastact=1322210622%09misc.php%09seccode; AJSTAT_ok_times=1; cnzz_a1594557=0; sin1594557=; rtime=0; ltime=1322198587687; cnzz_eid=4837841-1322194280-; cck_lasttime=1322198588359; cck_count=0
    Host    www.wgbcw.com
    If-Modified-Since    Tue, 05 Oct 2010 13:00:20 GMT
    If-None-Match    "64124a448d64cb1:30789"
    Referer    http://www.wgbcw.com/
    User-Agent    Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727; .NET CLR 3.0.04506.648; .NET CLR 3.5.21022; .NET CLR 1.1.4322)

    Query String:
    (None)    (The URL does not contain a query string)

    Content:这里显示的是以“/static/image/common/check_right.gif”为链接的正确图标;

    其次,在验证码框输入错误的验证码同样获取得两条数据:

    1、http://www.wgbcw.com/misc.php?mod=seccode&;action=check&inajax=1&&idhash=SkVwx&secverify=EX8V

    这里所截取的数据基本和上面差不多,唯一不同的关键点就是在第一条URL中的Content里显示如下:
    <?xml version="1.0" encoding="gbk"?>
    <root><![CDATA[invalid]]></root>

    而在第二条URL中则返回错误的图标链接“/static/image/common/check_error.gif”。

    从验证码校验分析来看验证码校验的关键URL是“http://www.wgbcw.com/misc.php?mod=seccode&;action=check&inajax=1&&idhash=SkVwx&secverify=”+ 验证码文本,而验证码是否正确就是看Content数据中的“succeed”和“invalid”,返回数据中是前者则验证码正确,相返,后者是错误的验证码。


    总上面所述:我们现在可以用编程工具来写验证码校验的代码了,我在测试中用了“慧星HTTP应用模块”编写,但经测试验证码刷新后有时校验正确,有时校验错误(源码略,有兴趣的朋友可根据上面的分析自己写写看)。

    所以就在找出错原因,经多次实验,当第一次打开网页时会出现下面一段关键Contentl数据如下:

    <em class="y"><a title="关闭" class="flbc" href="javascript:;">关闭</a></em>
    安全验证
    </h3>
    <span class="z"><script type="text/javascript">var ls_sechash = '';</script></span>

    <input name="sechash" type="hidden" value="SkVwx" />

    <div class="mtm mbn c"><em style="display:none">验证码</em><input name="seccodeverify" id="seccodeverify_SkVwx" type="text" autocomplete="off" style="width:100px" class="txt px vm" tabindex="904" />
    <a href="javascript:;" class="xi2">换一个</a>
    <span id="checkseccodeverify_SkVwx"><img src="static/image/common/none.gif" width="16" height="16" class="vm" /></span>
    </div><div class="pbm bbda xg1 d"><span id="seccode_SkVwx"></span>

    </div>

    在上面这段和验证码相关的数据中sechash的值“SkVwx”基本上在某个时间断都有变化,可分析后都没有找到这个隐藏区域的值怎么来得,大家有空得话也可以分析下看看……


    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有账号?注册

    x

    该用户从未签到

    小九 发表于 2011-11-30 23:24:26 | 显示全部楼层
    。占个沙发
  • TA的每日心情
    开心
    2012-4-18 06:53
  • 签到天数: 1 天

    [LV.1]初来乍到

    nwfoaf 发表于 2012-1-19 23:20:35 | 显示全部楼层
    果然是厉害

    该用户从未签到

    暖暖ng 发表于 2012-9-20 08:25:53 | 显示全部楼层
    岁月就像一条河,左岸是无法忘却的回忆,右岸是值得把握的青春年华,中间飞快流淌的是年轻隐隐的伤感。

    顶,是一种光荣












    中国绘馆联盟  hui-guan.com
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    免责声明

    本站中所有被研究的素材与信息全部来源于互联网,版权争议与本站无关。本站所发布的任何软件编程开发或软件的逆向分析文章、逆向分析视频、补丁、注册机和注册信息,仅限用于学习和研究软件安全的目的。全体用户必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。学习编程开发技术或逆向分析技术是为了更好的完善软件可能存在的不安全因素,提升软件安全意识。所以您如果喜欢某程序,请购买注册正版软件,获得正版优质服务!不得将上述内容私自传播、销售或者用于商业用途!否则,一切后果请用户自负!

    QQ|Archiver|手机版|小黑屋|联系我们|宝峰科技 ( 滇公网安备 53050202000040号 | 滇ICP备09007156号-2 )

    Copyright © 2001-2023 Discuz! Team. GMT+8, 2025-5-7 21:06 , File On Powered by Discuz! X3.49

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