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

  #3  
Старый 02.11.2016, 12:33
-0x00-
Новичок
Регистрация: 19.08.2015
Сообщений: 25
С нами: 5650166

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

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

Брать надо милионщика, несколько крайних версий. Сравнивать между собой, и смотреть где что заткнули, а потом пробиваться к дыре.
Для примера закидываю, как сравнивал 4.6.1 и 4.6.0
Для начала сравним список файлов:
cd ./wordpress-4.6.1
find ./ > ../bug-research/4.6.1.fnl
cd ../wordpress-4.6.0
find ./ > ../bug-research/4.6.0.fnl
cd ../bug-research/
diff 4.6.1.fnl 4.6.0.fnl
В новой версии появился файлик:
./wp-content/plugins/akismet/class.akismet-cli.php
cd wordpress-4.6.0/
cat ../bug-research/4.6.0.fnl | xargs md5sum > ../bug-research/4.6.0.md5.fnl
cd ../wordpress-4.6.1/
cat ../bug-research/4.6.0.fnl | xargs md5sum > ../bug-research/4.6.1.md5.fnl
cd ../bug-research
diff 4.6.1.md5.fnl 4.6.0.md5.fnl > ./md5.diff
Уберём строки дубли и все файлы кроме php скриптов
cat ./md5.diff | grep \.php | grep ^\ php.md5.fnl
php -r '$a=file("./php.md5.fnl"); foreach($a as $s) echo(substr($s,36));' > php.fnl
mkdir fnl
mv {4.6.0.fnl,4.6.0.md5.fnl,4.6.1.fnl,4.6.1.md5.fnl,m d5.diff,php.fnl,php.md5.fnl} ./fnl/
Сравним сорсы
mkdir ./diff ; cd ./diff
cat ../fnl/php.fnl | xargs dirname | xargs mkdir -p
cat ../fnl/php.fnl | awk '{ print "diff ../../wordpress-4.6.0/"$0" ../../wordpress-4.6.1/"$0" > "$0".diff" }' > ../diff.src.sh
. ../diff.src.sh
cd ..
find ./ | grep \.php.diff
Смотрим что к чему
less ./diff/wp-admin/includes/class-file-upload-upgrader.php.diff # инклюд? скуля? крос?
less ./diff/wp-admin/includes/media.php.diff # скуля? крос?
less ./diff/wp-content/plugins/akismet/class.akismet-admin.php.diff # ???
less ./diff/wp-content/plugins/akismet/class.akismet.php.diff # скуля?
less ./diff/wp-content/plugins/akismet/views/config.php.diff # скулёжная параноя?
less ./diff/wp-includes/class-http.php.diff # скуля?
less ./diff/wp-includes/wp-db.php.diff # глюк?
less ./diff/wp-includes/revision.php.diff # глюк?
less ./diff/wp-includes/pluggable.php.diff # глюк?
less ./diff/wp-includes/script-loader.php.diff # крос?
less ./diff/wp-includes/load.php.diff # глюк?
Удачи!
Спасибо огромное за столь подробное разъяснение, но у меня теперь больше вопросов, чем их было до вашего поста

Рад что откликнулся действительно толковый и знающий человек. Для рисерча именно самого двига - это хороший вариант, мы мониторим все нововведения в коде, но как это может помочь в случае с плагинами? На данный момент для WP их насчитывается 43к, неужели все они уже просмотрены и не содержат уязвимостей, из-за чего нам надо шустрить только их апдейты?

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

Вы уж простите меня за может быть плоское мышление, но работа с многомиллионными плагинами - мне пока что не по силам. Я знаю что успешно ломают плагины и с 3к инсталлов, и c 1к.

Мне повезло общаться с очень крутым чуваком(тут его наверное не знают, он на экспе сидел,сейчас без понятия), я ему обязан всеми базовыми знаниями в этой области(с чего начинать, где читать, где покупать, и т.д.), но не суть. Я потерял свою жабу, а он засел в приват - теперь так просто жабу у него не получить) Кробка, если ты читаешь это - скинь свою жабу плез

Так вот, к чему я это, как-то раз - у него был производственный день - он выкачал абсолютно все плагины вордпресса, потом прогнал их на опасные функции своими скриптами(Естесна подводные камни и подробности он мне не палил) - за пару дней у него получилось найти около 3-4 0day, один вроде как Race Condition с удалением файла через время определенное, другой был в очень плотном плагине, но только от админа(Я такой тоже находил), и еще более мелкие.

Сколько раз пробовал работать по его методе - ниче путного не выходило, не знаю. Может у меня знаний нехватает, или терпения. Ну, спасибо огромное что осилили мою стену текста, ответили и поддержали беседу. Буду рад если ответите на мои новые вопросы!)
 
Ответить с цитированием