RDot: White Hat Security Community

RDot: White Hat Security Community (https://rdot.org/forum/index.php)
-   Целевые системы/Target systems (https://rdot.org/forum/forumdisplay.php?f=22)
-   -   Как не спалиться на svn? (https://rdot.org/forum/showthread.php?t=2267)

pres 08.07.2012 17:47

Как не спалиться на svn?
 
Есть серваки, где постоянно мониторится svn - файлы через него редактируются и видно если добавился шелл или произошло изменение в файле. Как грамотно прятаться в таком случае?

Untitled 11.07.2012 17:42

Поддерживаю вопрос. Интересует, что будет после изменения файла, который мониторится svn'ом, возможно ли ручное редактирование all-wcprops и entries?

euro 11.07.2012 18:05

возможно )

Kribrum 12.07.2012 00:54

ээээ...
Нет смысла в общем править entries. Потому что при коммите разработчика он словит надобность апдейта.
1. Можно сделать хук на коммит, при котором будут дописываться нужные данные.
2. Можно тупо влезть в бранч разработчика перед мерджем с основным транком и поправить все там, но это нужно угадать.
3. Если используется что-то распределенное, типа git и над проектом работает много программистов, то просто помониторь, кто чем занимается, а когда найдешь какой-то кусок, который никто не трогает, от имени самого активного разработчика сделай коммит пары файлов в транк и с вероятностью в 95% - при очередном большом мердже они останутся.
Вариантов масса вообщем-то, выбирай любой, но хук на коммит - самый правильный. Инфа по теме: http://habrahabr.ru/post/114273/

Untitled 12.07.2012 16:44

Цитата:

Нет смысла в общем править entries. Потому что при коммите разработчика он словит надобность апдейта.
svn заново пересчитает контрольные суммы имеющихся файлов?

Kribrum 13.07.2012 00:45

конечно, попытается сравнить записи, у него не выйдет, хотя по дате изменения все получится и в итоге он выплюнет ошибку. Теоретически - можно найти как это сделать, но опять таки - при стороннем коммите - твои изменения затрутся. Если необходимо чтобы они были постоянными, нужно делать хук.

Untitled 13.07.2012 02:00

Тогда какой смысл в entries? В нем как раз прописаны md5-хеши файлов,..которые svn посчитает повторно перед коммитом?
Про хуки посмотрел, задачи а-ля вывести имя автора выглядят просто, зато все остальное - довольно крупные скрипты на питоне, подразумевающие доступ к svn/svnlook.

Kribrum 13.07.2012 10:17

Смотри...
Вот есть некий сервер X, на котором поднят SVN. Есть папка с проектом - myProject. В ней директория .svn
Разработчик Y - пытается сделать коммит своих изменений на этот сервер. SVN пытается найти разницу в скриптах при помощи Дельта-кодирования и конечно же она будет найдена, после чего:
1) Система выдаст сообщение - please update your working copy first.
2) Система попытается автоматически смерджить присланные ей данные. В случае успеха - разработчик получит ответ M (Merged), но это маловероятно, а скорее всего будет C(Conflict) и запрос на ручное измненение с показанными различиями(difference).

А по поводу хуков - почему обязательно питон? Можно хоть VBS использовать - что тебе проще. У тебя же обычное выполнение кода в системе происходит.

tipsy 13.07.2012 10:38

Цитата:

Сообщение от pres (Сообщение 26922)
Есть серваки, где постоянно мониторится svn - файлы через него редактируются и видно если добавился шелл или произошло изменение в файле. Как грамотно прятаться в таком случае?

Иногда есть возможность реализовать нужные изменения через другие механизмы, кроме прямого изменения скриптов, накрытых svn. Например, если есть рут, можно подредактировать конфиг апача.
Можно поискать исключения из правил svn - папки с кэшем, например.
Можно попытаться добавить свой PHP бэкдор в БД (некоторые движки такое позволяют)


Часовой пояс GMT +3, время: 11:19.

Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2022, Jelsoft Enterprises Ltd. Перевод: zCarot