Archive for September 8th, 2010

Анализа на неколку веб апликации

Минатиот викенд преземавме неколку веб апликации, CMS, по случаен избор, за да ги тестираме од ранливости со помош на статична анализа на изворен код. Со неколку алатки за ревизија преземени од листава, успеавме да најдеме неколку ранливости и неколку потенцијални ранливости во следниве веб апликации:

Ez Publish 4.3 (http://www.ez.no)
Bigace 2.7.2 (http://www.bigace.de)
dorcMan 3.0.2 (http://www.dorcman.org)
MySource Matrix 3.28.3 (http://matrix.squiz.net) (закрпено) (ZSL-2010-4962)
Zen Cart 1.3.9f (http://www.zen-cart.com) (закрпа во тек) (ZSL-2010-????)
Textpattern 4.2.0 (http://www.textpattern.com) (ZSL-2010-4963)
Tube Ace 1.5 (http://www.tubeace.com)

Нивото на ризикот од пронајдените ранливости или на оние потенцијалните е некаде од 2 до 3 кадешто 1 е најниското а 5 е највисокото и најопасното ниво :)

Сите апликации се тестирани на следниве платформи:
– Microsoft Windows XP Professional SP3 (EN)
– PHP 5.3.0
– MySQL 5.1.36
– Apache 2.2.11 (Win32)

Од горенаведените апликации, MySource Matrix е закрпена, Zen Cart е во процес на развивање на закрпа, Textpattern – креаторите не одговорија на е-маил и останатите се оние кои содржат потенцијални ранливости.
Беа пронајдени ранливости од типот Persistent и Reflected(Non-Persistent) Cross-Site Scripting, SQL Injection, Local и Remote File Inclusion (LFI/RFI), File Disclosure, Directory Traversal и Denial Of Service (DoS).

За детали на потенцијалните ранливи апликации, ги закачивме необработените логови од анализите:
– Ez Publish (Arbitrary File Event, Potential SQL Error) – Ez_Publish-Audit_Log_1.txt
– Bigace (Potential SQL Error) – Bigace-Audit_Log_1.txt
– dorcMan (Potential SQL Error) – dorcMan-Audit_Log_1.txt
– Tube Ace (Cross-Site Scripting) – Tube_Ace-Audit_Log_1.txt

—–

– MySource Matrix (Cross-Site Scripting) – MySource_Matrix-Audit_Log_1.txt

Останатите апликации кои се со всушност потврдена ранливост беа Zen Cart, MySource Matrix и Textpattern. За Zen Cart нема да дискутираме нити пак да откриваме информации бидејќи се работи на подобрена верзија и секако побезбедна. Ќе биде објавено соодветно безбедносно предупредување откако производителот ќе ја објави подобрената верзија.

Што се однесува до MySource Matrix, веб апликација произведена од компанијата Squiz Pty Ltd. од Австралија. Во соработка со Zero Science Lab, Squiz објави подобрена верзија (3.28.4) во која е закрпена и пронајдената ранливост Cross-Site Scripting.
Се работи за скриптата char_map.php која се наоѓа во “/fudge/wysiwyg/plugins/special_chars/char_map.php” и нејзините 2 параметри “height” и “width” на кои не им се аплицира соодветно санирање односно проверка на внесената вредност пред таа да се врати до корисникот.
Ранливиот код се наоѓа во линиите 182 и 183:

<?php echo $_REQUEST['width'];?>;
<?php echo $_REQUEST['height'];?>;

Со помош на оваа ранливост (Reflected XSS), напаѓачот со различни техники може да го измами корисникот и да дојде до саканите информации во контекст на заразениот сајт.

Брзо решение е да се отстранат двете линии за кои производителот изјави дека и така не вршат некаква си функција.

Textpattern е исто така веб апликација, CMS, произведена од Team Textpattern. Тимот на Textpattern не одговори на нашиот труд за комуникација и решивме да го објавиме наодот според нашата полиса за јавно објавување. Се работи за Cross-Site Scripting ранливоста извршена со помош на NULL Termination.

Ранливоста се наоѓа во Textpattern (TXP) Tag Library (txplib_db.php) преку “q” параметрот со чија помош напаѓачот е во состојба да извршува своеволен HTML или JavaScript код директно во корисничкиот прелистувач и негова сесија со користење на нулта енкодирани стрингови (null byte).

Ранливиот параметар се наоѓа во qParamtxtpattern_locations.txt

Доказ на концепт: http://127.0.0.1/textpattern/?q=%00<script>alert(1)</script>