挑戦する
-8桁の番号の生成と、Wi-FiルーターへのWPA2パスワードとしての週1回の自動インストール
-電子メールで新しいパスワードを送信する
-パスワードでhtmlページを作成
利用可能です
-WebサーバーがインストールされたLinux(Webサーバーはこのページ/opt/company/wifi-guest/index.htmlを返します)およびプロキシ(プロキシアドレスproxy.company.lan:3128)を介したWi-Fiポイントへのアクセス
-Wi-FiルーターTP-LINK WR1043ND(アクセスポイントアドレス
ggw.company.lan )
-smtpサーバー(サーバーアドレス10.10.10.10、発信アドレス-notificaions@company.com、受信者アドレスadmins@company.com)
かかります
-HttpFoxプラグインを備えたFirefox
-カール
-bashスクリプト
解決策
1. HttpFoxプラグインを使用して、パスワードを変更して再起動するためにブラウザーによって実行されるPOSTまたはGETリクエストを取得します。 ルーターの場合、これらは次の形式のGET要求になります。
「http://$http_url/userRpm/WlanSecurityRpm.htm?wepSecOpt = 3&wpaSecOpt = 3&wpaCipher = 1&intervalWpa = 0&secType = 3&pskSecOpt = 3&pskCipher = 1&interval = 0&Save = Save&pskecret」
そして
「http://$http_url/userRpm/SysRebootRpm.htm?Reboot = Reboot」
2. curlと上記のGETリクエストを使用して、コマンドが成功した場合にルーターが返すHTMLページを取得します。 これらのページから、コマンドの成功を判断するために一意と見なす行を取得します。 たとえば、パスワードを設定するには:
"location.href =" / userRpm / WlanSecurityRpm.htm ";"
-再起動の場合:
"<TD class = h2 id =" t_restart ">再起動しています... </ TD>"
3. bashスクリプトでこれらの値を置き換え、cronにスクリプトを含めて、週に1回実行します。
4.スクリプトの起動を手動でテストします。
5.完了!
PS:何らかの理由でsource = "bash"はスクリプトを色付けしませんでした。
更新 :脆弱なジェネレーターを修正しました。
(合計32,768個のパスワードオプションがあります):
NUMPASS_MIN=10000000 NUMPASS_MAX=99999999 NEW_WPA_PASSWORD="$(( ($RANDOM*($NUMPASS_MAX-$NUMPASS_MIN)/32767)+$NUMPASS_MIN ))"
次のようになりました(8桁のパスワードのすべてのバリエーションが可能になりました)。
NEW_WPA_PASSWORD=$( printf "%04d%04d" $(($RANDOM%10000)) $(($RANDOM%10000)) )