Saturday, February 10, 2007

Bookmarklets are NOT secure

Jungsonn wrote a post entitled "Defeating Phishers" where he wrote about how one could distribute risk across two servers, and essentially have one site where XSS vulnerabilities are unimportant, and one which would need to be audited heavily. He also recommended using Bookmarklets because "Bookmarklets are actually pretty secure things, no software or website can access cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365m.".

Personally I disagree with both those statements. Firstly, if you find an XSS hole in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 main domain, you can easily make cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 page say that cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y've changed cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365ir practices, sure it would be a little odd, but cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 amount of user education required for this attack to be impractical would be enough to solve cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 whole phishing issue, not just this one.

But more importantly I want to debunk cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 myth that Bookmarklets are secure. Leaving aside cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 fact that trojans and similar can easily alter cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365m because cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y have access to cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 file system, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y are still insecure; cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y are as insecure as cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 page cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y are clicked on is untrustworthy.

For example, lets take cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 Bookmarklet Jungsonn posted:
javascript:QX=document.getSelection();if(!QX){void(QX=prompt('Type your firstname',''))};if(QX)document.location='https://myonlinebank.com'

It would seem fairly secure, except for cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 fact that with cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 very allowing Javascript engines, we can stop this from working, here's how:


If cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 bookmarklet is clicked on a page with that on it - say a phishing page at http://myonlinebank.com.us or a legitimate page on cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 http://onlinebank.com domain if it has an XSS hole in it, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365n we can easily send cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 user to a phishing page, even though cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 value is hard coded in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 bookmarklet.

Of course, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 bookmarklet can try to detect and remove such things, but its a technological battle that will be fought on a bookmarklet by bookmarklet basis; which is essentially where security generally fails - custom code. Of course cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r scenario is that we find a secure method of redirecting users, but even if we do, we're not going to be able to get everyone to use it; so I'd racá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r not recommend bookmarklets as security; just tell users to create a simple bookmark to cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 site.

Or we could try to educate users to only click on cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 bookmarklet from a blank page, but thats anocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r area where security generally fails - user education.

No comments: