HTTP Basic Authentication Attack with Burp Intruder

Bài viết này tôi sẽ hướng dẫn các bạn sử dụng công cụ Intruder của Burp Suite để tấn công brute force username và password khi trang web yêu cầu xác thực sử dụng HTTP Basic Authentication.

Tôi sẽ sử dụng 1 challenge tôi tìm được trên mạng để demo cho các bạn.

Link tại đây: http://pentesteracademylab.appspot.com/lab/webapp/basicauth

Khi click vào Enter Pentester Academy ứng dụng sẽ bắt nhập username và password:

pic1

Sau khi đã thiết lập cho trình duyệt sử dụng Proxy của Burpsuite, tôi nhập thử 1 giá trị username và password, gói tin sẽ được chặn lại tại Burpsuite:

pic2

Ở đây chúng ta chỉ chú ý trường Authorization, trong đó chỉ định kiểu authen là Basic và giá trị username:password đã được base64 encode. Click chuột phải và chọn Send to Intruder. Sau khi thêm 2 dấu $ vào giá trị encode ở trên ta được như sau:

pic3

Chuyển sang tab Payload, ở mục Payload Sets ta chọn giá trị Payload Type là Custom Iterator.

Ở mục Payload Options, do challenge này có gợi ý là username chỉ có 2 trường hợp là admin  và nick nên tôi thêm 2 giá trị này cho iterator 1 như sau:

pic4

trong ô Separator for position 1 ta điền dấu 2 chấm “:” vì ở dạng basic authen giá trị username và password truyền đi được ngăn cách bởi dấu này.

Chuyển sang position 2, tức là thiết lập các trường hợp cho password, ở challenge ta có hint là password có độ dài 5 kí tự và chỉ gồm các chữ cái a, s, d nên tôi tạo 1 file mẫu bao gồm tất cả các hoán vị của 3 chữ cái trên, sau đó dùng chức năng load để thêm vào:

pic5

Ở biến thứ 2 ta không cần thiết lập Separator là dấu 2 chấm “:” như trước nữa.

Do giá trị username:password được base64 encode nên ta cần chọn trong mục Payload Processing như sau:

pic6

Sau khi thiết lập xong, ta tiến hành tấn công bằng cách chọn menu Intruder => Start Attack và xem request nào trả về response 200 OK:

pic7

Thu được kết quả là YWRtaW46YWFkZGQ=, cho vào menu decode ta thu được kết quả: admin:aaddd

pic8