- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
$ls = explode("\n", shell_exec("ls -A"));
foreach ($ls as $item) {
if ($item != 'doc2txt.php' and $item != 'nohup.out' and trim($item) != '') {
$dir = str_replace(
[' ', '(', ')', ';', '=', '<', '>', "'"],
['\ ', '\(', '\)', '\;', '\=', '\<', '\>', "\'"],
$item);
exec("rm -r -- $dir");
}
}
Stallman 28.09.2017 12:58 # +2
bormand 28.09.2017 20:03 # +1
bormand 28.09.2017 20:15 # 0
bormand 28.09.2017 20:25 # 0
bormand 28.09.2017 20:33 # +4
bormand 28.09.2017 20:38 # 0
Stallman 29.09.2017 02:05 # +3
bormand 29.09.2017 07:11 # 0
Stallman 29.09.2017 10:30 # +2
SemaReal 30.09.2017 05:29 # 0
inho 30.09.2017 23:48 # 0
bormand 01.10.2017 07:22 # +1
gost 01.10.2017 09:03 # 0
inho 01.10.2017 11:44 # 0
bormand 01.10.2017 13:24 # +1
Лучше уж зафильтровать имя к хуям или вообще заменить уникальной айдишкой, чем расширять поверхность атаки до всех говноскриптов, которые это имя могут увидеть.
gost 01.10.2017 13:34 # +2
https://tools.cisco.com/security/center/viewAlert.x?alertId=38762, например.
Stallman 01.10.2017 13:58 # +2
потому во всех примерах берут basename() от приходящего имени.
Во-вторых, некорректная обработка нулевого байта в move_uploaded_file(), что припомнили выше. Уже как-бы пофиксили, но какая уважающая себя пыхомакака в здравом уме обновит свой пых и похерит половину работавших ранее костылей? Тут стоить припомнить уебанский пыховерсионинг, когда ломающие изменения могут прилететь и с минорным апдейтом.
Наконец, наличие символов, не допустимых для используемой ФС. Не фатально, но неприятно.
Существует не так много кейсов, когда имя файла, приходящее в посте, имеет какое-то значение. В остальных 99% случаев уж точно нужно переименовать а в случае картинок/видосиков ещё и пережать. Ибо нехуй.
inho 01.10.2017 22:50 # 0
Stallman 01.10.2017 23:17 # 0
vistefan 03.10.2017 13:11 # +1
@ЧТО-ТО ПОШЛО НЕ ТАК
@СНЕС СЕБЕ СИСТЕМУ
gost 03.10.2017 17:48 # 0
vistefan 03.10.2017 17:59 # +2
gost 03.10.2017 20:18 # 0
Теперь с добавкой sudo!
inho 03.10.2017 20:21 # +1
gost 03.10.2017 20:24 # +1
6d8780524d34e2514532b32a/detection
(ГК - бака, незаметно вставил пробел посередине)
inho 03.10.2017 22:24 # 0
gost 03.10.2017 22:27 # 0
inho 03.10.2017 23:23 # 0
Stallman 03.10.2017 22:54 # +3
inho 03.10.2017 23:24 # 0
Stallman 04.10.2017 00:35 # +2
На неприкрытый rm -rf /* всем похуй
http://bit.ly/2ynTdK8
А вот на батник ругается :3
http://bit.ly/2fOMpO7
Stallman 04.10.2017 00:43 # +2
http://bit.ly/2g7Y5s8
... но ровно до тех пор, пока бинарь не стрипнули, лол
http://bit.ly/2g9CU97
inkanus-gray 04.10.2017 01:07 # 0
gost 04.10.2017 07:02 # 0
Я так понимаю, у них ещё есть Trojan.Win32.FormatA.m, Trojan.Win32.FormatB.m, ..., Trojan.Win32.FormatZ.m?
SemaReal 08.10.2017 00:00 # 0
bormand 08.10.2017 09:13 # +2
А вдруг я туда флешку замапаю?
SemaReal 11.10.2017 04:14 # +3
Я ставлю винду десятку и она мой диск помечает как C. А могла бы как A.
С другой стороны половина говнопрограмм бы наверняка отвалилась
зы: вот тебе загадка (я в свое время пол дня убил чтобы найти ответ): как винда привязывает том к букве?
bormand 11.10.2017 08:10 # 0
По айдишке диска/раздела вроде бы, а маппинг в реестре хранится. Нет?
gost 30.09.2017 23:09 # +1
Даже не знаю, насколько нужно быть отбитым, чтобы поместить переменную, в которую может прилететь хоть что-то от пользователя, в exec...
bormand 01.10.2017 07:37 # +2