Posts Tagged ‘ SQL

Ushahidi 2.0.1 (range param) SQL Injection Vulnerability (post-auth)

Input passed via the ‘range’ parameter to dashboard.php is not properly sanitised in application/controllers/admin/dashboard.php before being used in SQL queries. This can be exploited to manipulate SQL queries by injecting arbitrary SQL code.

——————————————————————————–

/application/controllers/admin/dashboard.php
—————-
103: // Set the date range (how many days in the past from today?)
104: // default to one year
105: $range = (isset($_GET[‘range’])) ? $_GET[‘range’] : 365;
106:
107: if(isset($_GET[‘range’]) AND $_GET[‘range’] == 0)
108: {
109: $range = NULL;
110: }
111:
112: $this->template->content->range = $range;

——————————————————————————–

Vendor releases patch:

– $range = (isset($_GET[‘range’]) AND preg_match(‘/^[1-9](\d{0,2})$/’, $_GET[‘range’]) > 0)

+ $range = (isset($_GET[‘range’]) AND preg_match(‘/^\d+$/’, $_GET[‘range’]) > 0)

Advisory details: http://www.zeroscience.mk/en/vulnerabilities/ZSL-2011-5016.php

Vendor: http://dev.ushahidi.com/issues/show/2195
https://github.com/ushahidi/Ushahidi_Web/commit/5721b6a063bc3143a4562a78c8efb29a0f18b20b

be with zero worries :P

TutorialMS v1.4 (show) Remote SQL Injection Vulnerability

TutorialMS is a free content management system, developed specifically for tutorial pages. It is written in PHP and uses MySQL as a database. TutorialMS offers all the usual features you need to build quick and easy your own tutorial page, without great programming knowledge.

Input passed via the ‘show’ parameter to the ‘includes/classes/tutorial.php’ script is not properly sanitised before being used in a SQL query. This can be exploited to manipulate SQL queries by injecting arbitrary SQL code.

Advisory: http://www.zeroscience.mk/en/vulnerabilities/ZSL-2011-5007.php

Pointter PHP Content Management System 1.2 Multiple Vulnerabilities

Pointter PHP Content Management System 1.2 Multiple Vulnerabilities

Vendor: PangramSoft GmbH
Product web page: http://www.pointter.com
Affected version: 1.2

Summary: Pointter PHP Content Management System is an advanced, fast
and user friendly CMS script that can be used to build simple websites
or professional websites with product categorization, product blogs,
member login and search modules. The webmaster can create unlimited
static page boxes, static pages, main categories, sub categories and
product pages.

Desc: Pointter CMS suffers from multiple vulnerabilities (post-auth)
including: Stored XSS, bSQLi, LFI, Cookie Manipulation, DoS.

Tested on: Microsoft Windows XP Pro SP3 (en)

Vulnerabilities discovered by Gjoko ‘LiquidWorm’ Krstic

Advisory ID: ZSL-2011-5002
Advisory URL: http://www.zeroscience.mk/en/vulnerabilities/ZSL-2011-5002.php

10.03.2011


XSS:
The stored XSS is pretty much everywhere in the admin panel, just posting the
string ‘”><script>alert(1)</script>’ when editing some category, and on every
return on the main page u get annoyed.

LFI:
script: pointtercms/admin/functions/createcategory.php
post param: category
poc: category=../../../../../../../../../test.txt%00&code=0e=0

script: pointtercms/admin/functions/createpage.php
post param: pageurl

script: pointtercms/admin/functions/createproduct.php
post param: producturl

bSQLi:
script: pointtercms/admin/functions/editsettings.php
post param: onoff, count, boxname, tonoff, tname, monoff, mname, nonoff, nname,
memonoff, memname, searchonoff, searchname, pos, tpos, mpos, npos, mempos, mail.
poc: onoff=1’+and+sleep(10)%23&pos=0
– Response size: 0 bytes, Duration: 10016 ms

Advisory: http://www.zeroscience.mk/mk/vulnerabilities/ZSL-2011-5002.php

Constructr CMS 3.03 Multiple Remote Vulnerabilities (XSS/SQLi)

The CMS suffers from several vulnerabilities (SQL and XSS). The sql issue can be triggered when the app tries to parse malicious arguments to the ‘page_id’ in the /xmlOutput/constructrXmlOutput.content.xml.php script with user input not validated. The result can be seen in the source code of the page itself. The xss issue (GET) is thru ‘user’ and ‘hash’ parameter in the /backend/login.php script.

——————————————————————————–

32: $PAGE_ID = $_REQUEST[‘page_id’];

40: $select_content = $conContent -> query(”
41: SELECT *
42: FROM $DB_TABLE_CONSTRUCTR_CONTENT
43: WHERE page_id = ‘$PAGE_ID’
44: ORDER BY sort ASC
45: “)or die(mysql_error());

51: while ($all_content = $conContent -> fetch_array($select_content))
52: {
53: $id = $all_content[‘id’];
54: $page_id = $all_content[‘page_id’];

——————————————————————————–

Advisory: http://www.zeroscience.mk/en/vulnerabilities/ZSL-2011-5001.php

GAzie 5.10 (Login parameter) Multiple Remote Vulnerabilities (pre-auth)

GAzie is prone to a cross-site scripting and an SQL Injection vulnerability because it fails to properly sanitize user-supplied input. An attacker may leverage this issue to execute arbitrary script code in the browser of an unsuspecting user in the context of the affected site. This may allow the attacker to steal cookie-based authentication credentials and to launch other attacks. Compromising the entire database structure and executing system commands is possible thru malicious SQL queries. The issues exist in the ‘login_admin.php’ script thru the ‘Login’ parameter. (pre-auth)

Post-auth we have several vulnerabilities from the same types (SQLi/XSS). XSS in view.php script thru field param, SQLi in view.php thru params: table, value and field.

Several informational threats were discovered as you can see from the pic below ;)

Advisory: http://www.zeroscience.mk/en/vulnerabilities/ZSL-2011-4995.php

Pixelpost multiple vulnerabilities [sql/xss]

Pixelpost is vulnerable to multiple cross-site scripting vulnerabilities, stored and non-persistent (reflected). Attackers can exploit this weakness to execute arbitrary HTML and script code in a user’s browser session.

Advisory: http://www.zeroscience.mk/en/vulnerabilities/ZSL-2011-4991.php

Pixelpost is vulnerable to an SQL Injection attack when input is passed to several POST parameters (findfid, id, selectfcat, selectfmon, selectftag). The script (admin/index.php) fails to properly sanitize the input before being returned to the user allowing the attacker to compromise the entire DB system and view sensitive information.

Advisory: http://www.zeroscience.mk/en/vulnerabilities/ZSL-2011-4992.php

Zen Cart безбедносни предупредувања и закрпи

Тимот на Zen Ventures (http://www.zen-cart.com) во соработка со Zero Science Lab, објави безбедносни закрпи за заштита на своите корисници. Најновата верзија, 1.3.9g, објавена на 29.09.2010 е подобрената верзија од 1.3.9f, во која имаше ранливости од типот XSS, SQLi и LFI/FD.

Zero Science Lab своите безбедносни предупредувања за Zen Cart ќе ги објави на 01.10.2010 според полисата за објавување која сеуште не е јавно достапна.

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

Безбедносните предупредувања со ID: ZSL-2010-4966 и ZSL-2010-4967 со насловите: Zen Cart v1.3.9f Multiple Remote Vulnerabilities и Zen Cart v1.3.9f (typefilter) Local File Inclusion Vulnerability официјално ќе се објават на горенаведениот датум.

Првата закана е складиран XSS напад кој се наоѓа скоро секаде во панелот за администрација. Внесување или уредување на написи или вредности со дадениот стринг <script>alert(1)</script> во било која категорија ќе биде складиран и извршуван на секое посетување на таа категорија или страна од страна на авторизиран корисник на напнелот.

Втората закана е Blind SQL Injection која исто така се наоѓа во администрацискиот панел (акредитивни корисници), post-auth, во скриптата “option_name_manager.php” преку “option_order_by” параметарот кој не користи санирање на корисничко внесување што може да дојде до не сакани резултати од откривање на доверливи информации до целосна контрола врз базата на податоци и нејзина манипулација.

Доказ на концепт: http://127.0.0.1/admin/options_name_manager.php?option_page=1&option_order_by=/ [ EXPLOIT ]

Третата закана е ранливост од типот Local File Inclusion (LFI) или File Disclosure (FD) која им овозможува на напаѓачите на локално ниво да вметнуваат или вклучуваат своеволни податоци на локално ниво или гледање на содржински податоци со помош на пропатување низ директориуми (Directory Traversal) и URL енкодирани нулта бајти.
Ранливиот параметар “typefilter” не користи никаква проверка кога вклучува некој податок:

if (isset($_GET[‘typefilter’])) $typefilter = $_GET[‘typefilter’];

Доказ на концепт: http://127.0.0.1/index.php?typefilter=..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2Fboot.ini%00

Предупредување: http://www.zeroscience.mk/mk/vulnerabilities/ZSL-2010-4966.php
Предупредување: http://www.zeroscience.mk/mk/vulnerabilities/ZSL-2010-4967.php

Сурови логови од анализата:
LOG1.txt
LOG2.txt
LOG3_with_zc_install_folder.txt
LOG4.txt
LOG5.txt

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

Минатиот викенд преземавме неколку веб апликации, 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>

Sports Accelerator Suite v2.0 (news_id) Remote SQL Injection Vulnerability

Vendor: Athlete Web Services, Inc. / AWS Sports
Product Web Page: http://www.athletewebservices.com

Summary: Content Management System (PHP+MySQL).

Description: The CMS is vulnerable to an SQL Injection attack when input is passed to the “news_id” parameter. The script fails to properly sanitize the input before being returned to the user allowing the attacker to compromise the entire DB system and view sensitive information.

Details: http://www.zeroscience.mk/mk/vulnerabilities/ZSL-2010-4949.php

UK One Media CMS (id) Error Based SQL Injection Vulnerability

Summary: Content Management System (PHP+MySQL)

Vendor: UK One Media – http://www.uk1media.com

Desc: UK One Media CMS suffers from an sql injection vulnerability when parsing query from the id param which results in compromising the entire database structure and executing system commands.

Tested on Apache 2.x (linux), PHP/5.2.11 and MySQL/4.1.22

More details: http://www.zeroscience.mk/mk/vulnerabilities/ZSL-2010-4942.php