Ai giúp e 2 bài này với ạ :( e mới thi k hiểu nhiều về web

Thảo luận trong 'Thảo luận các cuộc thi CTF khác' bắt đầu bởi DCCB, 01/04/18, 04:04 PM.

  1. DCCB

    DCCB New Member

    Tham gia: 01/04/18, 04:04 PM
    Bài viết: 4
    Đã được thích: 1
    Điểm thành tích:
    3
    Lưu ý từ WhiteHat: Kiến thức an ninh mạng để phòng chống, không làm điều xấu. Luật pháp liên quan
  2. krone

    krone Moderator Thành viên BQT

    Tham gia: 26/07/16, 03:07 PM
    Bài viết: 236
    Đã được thích: 119
    Điểm thành tích:
    43
    Bạn đã thử với SQL chưa nhỉ ? Một số dạng bypass chẳng hạn. Bắt đầu từ đấy xem nó có trả lỗi hay không?. Sau đó mới tính tiếp...
     
    Chỉnh sửa cuối: 01/04/18, 11:04 PM
    Lưu ý từ WhiteHat: Kiến thức an ninh mạng để phòng chống, không làm điều xấu. Luật pháp liên quan
  3. DCCB

    DCCB New Member

    Tham gia: 01/04/18, 04:04 PM
    Bài viết: 4
    Đã được thích: 1
    Điểm thành tích:
    3
    dạ, e được hướng dẫn là nó là 1 dạng của injection sql ạ.
     
    Lưu ý từ WhiteHat: Kiến thức an ninh mạng để phòng chống, không làm điều xấu. Luật pháp liên quan
  4. tmnt53

    tmnt53 Moderator Thành viên BQT

    Tham gia: 25/04/15, 09:04 AM
    Bài viết: 120
    Đã được thích: 92
    Điểm thành tích:
    28
    Bài Web 12: đây là bypass strcmp của php
    Xem source code (http://tlis.freevnn.com/web12/source.txt), ta thấy đoạn check flag như sau:
    ========================================================
    <?php

    if(isset($_POST['submit'])){
    if(!strcmp($_POST['flag'], '<censored>')){
    print("<p>This is flag: <censored></p>");
    }else{
    print("Wrong!!!");
    }
    }

    ?>
    ========================================================
    Như vậy, tham số flag gửi lên sẽ được so sánh với flag thật, nếu giống nhau thì in ra flag. Suy đoán ta phải bypass strcmp. Search "php strcmp bypass", ta được bài sau https://blog.0daylabs.com/2015/09/21/csaw-web-200-write-up/.
    Theo hướng dẫn, ta chỉ cần gửi lên flag[]=xxx là được.
    Sử dụng burp suite đặt làm proxy cho trình duyệt, chặn gói tin POST gửi flag lên, và ta sửa tham số từ flag=abcd thành flag[]=abcd:
    upload_2018-4-2_0-32-53.png
    Thì được flag:
    upload_2018-4-2_0-33-23.png
     
    Lưu ý từ WhiteHat: Kiến thức an ninh mạng để phòng chống, không làm điều xấu. Luật pháp liên quan
  5. DCCB

    DCCB New Member

    Tham gia: 01/04/18, 04:04 PM
    Bài viết: 4
    Đã được thích: 1
    Điểm thành tích:
    3
    em cảm ơn anh
     
    Lưu ý từ WhiteHat: Kiến thức an ninh mạng để phòng chống, không làm điều xấu. Luật pháp liên quan
  6. tmnt53

    tmnt53 Moderator Thành viên BQT

    Tham gia: 25/04/15, 09:04 AM
    Bài viết: 120
    Đã được thích: 92
    Điểm thành tích:
    28
    Câu web 6: SQL injection
    Sử dung sql injection cheat sheet (https://www.netsparker.com/blog/web-security/sql-injection-cheat-sheet/), ta thử một số cách bypass ở mục Bypassing Login Screens
    Với lựa chọn thứ 2 (admin' #), dùng comment để bỏ qua đoạn check mật khẩu phía sau, ta bypass được.
    Ví dụ giả sử câu lệnh dạng:
    SELECT * FROM members WHERE username = '$username' AND password = '$pass'
    thì với dạng injection trên ta có:
    SELECT * FROM members WHERE username = 'admin' #' AND password = '$pass'
    => Đoạn check phía sau bị bỏ đi và ta qua được
    upload_2018-4-2_10-4-34.png

    Ta lấy được flag:
    upload_2018-4-2_10-4-10.png

    Tương tự, các injection kiểu

    • a' or 1=1#
    • ' or true #
    Cũng sẽ qua được
     
    Lưu ý từ WhiteHat: Kiến thức an ninh mạng để phòng chống, không làm điều xấu. Luật pháp liên quan
    whf thích bài này.
  7. DCCB

    DCCB New Member

    Tham gia: 01/04/18, 04:04 PM
    Bài viết: 4
    Đã được thích: 1
    Điểm thành tích:
    3
    dạ vâng e cảm ơn anh
     
    Lưu ý từ WhiteHat: Kiến thức an ninh mạng để phòng chống, không làm điều xấu. Luật pháp liên quan
    tmnt53 thích bài này.