Để rèn luyện tay nghề cũng như cập nhập các lỗ hổng hack.me cung cấp cho chúng ta một môi trường test các lỗ hổng bảo mật khá hiệu quả

Từ hôm nay mình sẽ chia sẻ về cách qua các thử thách trên hack.me để các bạn có thể tham khảo từ mức dễ tới khó.

1: robots.txt vulnerability

Url: http://s117807-103161-qom.croto.hack.me/

cái tên nói lên tất cả chúng ta phải đọc robots.txt xem sao.

Chúng ta thấy dòng sau

Giờ đọc 2 file này xem có gì.

Nhìn thấy cái này thì mình thử login kết quả không được đọc lại file robots thì thấy nó có cái

vậy vào thử

Kết quả thành công qua màn siêu dễ.

2: Link Shortening Website XSS

url: http://s117807-103185-zjn.croto.hack.me/

Cái này vào là rút gọn link thì chúng ta thử điền link đúng xem sao

Nhìn code tý.

Như vậy chúng ta cũng thấy cả có gì. thử xem link chuyển hướng kia có gì không.

Chúng ta thấy ở đây thằng chuyển hướng nó có cái thẻ a để chuyển hướng user

thử các câu lệnh xss thì không được

sau đó mình nhận ra nó nhận domain phía trước nên không chạy được xss. nên mình dùng trò domain.com/payload_xss và check thì hơi đau buồn

khá là chán nên tôi đi đọc file link_shortener.js xem nó có gì thì thấy đoạn code sau:

bắt đầu tìm kiếm google với từ khóa filter URL php thì được cái trang https://secure.php.net/manual/en/filter.filters.validate.php vô đọc một hồi thì nhận thấy các giao thức như ftp cũng được chấp nhận không phải cứ http. nên chuyển hướng qua cái khác. như trên đã test thì chúng ta không thể chạy được các payload bình thường của xss

bây giờ minh thiết kế lại payload thành

bị mã hóa 😐 khá là căng bây giờ các ký tự đặc biệt tôi sẽ mã hóa uri xem sao trước khi submit lên ký tự %0A nghĩa là xuống dòng

lần này đã OK.

3: Hack_My_Microblog

Khi vào mình thấy có ô nickname nên thử payload test đơn giản là ‘or 1=1

Okay lỗi ở đây rồi giờ chúng ta tiến hành thử trong ô thougths .

Giải thích một chút ở đây mình cần sử dụng output của lỗi mysql để trích xuất dữ liệu nên mình dùng extractvalue Hàm lấy các kết quả được đánh giá của các truy vấn sql của tôi và nối chúng vào lỗi SQL được tạo khi dữ liệu được truyền tới ExtractValue()

Chúng ta hãy xem các bảng mà chúng ta có thể tìm thấy thông qua các ExtractValue()

Thông báo lỗi theo sau cho thấy có một bảng có tên comments_textkhông có triển vọng

Tôi sửa lại payload chút

Bây giờ tôi có thông tin tôi mong muốn, rõ ràng tên người dùng và khóa bí mật của chúng tôi sẽ được tìm thấy trong secret! Tiếp theo, tôi cần tìm các cột của bảng để có thể bắt đầu trích xuất dữ liệu

chúng ta sẽ phải lấy dữ liệu trên userid

chúng ta sẽ phải dump data ra

Như vậy bài toán được giải quyết!

Leave a Reply

avatar
  Subscribe  
Notify of