ãã°ã¤ã³æ å ±ãèªåå ¥åããããã¯ãã¼ã¯ã¬ããã®ä½ãæ¹
Webãã¼ã¸ã®å ¥åæ å ±ãèªã¿åã
- ä¸è¨ãã¼ã¸ã§ä»¥ä¸ã®AppleScriptãå®è¡ããã¨...
tell application "Safari"
activate
do JavaScript "(function(d, s, r, url_key, inputs, options, i){
url_key=d.location.protocol.replace(/[^A-Za-z]/g,'_')+'__'+d.location.hostname.replace(/[^A-Za-z]/g,'_')+d.location.pathname.replace(/\\W/g,'_');
inputs=d.getElementsByTagName('input');
options=d.getElementsByTagName('option');
for(i=0;i<inputs.length;i++){
if(inputs[i].type!='hidden'&&inputs[i].type!='image'&&inputs[i].type!='button'){
s.push(eval('('+'{type: \"'+inputs[i].type+'\", id: \"'+inputs[i].id+'\", name: \"'+inputs[i].name+'\", value: \"'+inputs[i].value+'\", checked: '+inputs[i].checked+', index: \"'+i+'\"}'+')'));
}
}
for(i=0;i<options.length;i++){
if(options[i].selected){
s.push(eval('('+'{type: \"option\", name: \"'+options[i].name+'\", value: \"'+options[i].value+'\", selected: '+options[i].selected+', index: \"'+i+'\"}'+')'));
}
}
r[url_key]=s;
return r;
})(document,[],{})" in document 1
end tell
- URLããã¼ã¨ããã以ä¸ã®ã¬ã³ã¼ããè¿ã£ã¦ããã
{
https___healthcare_mb_softbank_jp_pc_assets_setup_web_explanation_input_php:{
{checked:false, |id|:"telno3", value:"00012345678", type:"text", |name|:"", |index|:"0"},
{checked:false, |id|:"passwd", value:"1234", type:"password", |name|:"passwd", |index|:"1"},
{|index|:"3", value:"4", type:"option", |name|:"undefined", selected:true}
}
}
- URLããã¼ã«ãã¦ã以ä¸3é
ç®ã®ãã©ã¼ã ã®æ
å ±ãé
åã¨ãã¦ä¿æãã¦ããã
- ä½çµæè¨ã®é»è©±çªå·ï¼ããã¹ããã£ã¼ã«ãï¼
- ã¦ã¼ã¶ã¼çªå·ï¼ãã«ãã¦ã³ãªã¹ãï¼
- æè¨¼çªå·ï¼ãã¹ã¯ã¼ããã£ã¼ã«ãï¼
èªåå ¥åããJavaScript
- ä¸è¨AppleScriptã¬ã³ã¼ãã¯ã以ä¸ã®ãããªJSONã«å¤æã§ããã
{ https___healthcare_mb_softbank_jp_pc_assets_setup_web_explanation_input_php:[ {checked:false, id:"telno3", value:"00012345678", type:"text", name:"", index:"0"}, {checked:false, id:"passwd", value:"1234", type:"password", name:"passwd", index:"1"}, {index:"3", value:"4", type:"option", name:"undefined", selected:true} ] }
- ããã¦ãä¸è¨JSONãå©ç¨ãã¦ãèªåå ¥åããJavaScriptã³ã¼ããèãã¦ã¿ãã
(function(){ var json={ https___healthcare_mb_softbank_jp_pc_assets_setup_web_explanation_input_php:[ {checked:false, id:"telno3", value:"00012345678", type:"text", name:"", index:"0"}, {checked:false, id:"passwd", value:"1234", type:"password", name:"passwd", index:"1"}, {index:"3", value:"4", type:"option", name:"undefined", selected:true} ] }; var url_key=document.location.protocol.replace(/[^A-Za-z]/g,'_')+'__'+document.location.hostname.replace(/[^A-Za-z]/g,'_')+document.location.pathname.replace(/\W/g,'_'); var j=json[url_key]; for(var i=0;i<j.length;i++){ if(j[i].type=='text'||j[i].type=='password'){ if(document.getElementsByName(j[i].name).length > 0){ document.getElementsByName(j[i].name)[0].value=j[i].value }else{ document.getElementById(j[i].id).value=j[i].value } }else if(j[i].type=='radio'||j[i].type=='checkbox'){ document.getElementsByTagName('input')[j[i].index].checked=j[i].checked }else if(j[i].type=='option'){ if(document.getElementsByTagName('option')[j[i].index].value==j[i].value){ document.getElementsByTagName('option')[j[i].index].selected=j[i].selected } } } alert('auto_login works!'); })()
- ããã¯ãã¼ã¯ã¬ããã¨ãããã...
- Closure Compiler Serviceã§å§ç¸®ãã
- æ¹è¡ãåé¤ãã
- ã³ã¼ãå é ã«"javascript:"ã追è¨ãã¦ã¿ãã
javascript:(function(){for(var b={https___healthcare_mb_softbank_jp_pc_assets_setup_web_explanation_input_php:[{checked:!1,id:"telno3",value:"00012345678",type:"text",name:"",index:"0"},{checked:!1,id:"passwd",value:"1234",type:"password",name:"passwd",index:"1"},{index:"3",value:"4",type:"option",name:"undefined",selected:!0}]}[document.location.protocol.replace(/[^A-Za-z]/g,"_")+"__"+document.location.hostname.replace(/[^A-Za-z]/g,"_")+document.location.pathname.replace(/\W/g,"_")],a=0;a<b.length;a++)"text"==b[a].type||"password"==b[a].type?0<document.getElementsByName(b[a].name).length?document.getElementsByName(b[a].name)[0].value=b[a].value:document.getElementById(b[a].id).value=b[a].value:"radio"==b[a].type||"checkbox"==b[a].type?document.getElementsByTagName("input")[b[a].index].checked=b[a].checked:"option"==b[a].type&&document.getElementsByTagName("option")[b[a].index].value==b[a].value&&(document.getElementsByTagName("option")[b[a].index].selected=b[a].selected);alert("auto_login works!")})();
- ä¸è¨ã³ã¼ããããã¯ãã¼ã¯ã¬ããã¨ãã¦ä¿åããå ç¨ã®ä¾ã®ãã¼ã¸ãéãã¦å®è¡ãã¦ã¿ãã¨...
- ä¾ï¼https://healthcare.mb.softbank.jp/pc/assets/setup/web_explanation_input.php
è¦äºï¼å ã©ããã«å ¥åãããï¼
å®å ¨ã®åé¡
- 以ä¸ããããã¯ãã¼ã¯ã¬ãããå©ç¨ãã¦èªåå ¥åããåºæ¬ã®ã³ã¼ãã§ããã
- AppleScriptã§å ¥åæ å ±ãåéãã¦ãä¸è¨ã®ãããªJavaScriptã³ã¼ããèªåçæããããã«ããã°ãiPhoneãiPadã§ãèªåå ¥åãå¯è½ã«ãªãã
- Safariãèªåå ¥åãã¦ãããªããã¼ã¸ã§ãããã®ããã¯ãã¼ã¯ã¬ãããªãèªåå ¥åãã¦ããããï¼å¯è½æ§å¤§ï¼
- ããã«ããã«ãã¦ã³ãªã¹ãããã§ãã¯ããã¯ã¹ã»ã©ã¸ãªãã¿ã³ã®ç¶æ ãèªåå ¥åã§ããã®ã ã
ãããããã®ããã¯ãã¼ã¯ã¬ããããã®ã¾ã¾ä½¿ãã®ã¯å±éºã§ããï¼
- è¦ã¦ã®ã¨ãããã³ã¼ãã®ä¸ã«ãã¹ã¯ã¼ããªã©ã®éè¦ãªæ å ±ããã®ã¾ã¾ä¿åããã¦ããã
- ãããããã®ããã¯ãã¼ã¯ã¬ãããä½ããã®åå ã§å¤é¨ã«æ¼æ´©ããã¨ã䏿£ãã°ã¤ã³ãç°¡åã«å®è¡ã§ãã¦ãã¾ãã
- ãã®ãã¼ã¸ã¯ã¹ãã¼ãä½çµæè¨ã®ãã¼ã¸ãªã®ã§å¤§ããå®å®³ã¯ãªãããï¼ä½éãèèªã®è¨æ¸¬å¤ãè¦ãããã ãï¼
- ä»®ã«éèæ©é¢ã®ãã¼ã¸ã®ãã°ã¤ã³æ å ±ã ã¨ãçãç®ã«éãå¯è½æ§å¤§ã
éè¦ãªæ å ±ã¯æå·åãã¦ãããªããã°ãªããªãã®ã ï¼
- æå·åãå®ç¾ããã³ãã³ãã¨JavaScriptã©ã¤ãã©ãªãæ¢ãã¦ã¿ãã
opensslã³ãã³ãã®ç°å¢
- OSX 10.9.4ã«æ¨æºã¤ã³ã¹ãã¼ã«ããã¦ããopensslã³ãã³ãã®ãã¼ã¸ã§ã³ã¯ã0.9.8yã
$ openssl version
OpenSSL 0.9.8y 5 Feb 2013
- å··ãé¨ãããopensslã®ãã°"Heartbleed"ã¯ãopenssl 1.0.1ã1.0.1fã«å«ã¾ããã
- ãã£ã¦ãOSXæ¨æºã¤ã³ã¹ãã¼ã«ãããopnessl 0.9.8yã«ã¯ããã°ã¯åå¨ããªãã
- 仮㫠openssl 1.0.1ã1.0.1fãå©ç¨ãã¦ããå ´åã¯ã1.0.1gã¸ã¢ãããã¼ãããã
-
-
- åèãã¼ã¸ï¼opensslã®ãã¼ã¸ã§ã³ç¢ºèªã¨ã¢ãããã¼ã(Heartbleed対å¿) - Qiitaï¼æè¬ã§ãï¼ï¼
-
opensslã³ãã³ãã§æå·åãã
- ä¾ï¼æåå"hello world!!"ã"1234"ã¨ãããã¹ã¯ã¼ãã§æå·åãããã¦ã¿ãã
- æå·åã«ãã£ã¦ãè¦ããªãæåã³ã¼ãã«å¤æããã¦ãã¾ãã¨ã¿ã¼ããã«åºåã§ç¢ºèªã§ããªãã
- -a = -base64ãªãã·ã§ã³ãããã§ã¯base64夿ã§ç¢ºå®ã«è¦ããæåã«ãã¦åºåãã¦ã¿ãã
$ echo 'hello world!!' | openssl enc -e -a -salt -aes-256-cbc -pass pass:1234
U2FsdGVkX1/ViT/1pTYv4dZsujl2feiy8Wuq72NlWCI=
enc | å ±ééµã«ããæå·å |
---|---|
-e | ã¨ã³ã³ã¼ãããï¼æå·åããï¼ |
-d | ãã³ã¼ãããï¼å¾©å·åããï¼ |
-aï¼-base64ï¼ | base64ã¨ã³ã³ã¼ãã»ãã³ã¼ããæå¹ã«ãã |
-salt | éµçæã«ã¼ãã³ã§ã½ã«ããå©ç¨ãããç¹ã«çç±ï¼0.9.5以åã¨ã®äºææ§ãç¶æããçï¼ããªãéãã-saltã¯å¿ ãæå®ãã¦ããã¹ãã |
-aes-256-cbc | ç¹ã«çç±ï¼æå·åã»å¾©å·åã®å¦çã¹ãã¼ãã®åé¡ãªã©ï¼ããªãéããéµé·ãæãé·ã-aes-256-cbcã鏿ãã¦ãããæ¹ãè¯ãããã |
-
-
- åèãã¼ã¸ï¼OpenSSL Manual Translation - enc(1)ï¼æè¬ã§ãï¼ï¼
-
- ä»åº¦ã¯ãæå·åãããâU2FsdGVkX1/ViT/1pTYv4dZsujl2feiy8Wuq72NlWCI=âã復å ãã¦ã¿ãã
$ echo U2FsdGVkX1/ViT/1pTYv4dZsujl2feiy8Wuq72NlWCI= | openssl enc -d -a -salt -aes-256-cbc -pass pass:1234 hello world!!
å ã®æåå"hello world!!"ã復å ã§ããï¼
JavaScriptã§å¾©å·åãã
æå·æãããã¯ãã¼ã¯ã¬ããã«å«ããå ´åãããã復å·ããããã®JavaScriptãå¿ è¦ã«ãªããå½åãäºã¤ã®AES JavaScriptã©ã¤ãã©ãªãè¦ã¤ããã
JavaScript Implementation of AES Advanced Encryption Standard in Counter Mode | Movable Type Scripts
- ãã®ã©ã¤ãã©ãªã¯ãAES-CTRï¼CounTeRï¼ã«ã¦ã³ã¿ï¼ã¢ã¼ãã®æå·åã»å¾©å·åãè¡ãã
- ã©ã¤ã»ã³ã¹ã¯ãã¯ãªã¨ã¤ãã£ãã»ã³ã¢ã³ãºã»ã©ã¤ã»ã³ã¹ï¼CCã©ã¤ã»ã³ã¹ï¼ã
- ãµã³ãã«ï¼
<!DOCTYPE html> <html lang="ja"> <head> <meta charset="utf-8"> <title>aes-256-ctrãµã³ãã«</title> </head> <body> <p>åæã: hello world!!</p> <p id="encrypted_text">0</p> <p id="decrypted_text">0</p> </body> <!-- AES implementation in JavaScript(c) Chris Veness 2005-2014 --> <script src="http://www.movable-type.co.uk/scripts/js/crypto/aes.js">/* AES JavaScript implementation */</script> <script src="http://www.movable-type.co.uk/scripts/js/crypto/aes-ctr.js">/* AES Counter Mode implementation */</script> <script type="text/javascript"> var encrypted = Aes.Ctr.encrypt("hello world!!", "1234", 256); document.getElementById('encrypted_text').innerText = "æå·å: " + encrypted; var decrypted = Aes.Ctr.decrypt(encrypted, "1234", 256); document.getElementById('decrypted_text').innerText = "復å·å: " + decrypted; </script> </html>
- ä¸è¨ã³ã¼ãããã¡ã¤ã«å"aes_ctr.html"ã§ä¿åãã¦ãéãã¦ã¿ãã¨...
åæã: hello world!! æå·å: xwHwoweU3FMNRuMVxVY1bVG3qJNP 復å·å: hello world!!
- opensslã³ãã³ãã¨ã®äºææ§
- OSX 10.9.4ã«æ¨æºã¤ã³ã¹ãã¼ã«ãããOpenSSL 0.9.8yã¯ãaes-ctrã«å¯¾å¿ãã¦ããªãã
- 䏿¹ãHomebrewã§ã¤ã³ã¹ãã¼ã«ããOpenSSL 1.0.1hã§ã¯ãaes-ctrã«å¯¾å¿ãã¦ããã
- ããããåãaes-ctrã§ãããªããããã®JavaScriptã©ã¤ãã©ãªã¨opensslã³ãã³ãç¸äºã®æå·åã»å¾©å·åãã§ããªãã
- ä¾ï¼opensslã³ãã³ãã§æå·åãããã®ãããã®JavaScriptã©ã¤ãã©ãªã§è¤ååã§ããªãã£ã...ãï¼ãªãã ããï¼Saltã®æ±ãã®éãï¼ï¼
- ãã¨ãäºææ§ããªãã¦ãããã®JavaScriptã©ã¤ãã©ãªã§æå·åããã°åé¡ãªã復å·åã§ããã®ã§ãèºèºããå¿ è¦ã¯ãªãã
crypto-js - JavaScript implementations of standard and secure cryptographic algorithms - Google Project Hosting
- ãã®ã©ã¤ãã©ãªã¯ãAES-256-CBCï¼Cipher Block Chainingï¼æå·ãããã¯é£éï¼ã¢ã¼ãã®æå·åã»å¾©å·åãè¡ãã
- èªã¿è¾¼ãã©ã¤ãã©ãªï¼ãã¡ã¤ã«ï¼ã«ãã£ã¦ãAES-256-CBC以å¤ã«ãæ§ã ãªæå·åã«å¯¾å¿ãã¦ããããã ã
- ã©ã¤ã»ã³ã¹ã¯ãNew BSD Licenseï¼ä¿®æ£BSDã©ã¤ã»ã³ã¹ï¼ã
- ãµã³ãã«ï¼
<!DOCTYPE html> <html lang="ja"> <head> <meta charset="utf-8"> <title>aes-256-cbcãµã³ãã«</title> </head> <body> <p>åæãããããã: hello world!!</p> <p id="encrypted_text">0</p> <p id="decrypted_text_bin">0</p> <p id="decrypted_text_utf8">0</p> </body> <script src="http://crypto-js.googlecode.com/svn/tags/3.1.2/build/rollups/aes.js"></script> <script type="text/javascript"> var encrypted = CryptoJS.AES.encrypt("hello world!!", "1234"); document.getElementById('encrypted_text').innerText = "æå·åããããã: " + encrypted; var decrypted_bin = CryptoJS.AES.decrypt(encrypted, "1234"); document.getElementById('decrypted_text_bin').innerText = "復å·ãæåã³ã¼ã: " + decrypted_bin; var decrypted_utf8 = decrypted_bin.toString(CryptoJS.enc.Utf8); document.getElementById('decrypted_text_utf8').innerText = "復å·ãUTFï¼ã: " + decrypted_utf8; </script> </html>
- ä¸è¨ã³ã¼ãããã¡ã¤ã«å"aes_cbc.html"ã§ä¿åãã¦ãéãã¦ã¿ãã¨...
åæãããããã: hello world!! æå·åããããã: U2FsdGVkX1/jmFp4MNDcqnb8zmD/3GB+xSEWuEs+qnI= 復å·ãæåã³ã¼ã: 68656c6c6f20776f726c642121 復å·ãUTFï¼ã: hello world!!
- opensslã³ãã³ãã¨ã®äºææ§
- OSX 10.9.4ã«æ¨æºã¤ã³ã¹ãã¼ã«ãããOpenSSL 0.9.8yã¨ãå®å ¨ãªäºææ§ãããã
- 試ãã«ãä¸è¨ã§æå·åãããã®ãopensslã³ãã³ãã§å¾©å·åãã¦ã¿ãã¨...
$ echo U2FsdGVkX1/jmFp4MNDcqnb8zmD/3GB+xSEWuEs+qnI= | openssl enc -d -a -salt -aes-256-cbc -pass pass:1234 hello world!!
- ãã®éãç¶ã...
$ echo 'hello world!!' | openssl enc -e -a -salt -aes-256-cbc -pass pass:1234 U2FsdGVkX1/ZwwQ3vwuYHqYvPDhfAKria033cuKWHEs=
åæãããããã: hello world!! æå·åããããã: U2FsdGVkX1/ZwwQ3vwuYHqYvPDhfAKria033cuKWHEs= 復å·ãæåã³ã¼ã: 68656c6c6f20776f726c6421210a 復å·ãUTFï¼ã: hello world!!
ã©ã¡ãããã¡ããã¨å¾©å·åã§ããï¼
ãã°ã¤ã³æ å ±ãæå·åãã
- 以ä¸ã®æå·åãã¼ã«ãæ´»ç¨ãã¦ããã°ã¤ã³æ
å ±ãæå·åãã¦ã¿ãã
- opensslã³ãã³ãã§ãã°ã¤ã³æ å ±ãæå·åãã¦ããã¯ãã¼ã¯ã¬ããã³ã¼ãã«çµã¿è¾¼ã¿ã
- crypto-jsJavaScriptã©ã¤ãã©ãªã§ããã¯ãã¼ã¯ã¬ããå®è¡æã«å¾©å·ããã®ã ã
- ä½åãªæ¹è¡ãåé¤ãããã°ã¤ã³æ å ±ã®ããã¹ãã
'{https___healthcare_mb_softbank_jp_pc_assets_setup_web_explanation_input_php:[{checked:false, id:"telno3", value:"00012345678", type:"text", name:"", index:"0"}, {checked:false, id:"passwd", value:"1234", type:"password", name:"passwd", index:"1"}, {index:"3", value:"4", type:"option", name:"undefined", selected:true}]}'
- ä¸è¨ããã¹ããaes-256-cbcã§æå·åãã¦ã¿ãã
- ãã¹ã¯ã¼ãï¼MSTER_PASSã§æå·åãã¦ãbase64ã¨ã³ã³ã¼ããã¦ã¿ãã
$ echo -n '{https___healthcare_mb_softbank_jp_pc_assets_setup_web_explanation_input_php:[{checked:false, id:"telno3", value:"00012345678", type:"text", name:"", index:"0"}, {checked:false, id:"passwd", value:"1234", type:"password", name:"passwd", index:"1"}, {index:"3", value:"4", type:"option", name:"undefined", selected:true}]}' | openssl enc -e -salt -aes-256-cbc -pass pass:MSTER_PASS | base64
U2FsdGVkX1/uT2sjZl3uT43ciqzmXYZpB8mwYxMpyGk0EN/Gz0hzixJ4+Js2mU68qOWohJmpPGgr5g1+eaxL8aeLh+ooMgxXYLZozYUhWaJ99+0+tKV9GDarpbOMrfA6zE8hvCy62XChqZZINsPOA7G3KuFs54+BKNXFqKbsyA2f0MciDxQcmZgeTC8ci+rS1WZHyTMK5EPh6GhPK/QpoejG1JdXpcGdV94pN7R8flpT4iyMdGdbCfSeL7xjnmZs3BMvc5S50VZEtIdsD9BCeixQFf7GCZvuTJH4zxQHoPZMLc1T85ReBliiya9PvHcD6VfxTk4iuvodqIAC3J/pF5IP5fEhR/24XOZ/5gcEa92u8HulCp0LgfAeUxrgABo0a+ELvpysYBKQmwuTNU9ssFh9QA841RXvLh/JUnQAE8YTksS27PF50nhZap6C1OC5rOIRvIdrTgSgImjQ6TxhiA==
- æå·åããããã°ã¤ã³æ
å ±ãå©ç¨ããããã¯ãã¼ã¯ã¬ããã«ä¿®æ£ãã¦ã¿ãã
- JavaScriptã©ã¤ãã©ãªããã¼ãããæéãèæ ®ãã¦ãsetTimeoutã§0.5ç§å¾ æ©ãã¦ããå®è¡ãã¦ããã
- ãããã¯ã¼ã¯ç°å¢ããã©ã¦ã¶ã®æ§è½ã«ãã£ã¦ãããå¤ãã®å¾ æ©æéãå¿ è¦ã«ãªããããããªãã
(function(){ //JavaScriptã©ã¤ãã©ãªããã¼ã var e=document.createElement('script'); e.src='//crypto-js.googlecode.com/svn/tags/3.1.2/build/rollups/aes.js'; document.body.appendChild(e); setTimeout(function(){ //æå·åãã°ã¤ã³æ å ±ã復å·ãã var passwd_raw=prompt('auto_login Password',''); var json_text_cipher='U2FsdGVkX1/uT2sjZl3uT43ciqzmXYZpB8mwYxMpyGk0EN/Gz0hzixJ4+Js2mU68qOWohJmpPGgr5g1+eaxL8aeLh+ooMgxXYLZozYUhWaJ99+0+tKV9GDarpbOMrfA6zE8hvCy62XChqZZINsPOA7G3KuFs54+BKNXFqKbsyA2f0MciDxQcmZgeTC8ci+rS1WZHyTMK5EPh6GhPK/QpoejG1JdXpcGdV94pN7R8flpT4iyMdGdbCfSeL7xjnmZs3BMvc5S50VZEtIdsD9BCeixQFf7GCZvuTJH4zxQHoPZMLc1T85ReBliiya9PvHcD6VfxTk4iuvodqIAC3J/pF5IP5fEhR/24XOZ/5gcEa92u8HulCp0LgfAeUxrgABo0a+ELvpysYBKQmwuTNU9ssFh9QA841RXvLh/JUnQAE8YTksS27PF50nhZap6C1OC5rOIRvIdrTgSgImjQ6TxhiA=='; var json_text=CryptoJS.AES.decrypt(json_text_cipher, passwd_raw).toString(CryptoJS.enc.Utf8); var json=eval('('+json_text+')'); //URLã«å¯¾å¿ãããã°ã¤ã³æ å ±ãåãåºã var url_key=document.location.protocol.replace(/[^A-Za-z]/g,'_')+'__'+document.location.hostname.replace(/[^A-Za-z]/g,'_')+document.location.pathname.replace(/\W/g,'_'); var j=json[url_key]; //èªåå ¥åãã for(var i=0;i<j.length;i++){ if(j[i].type=='text'||j[i].type=='password'){ if(document.getElementsByName(j[i].name).length > 0){ document.getElementsByName(j[i].name)[0].value=j[i].value }else{ document.getElementById(j[i].id).value=j[i].value } }else if(j[i].type=='radio'||j[i].type=='checkbox'){ document.getElementsByTagName('input')[j[i].index].checked=j[i].checked }else if(j[i].type=='option'){ if(document.getElementsByTagName('option')[j[i].index].value==j[i].value){ document.getElementsByTagName('option')[j[i].index].selected=j[i].selected } } } alert('auto_login works!'); }, 500);//setTimeout })()
- ããã¯ãã¼ã¯ã¬ããä¸ã«å«ã¾ããã®ã¯æå·åããããã°ã¤ã³æ å ±ã§ããã
- ãã°ã¤ã³æ å ±ã復å·ããããã®ãã¹ã¿ã¼ãã¹ã¯ã¼ãã®å ¥åããæ¯åå¿ è¦ã«ãªããã
- ãã¨ãæ¼æ´©ããã¨ãã¦ãããã¹ã¯ã¼ããç¥ããªãéãã䏿£å©ç¨ã¯ã§ããªãã®ã ã
ããã§ãã°ã¤ã³æ å ±ã¯æå·åãããå®å ¨ã«ãªã£ãï¼
ãã¹ã¿ã¼ãã¹ã¯ã¼ãã®ç §å
- ããã§ããã¯ãã¼ã¯ã¬ããã¯å®å ¨ã«ãªã£ãããä¸ã¤åé¡ãçºçããã
- ãã¹ã¿ã¼ãã¹ã¯ã¼ããæ£ãããã°æ£å¸¸ã«èªåå ¥åãããã®ã ãã©ã
- ãã¹ã¿ã¼ãã¹ã¯ã¼ããééã£ã¦ããã¨ãä½ã®ãªã¢ã¯ã·ã§ã³ããªãã
- ä»®ã«ãã¹ã¯ã¼ããéã£ã¦ããå ´åã¯ããã¹ã¯ã¼ããéãã¾ãããããã®åºåãããããã®ã ã
- ç §åããããã«ã¯ãæ£ãããã¹ã¿ã¼ãã¹ã¯ã¼ããã©ããã«ä¿åãã¦ããå¿ è¦ãããã
- ã¨ããããã©ããã«ä¿åããã¨ããããæ¼æ´©ããã¨ãã®å±éºæ§ãæ°ã«ãªãã
- ã§ãããã¨ãªãããã¹ã¿ã¼ãã¹ã¯ã¼ãã¯ã©ãã«ãä¿åããã«ãç §åããã®ããã¹ãã
- ã§ã¯ãæ£ãããã¹ã¿ã¼ãã¹ã¯ã¼ããç¥ãããã¦ãæ£èª¤å¤å®ããæ¹æ³ãªãã¦ããã®ãï¼
ããã·ã¥å¤ã使ãã¨ããããã§ããï¼
ããã·ã¥å¤ã®ç¹æ§
- åæããããã·ã¥å¤ãç´ æ©ãæ±ãããã¨ã¯ã§ãããã
- ããã·ã¥å¤ããåæãæ¨æ¸¬ãããã¨ã¯ç¸å½å°é£ãï¼ç¾ç¶ã¯ä¸å¯è½ï¼
- åæãåãå
容ãªããå¿
ãåä¸ã®ããã·ã¥å¤ã«ãªãã
- 1æåã§ãéã£ã¦ããã¨ããã®å¤ã¯å¤§ããå¤åããã
- ä¸è¨ã®ç¹æ§ãå©ç¨ããã¨ãã§ããã¹ã¯ã¼ãã®ç
§åãå®å
¨ã«è¡ããã¨ãã§ããã
- ãã¹ã¯ã¼ãã¯åæãä¿åããããã®ããã·ã¥å¤ãä¿åãã¦ããã
- ã¦ã¼ã¶ã¼ããã¹ã¯ã¼ãå ¥åãããããã®ããã·ã¥å¤ãè¨ç®ããã
- ä¸è¨1.ã¨2.ã®ããã·ã¥å¤ã®ä¸è´ã確èªããã°ãå ¥åããããã¹ã¯ã¼ããæ£ããã¨å¤å®ã§ããã
- ä»®ã«ããã·ã¥å¤ãæ¼æ´©ãã¦ãããã¹ã¯ã¼ãåæã¯æ¨æ¸¬ã§ããªãã®ã§å®å
¨ãªã®ã ã
- 䏿¹ããã¹ã¯ã¼ãåæãä¿åãã¦ããå ´åã¯ããããæ¼æ´©ããæã«å¤§åé¡ã«ãªãã
opensslã³ãã³ãã§sha256ããã·ã¥å¤ãåå¾ãã
- sha256ãå©ç¨ãã¦ãã¹ã¿ã¼ãã¹ã¯ã¼ãã®ç
§åãè¡ããã¨ã«ããã
- sha1ããsha256ã¸ã®ç§»è¡ãæ¨å¥¨ããã¦ãããããsha256ãå©ç¨ããã
$ echo -n 1234 | openssl dgst -sha256
03ac674216f3e15c761ee1a5e255f067953623c8b388b4459e13f978d7c846f4
JavaScriptã§sha256ããã·ã¥å¤ãåå¾ãã
sha256ããã·ã¥ãè¨ç®ããJavaScriptã©ã¤ãã©ãªã§ã試ãã¦ã¿ãã
user1.matsumoto.ne.jp/~goma/js/sha1.js
- ãµã³ãã«ã³ã¼ã
<!DOCTYPE html> <html lang="ja"> <head> <meta charset="utf-8"> <title>SHA-256ãµã³ãã«</title> </head> <body> <p>åæãããããã: 1234</p> <p id="encrypted_text">0</p> </body> <script src="http://user1.matsumoto.ne.jp/~goma/js/sha256.js"></script> <script type="text/javascript"> var encrypted = sha256.hex("1234"); document.getElementById('encrypted_text').innerText = "sha256ããããã: " + encrypted; </script> </html>
- ä¸è¨ãµã³ãã«ã³ã¼ããSafariã§éãã¦ã¿ãã¨...
åæãããããã: 1234 sha256ããããã: 03ac674216f3e15c761ee1a5e255f067953623c8b388b4459e13f978d7c846f4
crypto-js - JavaScript implementations of standard and secure cryptographic algorithms - Google Project Hosting
- ãµã³ãã«ã³ã¼ã
<!DOCTYPE html> <html lang="ja"> <head> <meta charset="utf-8"> <title>sha256ãµã³ãã«</title> </head> <body> <p>åæãããããã: 1234</p> <p id="encrypted_text">0</p> </body> <script src="http://crypto-js.googlecode.com/svn/tags/3.1.2/build/rollups/sha256.js"></script> <script type="text/javascript"> var encrypted = CryptoJS.SHA256("1234"); document.getElementById('encrypted_text').innerText = "sha256ããããã: " + encrypted; </script> </html>
- ä¸è¨ãµã³ãã«ã³ã¼ããSafariã§éãã¦ã¿ãã¨...
åæãããããã: 1234 sha256ããããã: 03ac674216f3e15c761ee1a5e255f067953623c8b388b4459e13f978d7c846f4
opensslã³ãã³ãã»Javascriptã©ã¤ãã©ãªããããã®ããã·ã¥å¤ãåä¸ã®å¤ã ï¼
sha256ã§ãã¹ã¿ã¼ãã¹ã¯ã¼ããç §å
- 以ä¸ã®ããã·ã¥é¢æ°ãæ´»ç¨ãã¦ããã¹ã¿ã¼ãã¹ã¯ã¼ããç
§åãã¦ã¿ãã
- opensslã³ãã³ãã¨crypto-jsJavaScriptã©ã¤ãã©ãªã使ã£ã¦ã¿ãã
- ã¾ãã¯MASTER_PASSã®sha256ããã·ã¥å¤ãæ±ããã
$ echo -n MASTER_PASS | openssl dgst -sha256
3b70f81b4a16b6546ea8114e43be495ce154c3a1e92056a59d7af3db6a9914fd
- ä¸è¨ããã·ã¥å¤ãå©ç¨ãã¦ããã¹ã¯ã¼ããç §åããã³ã¼ãã追å ãã¦ã¿ãã
(function(){ //JavaScriptã©ã¤ãã©ãªããã¼ã (function(e){ e=document.createElement('script'); e.src='//crypto-js.googlecode.com/svn/tags/3.1.2/build/rollups/aes.js'; document.body.appendChild(e); e=document.createElement('script'); e.src='//crypto-js.googlecode.com/svn/tags/3.1.2/build/rollups/sha256.js'; document.body.appendChild(e); })() setTimeout(function(){ //ãã¹ã¿ã¼ãã¹ã¯ã¼ããç §åãã var passwd_sha256='3b70f81b4a16b6546ea8114e43be495ce154c3a1e92056a59d7af3db6a9914fd'; var passwd_raw=prompt('auto_login Password',''); if(CryptoJS.SHA256(passwd_raw) != passwd_sha256){ if(passwd_raw != ''){alert('Password is NG.');}return; } //æå·åãã°ã¤ã³æ å ±ã復å·ãã var json_text_cipher='U2FsdGVkX1/uT2sjZl3uT43ciqzmXYZpB8mwYxMpyGk0EN/Gz0hzixJ4+Js2mU68qOWohJmpPGgr5g1+eaxL8aeLh+ooMgxXYLZozYUhWaJ99+0+tKV9GDarpbOMrfA6zE8hvCy62XChqZZINsPOA7G3KuFs54+BKNXFqKbsyA2f0MciDxQcmZgeTC8ci+rS1WZHyTMK5EPh6GhPK/QpoejG1JdXpcGdV94pN7R8flpT4iyMdGdbCfSeL7xjnmZs3BMvc5S50VZEtIdsD9BCeixQFf7GCZvuTJH4zxQHoPZMLc1T85ReBliiya9PvHcD6VfxTk4iuvodqIAC3J/pF5IP5fEhR/24XOZ/5gcEa92u8HulCp0LgfAeUxrgABo0a+ELvpysYBKQmwuTNU9ssFh9QA841RXvLh/JUnQAE8YTksS27PF50nhZap6C1OC5rOIRvIdrTgSgImjQ6TxhiA=='; var json_text=CryptoJS.AES.decrypt(json_text_cipher, passwd_raw).toString(CryptoJS.enc.Utf8); var json=eval('('+json_text+')'); //URLã«å¯¾å¿ãããã°ã¤ã³æ å ±ãåãåºã var url_key=document.location.protocol.replace(/[^A-Za-z]/g,'_')+'__'+document.location.hostname.replace(/[^A-Za-z]/g,'_')+document.location.pathname.replace(/\W/g,'_'); var j=json[url_key]; if(j==null){ alert('No auto_login info.');return; } //èªåå ¥åãã for(var i=0;i<j.length;i++){ if(j[i].type=='text'||j[i].type=='password'){ if(document.getElementsByName(j[i].name).length > 0){ document.getElementsByName(j[i].name)[0].value=j[i].value }else{ document.getElementById(j[i].id).value=j[i].value } }else if(j[i].type=='radio'||j[i].type=='checkbox'){ document.getElementsByTagName('input')[j[i].index].checked=j[i].checked }else if(j[i].type=='option'){ if(document.getElementsByTagName('option')[j[i].index].value==j[i].value){ document.getElementsByTagName('option')[j[i].index].selected=j[i].selected } } } alert('auto_login works!'); }, 500);//setTimeout })()
ããã§ãã¹ã¿ã¼ãã¹ã¯ã¼ãã®ç
§åãã§ããããã«ãªã£ãï¼
- ç¶æ³ã«å¿ãã¦ã以ä¸ã®ã¡ãã»ã¼ã¸ãåºåããã®ã ã
- ãã¹ã¿ã¼ãã¹ã¯ã¼ããéã£ã¦ãããã'Password is NG.'
- ãã°ã¤ã³æ å ±ãè¦ã¤ãããªãã£ããã'No auto_login info.'
- æ£å¸¸ã«èªåå ¥åã§ããå ´åã¯ã'auto_login works!'
auto_loginããã¸ã§ã¯ã
以ä¸ã®ä»çµã¿ãå©ç¨ãã¦ãauto_loginプロジェクトã¯ãã°ã¤ã³æ å ±ãä¿å ¨ãã¦ããã
-
-
- æããã¦ãã¡ããã¨å®å ¨ã確ä¿ã§ãã¦ããã®ã ãããï¼
-
é¢é£ãã¼ã¸
- Safariã§ãããããã¼ã¸ã«èªåãã°ã¤ã³ããæ¹æ³ - ã¶ãªã¬ããè¦ã¦ãã...ã
- auto_login AppleScriptã³ã¼ã - ã¶ãªã¬ããè¦ã¦ãã...ã
- iPhoneã»iPadã®Safariã§ããããããã¼ã¸ã§èªåå ¥åããã - ã¶ãªã¬ããè¦ã¦ãã...ã
- auto_loginã¹ã¯ãªããã®Safari7å¯¾å¿ - ã¶ãªã¬ããè¦ã¦ãã...ã
- ããã¯ãã¼ã¯ã¬ããã®æ¸ãæ¹ã®æ®µéçãªçºå±ã®ä»æ¹ - ã¶ãªã¬ããè¦ã¦ãã...ã
onloadããã°setTimeoutãä¸è¦
- JavaScriptã©ã¤ãã©ãªããã¼ãããæéãèæ ®ãã¦ãsetTimeoutã§å¤§éæã«0.5ç§å¾ æ©ãããã¨ããéã天ã«ä»»ããçãªã³ã¼ãã¯ã常ã ã©ãã«ããããã¨æã£ã¦ããã
- 0.5ç§ãå¾ ã¤å¿ è¦ãªããããããªããããããã¯ãã£ã¨å¾ ã¤å¿ è¦ããããããããªãã
- çæ³ã¯ãJavaScriptã©ã¤ãã©ãªã®ãã¼ããå®äºããã¿ã¤ãã³ã°ã§ãæ¬ä½ã®ããã¯ãã¼ã¯ã¬ãããå®è¡ããã¹ãã
ãã¼ããå®äºããã¿ã¤ãã³ã°ï¼onloadã¤ãã³ããã³ãã©ã使ãã°ããã®ã ï¼
- scriptã¿ã°ã追å ããæã«ãonload屿§ã追å ãã¦ãããã¯ãã¼ã¯ã¬ããæ¬ä½ã®é¢æ°ãå¼ã³åºãããã«å¤æ´ãã¦ã¿ãã
(function(f,e){ //JavaScriptã©ã¤ãã©ãªããã¼ã e=document.createElement('script'); e.src='//crypto-js.googlecode.com/svn/tags/3.1.2/build/rollups/aes.js'; document.body.appendChild(e); e=document.createElement('script'); e.src='//crypto-js.googlecode.com/svn/tags/3.1.2/build/rollups/sha256.js'; e.onload=function(){f()}; document.body.appendChild(e); })(function(){ //ãã¹ã¿ã¼ãã¹ã¯ã¼ããç §åãã var passwd_sha256='3b70f81b4a16b6546ea8114e43be495ce154c3a1e92056a59d7af3db6a9914fd'; var passwd_raw=prompt('auto_login Password',''); if(CryptoJS.SHA256(passwd_raw) != passwd_sha256){ if(passwd_raw != ''){alert('Password is NG.');}return; } //æå·åãã°ã¤ã³æ å ±ã復å·ãã var json_text_cipher='U2FsdGVkX1/uT2sjZl3uT43ciqzmXYZpB8mwYxMpyGk0EN/Gz0hzixJ4+Js2mU68qOWohJmpPGgr5g1+eaxL8aeLh+ooMgxXYLZozYUhWaJ99+0+tKV9GDarpbOMrfA6zE8hvCy62XChqZZINsPOA7G3KuFs54+BKNXFqKbsyA2f0MciDxQcmZgeTC8ci+rS1WZHyTMK5EPh6GhPK/QpoejG1JdXpcGdV94pN7R8flpT4iyMdGdbCfSeL7xjnmZs3BMvc5S50VZEtIdsD9BCeixQFf7GCZvuTJH4zxQHoPZMLc1T85ReBliiya9PvHcD6VfxTk4iuvodqIAC3J/pF5IP5fEhR/24XOZ/5gcEa92u8HulCp0LgfAeUxrgABo0a+ELvpysYBKQmwuTNU9ssFh9QA841RXvLh/JUnQAE8YTksS27PF50nhZap6C1OC5rOIRvIdrTgSgImjQ6TxhiA=='; var json_text=CryptoJS.AES.decrypt(json_text_cipher, passwd_raw).toString(CryptoJS.enc.Utf8); var json=eval('('+json_text+')'); //URLã«å¯¾å¿ãããã°ã¤ã³æ å ±ãåãåºã var url_key=document.location.protocol.replace(/[^A-Za-z]/g,'_')+'__'+document.location.hostname.replace(/[^A-Za-z]/g,'_')+document.location.pathname.replace(/\W/g,'_'); var j=json[url_key]; if(typeof j==='undefined'){ alert('No auto_login info.');return; } //èªåå ¥åãã for(var i=0;i<j.length;i++){ if(j[i].type=='text'||j[i].type=='password'){ if(document.getElementsByName(j[i].name).length > 0){ document.getElementsByName(j[i].name)[0].value=j[i].value }else{ document.getElementById(j[i].id).value=j[i].value } }else if(j[i].type=='radio'||j[i].type=='checkbox'){ document.getElementsByTagName('input')[j[i].index].checked=j[i].checked }else if(j[i].type=='option'){ if(document.getElementsByTagName('option')[j[i].index].value==j[i].value){ document.getElementsByTagName('option')[j[i].index].selected=j[i].selected } } } alert('auto_login works!'); })