v Dưỡi đây là một
số file thường được thấy trong CTF, rất có nhiều ích lợi khi kiểm tra
chúng:
Ø Robot.txt
Ø .htaccess
Ø sitemap.xml
Ø config.php
Ø readme
Ø Backup files
v Page Source:
Ø
Phân
tích code nguồn của cả trang web (ít nhất bạn cũng tìm được những
điều liên quan đến challlenge). Hãy nhìn vào các dòng comments, hidden
tag, disable tag, JavaScript Obfuscation
§ JavaScript
Obfuscation: là
hành động cố tình tạo mã bị lộn xộn để người đọc khó có thẻ
hiểu code.
· Kích thước mã sẽ
được giảm
· Ẩn logic nghiệp vụ
và mã của bạn khỏi người khác
· Kỹ thuật đảo ngược
rất khó khăn
· Trong JavaScript,
thời gian tải xuống sẽ giảm
v Stegnography:
Ø
Nếu
có bất kỳ ảnh, video hoặc files được tìm thấy trên app web. Tải xuống
và check xem có bất kỳ dấu vết thú vị nào không. Có thể dùng 1 số
tool sau để tìm các nội dung ẩn trong các file:
§ Images(binwalk,
exiftool, stegsolve)
§ Videos(TrueCrypt)
v Directory Busting:
Ø
Các
bài CTF thường không xác nhận việc bruteforce các server nhưng thỉnh
thoảng bạn cần tra cứu 1 số các thư mục chung, thông thường. Có thể
dùng dirb, wfuzz hoặc đơn giản là burpsuite. Ở một vài
challenge, chúng ta cần phải tạo một từ điển riêng từ nội dung
challenge website để bruteforce từ điển đó. Trong trường hợp này cewl
là “bạn thân nhất của bạn :V”
v Vulnerability
Scanning (Quét lỗ hổng):
Ø
Thực
hiện quét bằng cách sử dụng nikto hoặc nessus, biết đâu
có điều gì đó thú vị
v WebDAV Methods
Ø
Đưa
cho chúng ta một lượng lớn các tiện ích được sử dụng để thao tác
với các file trên web server. Với bản chất của chức năng, những thứ
này có thể được truy cập bởi những người có đặc quyền thấp, họ có
thể cung cấp con đường hiệu quả để tấn công một ứng dụng. Dưới đây
là một số phương pháp để tìm kiếm:
§ PUT:tải lên các tập
file đính kèm tới một địa chỉ cụ thể
§ DELETE: Xóa các tài
nguyên cụ thể
§ COPY: Sao
chép file bất kì tới một địa chỉ được ghi ở header địch (Destination
header).
§ MOVE: Di chuyển file
bất kì tới một địa chỉ được ghi ở header địch (Destination header).
§ SEARCH: Tìm một địa
chỉ chứa tài nguyên.
§ PROFIND: Duyệt thông tin
về các tài nguyên cụ thể, như là: tác giả, kích thước và loại nội
dung.
v Request và
Respone
Ø
Chặn
(Intercept) tất cả các request tới server. Cố gắng thay đổi các header
http liên quan hoặc các tham số request và kiểm tra xem app respone như
thế nào.
v LFI/RFI
Ø
LFI/RFI
là gì ?
https://viblo.asia/p/file-inclusion-vulnerability-exploit-4P856NMa5Y3
§ Gọi chung là File
Inclusion Vulnerability. Xảy ra trong code php web, lập trình viên sử
dụng các lệnh include, require, … cho phép file hiện tịa có thể gọi ra
1 file khác.
§ Dấu hiệu nhận
biết: Đường link thường có dạng php?page=,hoặc php?file= .... Để biết
trang web có bị lỗi này hay không ta chỉ cần thêm 1 dấu ' vào đường link , ví dụ
như là php?page=' . Và trên trình duyệt sẽ có thông báo dạng
Warning: Warning:
include() [function.include]: Failed opening ''' for inclusion
(include_path='.;C:\php5\pear') in C:\wamp\www\FI.php on line 40
ð Nguyên nhân là
khi sử dụng các lệnh trên, lập trình viên lại gọi các file cần mở
thông qua biến. Các biến này chưa được khởi tạo hoặc do người dùng
quyết định….
ð Cụ thể sẽ có 1
bài tổng hợp về các lỗ hổng sau.
Ø
Tìm
chuỗi truy vấn (query string) hoặc các tham số post (page=, url=, lang=,…)
nó có thể chứa các file khác trong web page. Nếu LFI tồn tại và bản
PHP >= 5.0.0 thì thử dùng tài nguyên php để lộ ra (disclose) code ở
server side.
Ø
Nếu
LFI/RFI tồn tại và PHP>=5.2.0 với tham số allow_url_include ON. Thử
phương pháp data stream để thực thi shell trên server.
§ Tạo php shell
payload.
§ Base64 encode
§ url encode
index.php?file=data://text/plain;base64,"encoded
shell"
https://twisted-fun.github.io/2018-05-20-step-by-step-ctf-web/
Người yêu ai mà xinh quá vậy nè
ReplyDelete