V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
richChou
V2EX  ›  信息安全

公司内网 OA 打卡,要获取一个验证码,请问如何破解?

  •  1
     
  •   richChou · 2018-05-29 12:03:01 +08:00 · 5013 次点击
    这是一个创建于 2378 天前的主题,其中的信息可能已经有所发展或是发生改变。

    限制

    • 公司内网
    • 验证码

    打卡

    请求方法
    • post
    请求头
    请求参数
    • 账号
    • 密码
    • 验证码

    验证码

    请求方法
    • get
    请求头
    请求参数
    • m= //固定参数,参数值为空
    • c=clock //固定参数
    • a=verify //固定参数
    • 10.7490850710853119= //参数名每次变化,参数值为空

    示例

    打卡
    curl "http://oa.xxxxx.com/index.php?m=^&c=clock^&a=sign" -H "Connection: keep-alive" -H "Cache-Control: max-age=0" -H "Origin: http://oa.xxxxx.com" -H "Upgrade-Insecure-Requests: 1" -H "Content-Type: application/x-www-form-urlencoded" -H "User-Agent: Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/11.0 Mobile/15A372 Safari/604.1" -H "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8" -H "Referer: http://oa.xxxxx.com/index.php?m=^&c=clock^&a=sign" -H "Accept-Encoding: gzip, deflate" -H "Accept-Language: zh-CN,zh;q=0.9" -H "Cookie: PHPSESSID=bp42ebid4vcn7l99un4dfaqb93; Hm_lvt_ba7c84ce230944c13900faeba642b2b4=1527246841,1527293074,1527470120,1527565561; current_node=null; top_menu=null; Hm_lvt_2a935166b0c9b73fef3c8bae58b95fe4=1526912592,1527246849,1527470120,1527565563; Hm_lpvt_2a935166b0c9b73fef3c8bae58b95fe4=1527565563; oa_sign_info=think^%^3A^%^7B^%^22user_id^%^22^%^3A^%^22748^%^22^%^2C^%^22day^%^22^%^3A^%^2220180529^%^22^%^7D; Hm_lpvt_ba7c84ce230944c13900faeba642b2b4=1527565858" --data "mobile_tel=18501735107^&password=152830^&verify=0" --compressed
    
    获取验证码
    curl "http://oa.xxxxx.com/index.php?m=^&c=clock^&a=verify^&10.48088215596345063" -H "Accept-Encoding: gzip, deflate" -H "Accept-Language: zh-CN,zh;q=0.9" -H "User-Agent: Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/11.0 Mobile/15A372 Safari/604.1" -H "Accept: image/webp,image/apng,image/*,*/*;q=0.8" -H "Referer: http://oa.xxxxx.com/index.php?m=^&c=clock^&a=sign" -H "Cookie: PHPSESSID=bp42ebid4vcn7l99un4dfaqb93; Hm_lvt_ba7c84ce230944c13900faeba642b2b4=1527246841,1527293074,1527470120,1527565561; current_node=null; top_menu=null; Hm_lvt_2a935166b0c9b73fef3c8bae58b95fe4=1526912592,1527246849,1527470120,1527565563; Hm_lpvt_2a935166b0c9b73fef3c8bae58b95fe4=1527565563; oa_sign_info=think^%^3A^%^7B^%^22user_id^%^22^%^3A^%^22748^%^22^%^2C^%^22day^%^22^%^3A^%^2220180529^%^22^%^7D; Hm_lpvt_ba7c84ce230944c13900faeba642b2b4=1527566302" -H "Connection: keep-alive" --compressed
    
    第 1 条附言  ·  2018-06-01 18:11:58 +08:00

    问题已解决,谢谢大家。

    33 条回复    2018-06-19 12:35:46 +08:00
    df4VW
        1
    df4VW  
       2018-05-29 12:18:58 +08:00
    从你说的。。放个树莓派远程操作下就好了
    ho121
        2
    ho121  
       2018-05-29 12:20:36 +08:00 via Android
    公司放个手机,远程操作
    bfdh
        3
    bfdh  
       2018-05-29 12:21:38 +08:00
    你手机号泄露了?

    没看明白验证码具体是怎么获取的。
    richChou
        4
    richChou  
    OP
       2018-05-29 12:34:54 +08:00 via iPhone
    @ho121
    @df4VW
    放硬件解决不优雅啊
    timwei
        5
    timwei  
       2018-05-29 12:42:26 +08:00
    10.7490850710853119= //参数名每次变化,参数值为空


    请求验证码时,这参数后端效验么?

    有效验的话你知道效验规则么?
    shoaly
        6
    shoaly  
       2018-05-29 12:46:44 +08:00
    讲真 放个树莓派应该是最温和的方法了.
    当然如果你的公司网络环境也通外网的话, 可以用 frp 之类的打个洞, 但是这样被查出来就不是优雅不优雅, 而是上升到安全不安全的高度了
    richChou
        7
    richChou  
    OP
       2018-05-29 13:08:38 +08:00
    @timwei 刚才试了下,应该不校验。这个参数可以无视了。
    richChou
        8
    richChou  
    OP
       2018-05-29 13:09:59 +08:00
    @bfdh 验证码用前三个参数 get 就可以获取了,第四个没看出来有什么作用
    woscaizi
        9
    woscaizi  
       2018-05-29 13:16:39 +08:00 via iPhone
    @zhoujunjie221 第 4 个是防止验证码缓存的,加个参数每次获取的都是新验证码。
    manhere
        10
    manhere  
       2018-05-29 13:18:47 +08:00 via Android   ❤️ 1
    这就是 thinkphp 的验证码啊
    7654
        11
    7654  
       2018-05-29 13:30:22 +08:00
    headless+截图 ocr
    OA 验证码很好识别的
    也许验证码是明文呢
    bfdh
        12
    bfdh  
       2018-05-29 13:35:06 +08:00
    写个脚步定时(加个小范围随机)跑一下?
    SourceMan
        13
    SourceMan  
       2018-05-29 13:41:20 +08:00
    自从时间戳 15 开头之后
    让好多人误会这个是手机号码
    df4VW
        14
    df4VW  
       2018-05-29 14:01:10 +08:00
    来来来,你定义下优雅

    要不要雇个 7 分程序员鼓励师每天帮你去公司签个到买了早餐再回家接你去公司?
    richChou
        15
    richChou  
    OP
       2018-05-29 14:24:31 +08:00
    @manhere 对的,谢谢老哥
    richChou
        16
    richChou  
    OP
       2018-05-29 14:25:47 +08:00
    @SourceMan 真的很像
    Felldeadbird
        17
    Felldeadbird  
       2018-05-29 15:41:22 +08:00
    软件层面解决,楼主你也需要一台 24 小时运行的机器啊。 树莓派 加打通内网。再外网 访问自己的树莓派 打卡。
    lusheldon
        18
    lusheldon  
       2018-05-29 15:45:14 +08:00 via Android
    技术用来破坏规则一点都不酷,这样做被发现了肯定是你的错。不爽可以离职,搞这点小聪明可能得不偿失。
    sbbeta
        19
    sbbeta  
       2018-05-29 15:57:07 +08:00 via Android
    突然有事要请假,然后卡就自动打上了,怎么优雅的解决这问题?
    xiejc
        20
    xiejc  
       2018-05-29 16:20:18 +08:00
    一个树莓派就能解决,vnc 远程控制
    turi
        21
    turi  
       2018-05-29 16:27:30 +08:00
    1.远程方式:电脑不关机,手机 teamview 连接上去,打开网址,打卡。
    2.编程:按照你的方式,开源的 Tesseract 好像识别率还行,不知道能不能识别你的验证码
    luoway
        22
    luoway  
       2018-05-29 16:48:11 +08:00
    @sbbeta 所以解决方案应该是远程打卡,而不是自动打卡
    Tokin
        23
    Tokin  
       2018-05-29 17:02:08 +08:00
    内网穿透试一下呢。。。问题是去哪找个不关机的设备。。。
    richChou
        24
    richChou  
    OP
       2018-05-29 17:31:44 +08:00
    @lusheldon 技术来破坏规则确实不道德,但是我们不都在努力凌驾在规则至上么?
    lusheldon
        25
    lusheldon  
       2018-05-29 17:37:54 +08:00 via Android
    @zhoujunjie221 这种并不是凌驾规则之上,而是欺骗规则,我想说的是你承担着很大的风险在做一件收益其实并没有那么大的事情。纯粹讨论技术方案的话,可以任务计划加 selenium,配合 opencv 识别验证码。
    richChou
        26
    richChou  
    OP
       2018-05-29 17:39:41 +08:00
    @df4VW
    @ho121
    @bfdh
    @timwei
    @shoaly
    @woscaizi
    @7654
    @SourceMan
    @Felldeadbird
    @lusheldon
    @sbbeta
    @xiejc
    @turi
    @luoway
    @Tokin

    感谢大家的分享,想了下,真的还是找台设备可以远程登录方便。有朋友说破坏规则不太好,其实我也有顾虑,不过事实就是这样,破坏规则获利,确实让人开心,在不伤害别人的基础上,推荐大家遇到事情都要这么做。做 IT 互联网的,还是太保守了,大家学学资本家,多赚钱让家人过上好日子才是最重要的。别有心理包袱。
    再次感谢大家。
    richChou
        27
    richChou  
    OP
       2018-05-29 17:44:04 +08:00
    @lusheldon 明白你的意思。只是突然上升了一下,让我心情有点沉重了。仍然感谢。
    xinyidao
        28
    xinyidao  
       2018-05-29 18:22:56 +08:00
    赚钱也要有底线
    A3m0n
        29
    A3m0n  
       2018-05-29 18:49:10 +08:00
    不知道有没有人发现,主题的头像为什么和题主在下面回复的头像不符?
    A3m0n
        30
    A3m0n  
       2018-05-29 18:51:03 +08:00
    richChou
        31
    richChou  
    OP
       2018-05-30 06:13:28 +08:00 via iPhone
    @A3m0n 那个参数应该是不同头像的尺寸。V 的头像同步,不一定一次把几个尺寸都同步过来
    annt123
        32
    annt123  
       2018-06-01 16:23:37 +08:00   ❤️ 1
    1.验证码绕过(下次打卡的时候看看加验证码和不加验证码返回的结果有何不同,然后将加验证码的结果替换到不加验证码的结果试试是否绕过)
    2.万能验证码尝试(试试有没有代码里有没有设置初始验证码啥的)
    3.验证码识别(冗余度比较低的可以直接建模识别)
    terrywater
        33
    terrywater  
       2018-06-19 12:35:46 +08:00
    电脑弄个 vpn,家里电脑远程连接内网,就 可以了吧
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2721 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 11:25 · PVG 19:25 · LAX 03:25 · JFK 06:25
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.