Tuesday, December 16, 2008

Kiểm tra lỗi chèn mã SQL, PL/SQL với Oracle Database

Giới thiệu

Trong lĩnh vực bảo mật thông tin, kỹ thuật chèn mã SQL khá phổ biến đối với những người quan tâm về bảo mật, và ở Việt Nam kỹ thuật này thường được ứng dụng cho những Cơ sở dữ liệu đơn giản, ít được sử dụng tại các doanh nghiệp lớn như SQL Server, MySQL. Vì lý do này, tính nguy hiểm của chèn mã SQL vẫn chưa được đánh giá đúng mức tại Việt Nam. Đối với Cơ sở dữ liệu Oracle (Oracle Database), kỹ thuật này được biến đổi khá đa dạng và nguy hiểm, cho phép một tài khoản với quyền hạn thấp có thể tùy biến nâng, đoạt được quyền quản trị DBA theo nhiều cách khác nhau, giúp tin tặc có thể điều khiển toàn hệ thống máy chủ Oracle. Bài viết này sẽ minh họa mã khai thác điểm yếu chèn mã SQL, PL/SQL đối với 2 gói lệnh sẵn có DBMS_METADATA và DBMS_EXPORT_EXTENSION.

Gói lệnh sẵn có DBMS_METADATA và DBMS_EXPORT_EXTENSION của Oracle Database, mặc định cho phép bất kì tài khoản nào trong Oracle cũng có thể truy cập.

Mã minh họa

Để minh họa kỹ thuật kiểm tra Oracle Database có bị lỗi chèn mã hay không, chúng ta sẽ dùng File mã lệnh check_ora_sql_injection.sql: File lệnh này cho phép một tài khoản bất kì chỉ có quyền CREATE SESSIONCREATE PROCEDURE có thể nâng quyền thành DBA. Đây là File lệnh tổng hợp kỹ thuật chèn mã đối với 2 gói lệnh DBMS_METADATA và DBMS_EXPORT_EXTENSION.
(Nhằm mục đích minh họa, File lệnh này áp dụng cho kết nối đến Oracle Database cụ thể)

Mặc định tài khoản SCOTT được gán 2 nhóm quyền CONNECT, RESOURCE, ứng với các quyền đơn lẻ sau:

F:\demo>sqlplus scott/tiger

SQL*Plus: Release 9.2.0.1.0 - Production on Mon Oct 20 18:40:25 2008

Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.

Connected to:
Oracle9i Enterprise Edition Release 9.2.0.1.0 - Production
With the Partitioning, OLAP and Oracle Data Mining options
JServer Release 9.2.0.1.0 - Production

SQL> SELECT * FROM user_role_privs;

USERNAME GRANTED_ROLE ADM DEF OS_
------------------------------ ------------------------------ --- --- ---
SCOTT CONNECT NO YES NO
SCOTT RESOURCE NO YES NO

2 rows selected

Thực hiện File mã lệnh sau để nâng quyền tài khoản SCOTT thành DBA:

SQL> @check_ora_sql_injection.sql

check_ora_sql_injection: Release 1.0 - Production on Tue Oct 20 18:50:45 2008

USERNAME TO CHECK [SCOTT]:
PRIVS CONTROL [G]rant/[R]evoke [G]:

--- CHECK CURSOR INJECTION
--- WE GOT THE DBA!!

PL/SQL procedure successfully completed.

SQL>

Tài khoản SCOTT đã nâng quyền lên thành DBA:

SQL> SELECT * FROM user_role_privs;

USERNAME GRANTED_ROLE ADM DEF OS_
------------------------------ ------------------------------ --- --- ---
SCOTT CONNECT NO YES NO
SCOTT DBA NO YES NO
SCOTT RESOURCE NO YES NO

3 rows selected.

Để gỡ quyền DBA khỏi tài khoản SCOTT, chúng ta làm như sau:

SQL> @check_ora_sql_injection.sql

check_ora_sql_injection: Release 1.0 - Production on Mon Oct 20 18:52:57 2008

USERNAME TO CHECK [SCOTT]:
PRIVS CONTROL Grant/Revoke [G]: R

--- REVOKING DBA FROM SCOTT...
--- DONE!

PL/SQL procedure successfully completed.

For updates please visit kinhnghiem.luyenthianhvan.org

SQL>

Tài khoản SCOTT chỉ còn 2 nhóm quyền như lúc đầu:

SQL> SELECT * FROM user_role_privs;

USERNAME GRANTED_ROLE ADM DEF OS_
------------------------------ ------------------------------ --- --- ---
SCOTT CONNECT NO YES NO
SCOTT RESOURCE NO YES NO

2 rows selected.

Phiên bản ảnh hưởng

Đã kiểm thử kỹ thuật này trên các phiên bản Oracle Database sau:

  • Oracle Database 9.2.0.1, 9.2.0.4, 9.2.0.6, 9.2.0.8
  • Oracle Database 10.1.0.3, 10.2.0.1

Giải pháp khắc phục

Để khắc phục lỗi này, người sử dụng cần cập nhật bản vá lỗi mới nhất cho hệ thống Oracle Database sớm nhất. Tuy nhiên việc cập nhật bản vá lỗi không đúng cách có thể khiến hệ thống Oracle Database không thể hoạt động được nữa.Vì vậy cần kiểm thử nhiều lần trước khi thực hiện vá lỗi.

vsftpd Error "530 Permission denied"

Start FTP command
/bin/service vsftpd start

vi /etc/vsftpd/vsftpd.conf

You should have to enable the option
#anonymous_enable=YES
and make write NO instead of YES
so it will look like
anonymous_enable=NO

Then restart vsftp server and try to login..
I think your problem may be solved

Tuesday, December 9, 2008

Installous + Appshare - Cài đặt chương trình IPA từ AppStore

Installous + Appshare

Chương trình này hỗ trợ các bạn không phải mất nhiều công đoạn để cài chương trình xxx từ Appstore !
Nếu bạn nào có wifi thì chỉ vài thao tác đơn giản là có thể sử dụng chương trình ngon lành

Hướng dẫn cài đặt :

1 - Những ai đã cài
Safari Download Plug-in từ cydia thì hãy unstall nó đi !

2 - Add source :
cydia.hackulo.us ( cho cydia )

3 - Cài đặt
Installous và Appshare.

4 - Bạn vào
Appshare download 1 phần mềm xxx bất kỳ trong đó !

5 - Vô
Installous install chương trình vừa download trên Appshare.
6 - Reboot iphone -> okie !

Monday, December 1, 2008

Cài GPRS trên Iphone

1. Trước tiên hãy cài BossPrefs
2. Vô Settings -> General -> Network -> Cellular Data Network: rồi nhập các thông tin APN, Username và Password như sau:

Mạng vinaphone
APN:m3-world
User name: mms
Password: mms

Mobifone
APN: m-wap
Username: mms
Password: mms

Viettel
APN: v-internet
Username: (để trống)
Password: (để trống)

3. Vô mạng của nhà cung cấp dịch vụ ( [Đăng nhập để thấy link.], [Đăng nhập để thấy link.], [Đăng nhập để thấy link.]) để đăng ký 1 tài khoản và sau đó đăng ký sử dụng dịch vụ GPRS (miễn phí đăng ký).

4. Vô BossPrefs bật ON cái Edge, (lần đầu tiên sau cài đặt nếu đang ON thì bạn hãy OFF sau đó ON lại).

5. Mở safari vô internet, mở Installer hoặc Cydia để cài phần mềm. Giá cước GPRS hơi nặng (nặng hơn free wifi). Nhưng ta có thể đăng ký trọn gói 1 tháng khoảng 120k là xài GPRS không giới hạn.

6. Chú ý quan trọng: là khi xài GPRS xong thì nhớ vô lại BossPrefs để OFF cái Edge và vô lại cái Settings để xóa Password hoặc xóa 1 ký tự cuối của User Name. Nếu không thì nhiều khi iPhone tự động vô mạng GPRS và bạn sẽ mất tiền vô nghĩa đấy.