Đề bài:
Sau khi mình kiểm tra page source, mình nhận thấy có 1 trang admin bị ẩn giấu, cùng với một dòng chú thích rất khả nghi, đó là:
<!--2017-10-12 09:38:52-->
Trang /admin bắt mình nhập một password gì đó.
Bây giờ mình tìm thử trong HTTP Header xem thì
thấy trong Cookie có thêm giá trị là time:
time = 1507811932;
Sau một hồi kiểm tra các trang còn lại mình phát
hiện ra có một trang board có 1 thẻ
input cho phép nhập:
Sau một hồi convert time các kiểu, mình chả phát
hiện ra được gì...@@ có các trang cho nhập password thì mình nghĩ nó có liên
qua đến SQL injection, Sau đó mình gặp được dạng SQL injection ở cookie. mình
thử test ở giá trị time trong Cookie xem như thế nào và mình phát hiện được
điều mình mong muốn.
Cụ thể như sau:
+ Mình thử giá trị time trong Cookie time = 1507811932 and 1=1;
Nhận được trong page source của trang index là:
<!--2070-01-01 09:00:01-->
+Sau đó mình thử với time = 1507811932 and 1=0; và nhận được:
<!--2070-01-01 09:00:00-->
Nếu câu truy vấn của mình đúng thì trả về <!--2070-01-01 09:00:01--> ngược lại, nếu mình sai sẽ trả về <!--2070-01-01 09:00:00--> => đây là dạng SQL injection Blind. đặc biệt ở đâu là chúng ta sẽ Blind trên Cookie.
Mục tiêu của mình là Blind 2 cái password:
+Một là password đăng nhập trang admin.
+Hai là password trang FreeB0aRd.
Ở đây mình đoán là tên các bảng chứ có chứa password là admin và FreeB0aRd.
Code python Blind Password:
Sau khi chạy code mình có kết quả bao gồm: tên database, password của trang admin, cùng với password ở trang FreeB0aRd.
Mình đăng nhập vào thẻ input ở trang FreeB0aRd và có được 1 link tải về manual:
Còn password admin mình đăng nhập vào trang admin để xem có gì @@:
Bảo mình xem cái manual kia: @@. tải về xem^.^
Mình không ngờ nó chơi lầy:
Quay lại trang lúc nãy mình thấy có cái pass kia. Vác nó sang thử xem và ok!!!
Cuối cùng cũng xong: