Дыры на сайтах

  • Автор темы agamurat
  • Дата начала
skroliks
PHP, MySQL, CSS
Участник
Сообщения
280
Реакции
46
  • #222
Viktor написал(а):

Ставил на все свои проекты, вроде работает, ни разу не взломали. Но еще зависит от хостинга.
А как ты ставил, если там ошибок после него тьма вылазит? Или ты не включал вывод ошибок?
 
Sidr23
Местный
Сообщения
54
Реакции
3
  • #223
skroliks написал(а):
А как ты ставил, если там ошибок после него тьма вылазит? Или ты не включал вывод ошибок?
Если его поставить, то не можна ни новость написать, ни тикет, короче ни че го!
 
skroliks
PHP, MySQL, CSS
Участник
Сообщения
280
Реакции
46
  • #224
Sidr23 написал(а):
Если его поставить, то не можна ни новость написать, ни тикет, короче ни че го!
Понятно.. Лучше правильно пользоваться фильтрацией, htaccess'ом и прочими видами защиты..
 
RusRus198
Участник
Сообщения
9
Реакции
1
  • #225
mobisaite написал(а):
проверила уже, eval нету) чисто все)) а сообщение отправила просто тех еще не было когда печатала )))
У меня это есть у 24 файлах, пипесссс!
 
romcka8
Местный
Сообщения
65
Реакции
3
  • #226
Мне в чат кинули вот такой код

' and ( select 1 from ( select count(*), concat ( ( select (select concat(admin,' ',pass) from db_config where id = 1) from information_schema.tables limit 0,1 ), floor(rand(0)*2) ) x from information_schema.tables group by x) a ) and '

Я так понял , что хотели взломать админку. Подскажите как работает данный код и насколько это опасно?Пользователя дилетанта сразу забанил.Ферма обезопасена по всем указанным тут инструкциям.
 
GLookin
Участник
Сообщения
296
Реакции
62
  • #227
romcka8 написал(а):
Мне в чат кинули вот такой код

' and ( select 1 from ( select count(*), concat ( ( select (select concat(admin,' ',pass) from db_config where id = 1) from information_schema.tables limit 0,1 ), floor(rand(0)*2) ) x from information_schema.tables group by x) a ) and '

Я так понял , что хотели взломать админку. Подскажите как работает данный код и насколько это опасно?Пользователя дилетанта сразу забанил.Ферма обезопасена по всем указанным тут инструкциям.
Этот код выдергивает логин и пароль из твоего конфига в базе данных.
Хотя, если ты логин и пароль спрятал в php, как на форуме рекомендовали, то он дилетант все равно не получил бы желанных результатов)
 
RusRus198
Участник
Сообщения
9
Реакции
1
  • #228
RusRus198 написал(а):
У меня это есть у 24 файлах, пипесссс!
Меня так сначала и сломали, вывели 13 000 рублей, нашел программиста, решил эту проблему, всегда почему то учимся на своих ошибках(((
 
romcka8
Местный
Сообщения
65
Реакции
3
  • #229
RusRus198 написал(а):
Меня так сначала и сломали, вывели 13 000 рублей, нашел программиста, решил эту проблему, всегда почему то учимся на своих ошибках(((
Ну год назад когда начал заниматься фермами , частенько деньги уводили , но небольшие суммы. Сейчас когда появились подобные форумы с ошибками и описанием как их исправить , то жить стало намного проще)))
 
ccc
Участник
Сообщения
11
Реакции
1
  • #230
ребят кто знает подскажите это опасно?
папка сайт / js / skript.js


/* begin Button */

function artButtonsSetupJsHover(className) {
var tags = ["input", "a", "button"];
for (var j = 0; j < tags.length; j++){
var buttons = artGetElementsByClassName(className, document, tags[j]);
for (var i = 0; i < buttons.length; i++) {
var button = buttons;
if (!button.tagName || !button.parentNode) return;
if (!artHasClass(button.parentNode, 'art-button-wrapper')) {
if (!artHasClass(button, 'art-button')) button.className += ' art-button';
var wrapper = document.createElement('span');
wrapper.className = "art-button-wrapper";
if (artHasClass(button, 'active')) wrapper.className += ' active';
var spanL = document.createElement('span');
spanL.className = "l";
spanL.innerHTML = " ";
wrapper.appendChild(spanL);
var spanR = document.createElement('span');
spanR.className = "r";
spanR.innerHTML = " ";
wrapper.appendChild(spanR);
button.parentNode.insertBefore(wrapper, button);
wrapper.appendChild(button);
}
artEventHelper.bind(button, 'mouseover', function(e) {
e = e || window.event;
wrapper = (e.target || e.srcElement).parentNode;
wrapper.className += " hover";
});
artEventHelper.bind(button, 'mouseout', function(e) {
e = e || window.event;
button = e.target || e.srcElement;
wrapper = button.parentNode;
wrapper.className = wrapper.className.replace(/hover/, "");
if (!artHasClass(button, 'active')) wrapper.className = wrapper.className.replace(/active/, "");
});
artEventHelper.bind(button, 'mousedown', function(e) {
e = e || window.event;
button = e.target || e.srcElement;
wrapper = button.parentNode;
if (!artHasClass(button, 'active')) wrapper.className += " active";
});
artEventHelper.bind(button, 'mouseup', function(e) {
e = e || window.event;
button = e.target || e.srcElement;
wrapper = button.parentNode;
if (!artHasClass(button, 'active')) wrapper.className = wrapper.className.replace(/active/, "");
});
}
}
}

artLoadEvent.add(function() { artButtonsSetupJsHover("art-button"); });
/* end Button */



artLoadEvent.add(function() {
artButtonsSetupJsHover("button");
artButtonsSetupJsHover("readon");
artButtonsSetupJsHover("readmore");
});

вообще нужна эта папка? как быть?
 
GLookin
Участник
Сообщения
296
Реакции
62
  • #231
Ребят, а вообще насколько можно доверять всем javascripts?
Я в php и стилях понимаю, но в js не углублялся, ибо времени нет.
Насколько реально проникнуть через js, как в дыру?
Я много раз натыкался, например на злостный eval в файлах явы...
То есть, если в файлах php этого eval нет, но в явках имеется - это уже дыра?
надо убивать такие файлы?
 
GLookin
Участник
Сообщения
296
Реакции
62
  • #232
Например, вот это вот добро, что может быть такое?
PHP:
    // Evaluates a script in a global context
    // Workarounds based on findings by Jim Driscoll
    // http://weblogs.java.net/blog/driscoll/archive/2009/09/08/eval-javascript-global-context
    globalEval: function( data ) {
        if ( data && jQuery.trim( data ) ) {
            // We use execScript on Internet Explorer
            // We use an anonymous function so that context is window
            // rather than jQuery in Firefox
            ( window.execScript || function( data ) {
                window[ "eval" ].call( window, data );
            } )( data );
        }
    },
 
himik
Участник
Сообщения
230
Реакции
32
  • #233
Что вы зацикливаетесь на eval? Это функция вывода которая сама по себе дырой не является,все зависит от кода где эта функция используется и для каких целей.
 
romcka8
Местный
Сообщения
65
Реакции
3
  • #234
Народ , какие еще есть ошибки в фермах? Хочет достаточно хорошо обезопасить проект.
 
GLookin
Участник
Сообщения
296
Реакции
62
  • #235
romcka8 написал(а):
Народ , какие еще есть ошибки в фермах? Хочет достаточно хорошо обезопасить проект.
Всё, что описано в данной теме. То, что не описано, либо не встречали, пока больше, либо не расскажем )
Всё индивидуально, в каждом скаченном скрипте. Сегодня ты скачиваешь по ссылке чистый скрипт, а завтра его уже заменили дырявым.
 
GLookin
Участник
Сообщения
296
Реакции
62
  • #236
Сегодня всё утро "бомбят" мне ферму через форму обратной связи вот такими комбинациями:
Код:
USD {9999370+10000076}
Код:
-1 OR 2+541-541-1=0+0+0+1
Код:
response.write(9061857*9761980)
Код:
SomeCustomInjectedHeader:injected_by_wvs
Это приходит на электронку в "Теме" и "Тексте" письма.
Как думаете, или кто знает, что пытаются сделать злоумышленники?)
Пока что, всё, что у них получается - это отправлять мне это добро на электронную почту моей фермы)
Надеюсь, это всё, что у них выходит и выйдет этими действиями ))
 
Канстантин
Местный
Сообщения
58
Реакции
5
  • #237
case"null":return"null";}return null;};JSON.decode=function(string,secure){if(!string||typeOf(string)!="string"){return null;}if(secure||JSON.secure){if(JSON.parse){return JSON.parse(string);
}if(!JSON.validate(string)){throw new Error("JSON could not decode the input; security is enabled and the value is not secure.");}}return eval("("+string+")");
и
var properties=Object.append({height:eek:ptions.height,width:eek:ptions.width},options.properties);var self=this;for(var callBack in callBacks){Swiff.CallBacks[this.instance][callBack]=(function(option){return function(){return option.apply(self.object,arguments);
};})(callBacks[callBack]);vars[callBack]="Swiff.CallBacks."+this.instance+"."+callBack;}params.flashVars=Object.toQueryString(vars);if(Browser.ie){properties.classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000";
params.movie=path;}else{properties.type="application/x-shockwave-flash";}properties.data=path;var build='<object id="'+id+'"';for(var property in properties){build+=" "+property+'="'+properties[property]+'"';
}build+=">";for(var param in params){if(params[param]){build+='<param name="'+param+'" value="'+params[param]+'" />';}}build+="</object>";this.object=((container)?container.empty():new Element("div")).set("html",build).firstChild;
},replaces:function(element){element=document.id(element,true);element.parentNode.replaceChild(this.toElement(),element);return this;},inject:function(element){document.id(element,true).appendChild(this.toElement());
return this;},remote:function(){return Swiff.remote.apply(Swiff,[this.toElement()].append(arguments));}});Swiff.CallBacks={};Swiff.remote=function(obj,fn){var rs=obj.CallFunction('<invoke name="'+fn+'" returntype="javascript">'+__flash__argumentsToXML(arguments,2)+"</invoke>");
return eval(rs);};})();
из js\mootools-core.js

js\jquery.js
идет такой код весь файл
"ajaxError",[H,F,G])}},active:0,httpSuccess:function(F){try{return !F.status&&location.protocol=="file:"||(F.status>=200&&F.status<300)||F.status==304||F.status==1223}catch(E){}return false},httpNotModified:function(G,E){try{var H=G.getResponseHeader("Last-Modified");return G.status==304||H==o.lastModified[E]}catch(F){}return false},httpData:function(J,H,G){var F=J.getResponseHeader("content-type"),E=H=="xml"||!H&&F&&F.indexOf("xml")>=0,I=E?J.responseXML:J.responseText;if(E&&I.documentElement.tagName=="parsererror"){throw"parsererror"}if(G&&G.dataFilter){I=G.dataFilter(I,H)}if(typeof I==="string"){if(H=="script"){o.globalEval(I)}if(H=="json"){I=l["eval"]("("+I+")")}}return I},param:function(E){var G=[];

Подскажите что из этого является безопасным, а что необходимо удалить.
 
GLookin
Участник
Сообщения
296
Реакции
62
  • #238
Канстантин написал(а):
case"null":return"null";}return null;};JSON.decode=function(string,secure){if(!string||typeOf(string)!="string"){return null;}if(secure||JSON.secure){if(JSON.parse){return JSON.parse(string);
}if(!JSON.validate(string)){throw new Error("JSON could not decode the input; security is enabled and the value is not secure.");}}return eval("("+string+")");
и
var properties=Object.append({height:eek:ptions.height,width:eek:ptions.width},options.properties);var self=this;for(var callBack in callBacks){Swiff.CallBacks[this.instance][callBack]=(function(option){return function(){return option.apply(self.object,arguments);
};})(callBacks[callBack]);vars[callBack]="Swiff.CallBacks."+this.instance+"."+callBack;}params.flashVars=Object.toQueryString(vars);if(Browser.ie){properties.classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000";
params.movie=path;}else{properties.type="application/x-shockwave-flash";}properties.data=path;var build='<object id="'+id+'"';for(var property in properties){build+=" "+property+'="'+properties[property]+'"';
}build+=">";for(var param in params){if(params[param]){build+='<param name="'+param+'" value="'+params[param]+'" />';}}build+="</object>";this.object=((container)?container.empty():new Element("div")).set("html",build).firstChild;
},replaces:function(element){element=document.id(element,true);element.parentNode.replaceChild(this.toElement(),element);return this;},inject:function(element){document.id(element,true).appendChild(this.toElement());
return this;},remote:function(){return Swiff.remote.apply(Swiff,[this.toElement()].append(arguments));}});Swiff.CallBacks={};Swiff.remote=function(obj,fn){var rs=obj.CallFunction('<invoke name="'+fn+'" returntype="javascript">'+__flash__argumentsToXML(arguments,2)+"</invoke>");
return eval(rs);};})();
из js\mootools-core.js

js\jquery.js
идет такой код весь файл
"ajaxError",[H,F,G])}},active:0,httpSuccess:function(F){try{return !F.status&&location.protocol=="file:"||(F.status>=200&&F.status<300)||F.status==304||F.status==1223}catch(E){}return false},httpNotModified:function(G,E){try{var H=G.getResponseHeader("Last-Modified");return G.status==304||H==o.lastModified[E]}catch(F){}return false},httpData:function(J,H,G){var F=J.getResponseHeader("content-type"),E=H=="xml"||!H&&F&&F.indexOf("xml")>=0,I=E?J.responseXML:J.responseText;if(E&&I.documentElement.tagName=="parsererror"){throw"parsererror"}if(G&&G.dataFilter){I=G.dataFilter(I,H)}if(typeof I==="string"){if(H=="script"){o.globalEval(I)}if(H=="json"){I=l["eval"]("("+I+")")}}return I},param:function(E){var G=[];

Подскажите что из этого является безопасным, а что необходимо удалить.
Я удалял вот это добро из подобных скриптов:
eval("("+string+")")
eval(rs);
if(typeof I==="string"){if(H=="script"){o.globalEval(I)}if(H=="json"){I=l["eval"]("("+I+")")}}
 
Канстантин
Местный
Сообщения
58
Реакции
5
  • #239
GLookin написал(а):
Я удалял вот это добро из подобных скриптов:
eval("("+string+")")
eval(rs);
if(typeof I==="string"){if(H=="script"){o.globalEval(I)}if(H=="json"){I=l["eval"]("("+I+")")}}
Сколько работает после удаления? И если ли инфа от знающих людей что мы за функции удалили?
 
MegaGoblin
PHP, JS, AJAX, CSS, HTML
Участник
Сообщения
322
Реакции
72
  • #240
Канстантин написал(а):
Сколько работает после удаления? И если ли инфа от знающих людей что мы за функции удалили?
Вы зачем то удаляете код от JS-библиотек, который ничем не мешает (jquery, mootools) - можно прочитать про них.
Если кто-то решил использовать php-функцию "eval" для взлома ферм, то это не значит, что надо удалять все строки, в которых есть сочетание "eval".
В php это функция для выполнения некой команды, а не функция взлома Вашей фермы. Важно не наличие "eval" в скрипте, а способ его использования.
 
Сверху