Показать сообщение отдельно

  #5  
Старый 21.11.2015, 04:26
-0x00-
Новичок
Регистрация: 19.08.2015
Сообщений: 25
С нами: 5650166

Репутация: 0
По умолчанию

Цитата:
Сообщение от yarbabin  

точнее опишите проблему
Есть WSO шелл, почти чистый(Оптимизировал под себя - удалил пару ненужных ф-ций), после обфускации шелл заливается по списку доменов. На более-менее нормальных хостингах стоит WAF(mod_security), который блочит POST запросы WSO(Как я понял - там фильтр стоит), чтобы это обойти - нужно поменять названия всех стандартных параметров POST запросов в теле WSO, ну и если прикрутить шифрование этих запросов в base64 - было бы вообще идеально.

Вот пример:

Есть в WSO POST запрос:

$_POST['pass'] - в данном случае WAF по фильтрам блочит POST запросы с параметром pass, если мы изменим его на $_POST['asdasfas'] - соответств - фильтр перестанет реагировать, а если еще и base64_decode($_POST['asdasfas']) прикрутить - было бы вообще кошерненько так.

Но проблема вот в чем, параметры в пост запрос отправляются ИЗ WSO ВНУТРЬ WSO, тобишь на уровне клиента это реализовано с помощью javascript, в виде невидимых форм с основными параметрами a,c,p1,p2,p3. Тобишь из невидимой формы -a- яваскрипта формируется запрос, а потом уже уходит в одноименную форму $_POST['a']

В идеале все должно работать так:

На входе из js формы оно должно энкодится в base64, передаваться в одноименный POST параметр, далее - декодиться, и потом уже исполняться. Вот вся суть обхода в большинство WAF(Не всех)

Решение вроде как простое - заменить все формы и одноименные POST параметры на свои - вопрос решен. Но дело в том что шелл просто перестает работать(

Может есть более простые способы?

UPD

Посидел пару часиков - все параметры заменил Все работает)

Осталось прикрутить шифрование в base64. Для POST сделать расшифровку, а на уровне js - шифровку.
 
Ответить с цитированием