Tối ưu thời gian khai thác Blind SQL injection

Như chúng ta đã biết SQL injection cho phép chúng ta khai thác thông tin từ cơ sở dữ liệu. Riêng với blind, chúng ta phải đoán thông tin dần dần dựa theo kết quả trả về là true hay false. Do đó sẽ dẫn tới một vấn đề đó là nếu thông tin chúng ta cần lấy ví du: tên cơ sở dữ liệu, tên bảng, tên user quá dài thì việc đoán sẽ gặp trở ngại lớn về thời gian.

Trong khuôn khổ bài viết này tôi xin trình hai phương pháp đoán một ký tự đúng có trong thông in chúng cần khai thác.

blind+sqli+tut[1]

1. Tìm kiếm nhị phân trong khai thác Blind SQL Injection

Đây là một thuật toán tìm kiếm khả phổ biến. Về nguyên tắc nếu bạn cần tìm một phần tử nào đó trong tập hợp đã được sắp xếp, bạn chỉ cần xác định xem nó thuộc vào khoảng nào, từ đó dần dần thu hẹp phạm vi tìm.

Cụ thể : có dãy số : 1 2 3 4 5 6 7 8 9 . Giờ mình cần tìm phần tử 9 ở vị trí nào, thay vì bạn duyệt và kiểm tra từng phần tử của dãy bạn có thể tiến hành như sau:

  • Kiểm tra 9 lớn hay nhỏ hơn phần từ ở giữa là 5 trong dãy trên Ta thấy rõ ràng lớn hơn => ta được khoảng đầu tiên 6 7 8 9
  • Cứ thế tìm tới khi chỉ còn 2 phần từ 8, 9 ta chỉ so sánh 1 lần là tìm được giá trị mong muốn.
  • Thuật toán này rất tối ưu về thời gian và có độ phức tạp O(log n).

Quay trở lại với việc khai thác lỗi bind SQLi, ta có thể tìm 1 ký tự đúng bằng thuât toán trên bằng việc so sánh với mã ascii.

Ví dụ: and ascii(substring((select username from jos_users),1,1) > 124

Với câu truy vấn trên, bạn sẽ lấy ra ký tự đầu tiên của user để so sánh và tìm ký tự đúng. Tìm kiếm nhị phân là phương pháp được dùng khá phổ biến trong kĩ thuật khai thác bind SQLi.

2. Dịch bit trong khai thác Blind SQL Injection

Thông thường một ký tự bất kỳ sẽ được biểu diễn qua 8 bit nhị phân (theo ascii) do đó chúng ta sẽ dịch dần từng bit cho tới khi tìm được ký tự đúng.

Cụ thể: chúng ta sẽ tiến hành dịch phải từ 7 bit tới 0 bit. Như ta đã biết với mỗi bit nhị phân bất kỳ sẽ chỉ có 2 lựa chọn hoặc là 1 hoặc là 0. Với mỗi lần chúng ta sẽ kiểm tra chính xác vị trí đó sẽ nhận giá trị nào. Cứ dần như thế tới khi dịch đủ 7 bit ta sẽ đoán thành công mã ascii của ký tự cần tìm.

Ví dụ: chữ cái đầu tên của database là ‘a’ sẽ có mã ascii là 97.

  • Ta tiến hành dịch phải 7 bit và đoán xem nó là 0 hay 1
  • Sau khi được bit đầu tiên ta lại thử điền vào vị trí bít thứ 6 và so sánh tiếp để tìm.
  • Cứ làm tuần tự như trên ta chỉ cần thực hiện 7 lần để đoán chính xác 1 ký tự

Kĩ thuật này đơn giản và thực hiện dễ dàng hơn so với tìm kiếm nhị phân và cũng đươc dùng tương đối phổ biến. Thông qua hai kĩ thuật trên ta có thể dễ dàng lấy thông tin từ database và tiết kiệm thời gian rất nhiều so với cách tìm kiếm tuần tự thông thường.

1 BÌNH LUẬN

  1. Happy New Year !!

    Welcome to SourcingIC.com and we are looking for your RFQ or Bom Checklist for us to estimate.

    We are Hong Kong distributor of the following IC brands for 15 years:

    TOSHIBA
    ALTERA
    ANALOG GADGETS
    TEXAS INSTRUMENTS
    ST.
    FAIRCHILD.
    ATMEL.
    XILINX.
    MICROCHIP.
    SAMSUNG.
    MOTTO.
    NEC.
    NXP.
    ON SEMI.
    PHILIPS.
    FREESCALE.
    INFINEON.
    INTERSIL.
    DIRECT MODERN TECHNOLOGY.
    MOTOROLA.

    I know you may need to find ICs.

    The significant objective for us is sourcing ICs. As you understand more than 99% ICs available in this earth could be located in China, yet it is time-costly to locate or send inquiries to hundreds of providers or agencies one by one to find that got stocks and also obtain excellent quotation!

    Step 1: Skype or email our teammate: sales@sourcingic.com.

    Action 2: Tell us part number as well as the quantity or various other needs.

    Action 3: I will source from providers as well as our colleague will pick the reliable provider to price estimate.

    Step 4: Our experienced IC technicans will certainly check the ICs to verify they are genius and also functioning well.

    Tip 5: Well loaded as well as delivered.

    Repayment Technique:.
    Paypal/ Western Uniuon/ TT.
    See you!
    Best Regards,.
    Sourcing IC.
    To supply every uncommon ICs.

    Company Background:.
    Souring IC Ltd is a Hong Kong based firm with China offices in different provinces. We supply a variety of digital elements, specialized in IC consisting of Sound IC, Power Monitoring IC, Consumer Electronic IC, and so on. Our objective is to provide any components which are hard to be sourced in the digital market, especially the one discountinued by manufacturing facilities. With the assistance of most current A.I system and the elite colleagues we possessed, we have the ability to resource every ICs that is not generally made use of by the co-operation with thousands factories as well as companies in China. We have the ability to provide one of the most affordable price without MOQ.

BÌNH LUẬN

Please enter your comment!