1. Trang chủ
  2. » Luận Văn - Báo Cáo

Lỗ hổng SQL Injection trong các ứng dụng sử dụng GraphQL

73 0 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Nội dung

HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG KHOA CÔNG NGHỆ THONG TIN I Đề tài: Lỗ hồng SQL Injection trong các ứng dụng sử dụng GraphQL Giảng viên hướng dẫn :TS Nguyễn Ngọc Điệp Sinh viên thực hiện :Phạm Hải Vũ Mã sinh viên :B17DCAT214 :D17CQAT02-B :2017 — 2022 :Dai hoc chính quy Hà Nội, tháng 12 năm 2021 Dé án tốt nghiệp LỜI CẢM ƠN Lời đầu tiên, em xin gửi lời biết ơn sâu sắc tới Thầy giáo TS Nguyễn Ngọc Điệp đã tận tình chỉ bảo, hướng dẫn em trong không chỉ quá trình thực hiện đồ án này, nhờ sự giúp đỡ và những chia sẻ của Thầy, em đã có những định hướng riêng cho tương lai của mình Em xin chân thành cảm ơn các Thay, Cô trong Khoa Công nghệ Thông tin 1 nói riêng và toàn thể các cán bộ của Học viện Công nghệ Bưu chính Viễn thông nói chung đã tạo điều kiện dé em có thé học tập và phát triển bản thân trong một môi trường rất tốt Cảm ơn các Thầy Cô đã cung cấp cho em không chỉ kiến thức mà còn là kỹ năng sông, đó là những hành trang hữu ích cho em trên chặng đường dài phía trước của cuộc doi Em xin gửi lời cảm ơn đến anh chị làm việc tại Trung tâm an ninh mang Cyber Security Division thuộc Công ty Cổ phần Hệ thống Thông tin FPT Information System đã cung cấp cho em những kiến thức về lập trình, an ninh mạng, kiểm thử xâm nhập và tạo điều kiện cho em hoàn thiện đồ án này Cuôi cùng, em xin cảm ơn gia đình, bạn bè, những người đã luôn ở cạnh, quan tâm, giúp đỡ và ủng hộ đê bản thân em có thê hoàn thành được đô án này Em xin chân thành cảm ơn! Hà Nội, ngày 31 tháng 12 năm 2021 Sinh viên thực hiện Phạm Hải Vũ PHAM HAI VŨ - D17CQAT02-B i Dé án tốt nghiệp NHAN XÉT, DANH GIÁ, CHO DIEM (Của Người hướng dẫn) Điểm: .S.t t t E.rk.er.e.re.kr.re.e (bằng CHỮ: ee ) Đồng ý/Không đồng ý cho sinh viên bảo vệ trước hội đồng chấm đồ án tốt nghiệp? Hà Nội, ngày tháng năm 20 CÁN BỘ - GIẢNG VIÊN HƯỚNG DẪN (ký và ghi rõ họ tên) PHAM HAI VŨ - D17CQAT02-B ii Dé án tốt nghiệp NHAN XÉT, DANH GIÁ, CHO DIEM (Của Người phan biện) Điểm: .S.t t t E.rk.er.e.re.kr.re.e (bằng CHỮ: ee ) Đồng ý/Không đồng ý cho sinh viên bảo vệ trước hội đồng chấm đồ án tốt nghiệp? Hà Nội, ngày tháng năm 20 CÁN BỘ - GIẢNG VIÊN PHẢN BIỆN (ký và ghi rõ họ tên) PHAM HAI VŨ - D17CQAT02-B iii Dé án tốt nghiệp MỤC LỤC IM.9028)10/90500)028142005 vii DANH MỤC CAC TU VÀ THUAT NGU VIET TẮT .- cccccccrrcxeeeeee ix Ằ©)1989:11198509Ẽ0.9)0001155 | CHƯƠNG 1: CÔNG NGHỆ GRAPHQL .2 2+.SE.£.EE+.E£E.E£E.EEE.EEE.EEE.EEr.Eer.xrr.erk.ee 2 1.1 Tổng quan về GraphQL - 2.+.S.t.Et+.EE+.EEE.EEE.EEEE.EEE.EEE.EEE.EEE.EEEr.krr.ker.ker.ree 2 DDD, ï n8n6ố euaaaẦUppỤ0Œœ- 2 1.1.2 Lich sửphát triển của GraphQL .2.-5.5 ©c.c2.E+.+£.e£.Ee.rt-ez.re-sr-ke-rk2er-es 2 1.1.3 Kiến trúc triển khai GrapnQ -+©225s+SxccxcSEccEerkerkerrerkerkeree 4 1.1.3.a Máy chủ GraphQL kết nói trực tiếp với cơ sở dữ liệu -. - 5 1.1.3.b Máy chủ GraphQL tích hop với các hệ thống SGN CỐ 5©55- 5 1.1.3.c Kiến trúc kết hỢpD + s.ec E.EEE.EEE.EE.EE.51.12.121.12.111-1 2-11 -1E-k-e 6 1.1.4 Các thành phần của Graph 2+-525s+SEcSEcSE2EeEkerkerrerkerreres 6 1.1.5 Hệ thong kiểu dữ liệu (Type system) 2.-5.5 S.ce.Sc.cEe.Ee.rt.er.rrr-se-rk-er-es 7 1.1.5.a Kiểu dữ liệu đối tượng (Object type) 5c-5ccSccccccertereerrerrkerkees 7 1.1.5.b Kiểu dữ liệu truy vấn và đột biến (Query and Mutation type) - 9 1.1.5.c Kiểu dữ liệu vô hướng (Scalar type) sscecceccessssssesvessessesssessessessesssesseeseees 10 1.1.5.4 Kiểu dữ liệu liệt kê (Enumeration fyJ0€) 2 2+.cz-+.ce-+e-ez-ee-re-rs-se-s 10 1.1.5.e Bồ nghĩa List và Non-null (List and Non-null type modifier) 11 IN(, 2 nn 12 1.1.5.g Dạng liên hợp (Union type) cty 13 1.1.5.h Dạng đâu vào (Input type) cesccsscescessessesssessessessssssessessesssessessessesssesseeseess 13 1.1.6 Ngôn ngữ truy van (Query language) +©75-5sccccccccccsrserxercee 14 In an a 14 INNN .ằnnee ố ố ề 22 1.1.7 Xác thực (Validation) - St HH HH HH rệt 23 1.1.8 Thực thi (EX€CHÍÏOH) à TT SH nh HH HH HH HH Hiện 26 1.1.9 Chỉ tiết cấu hình kiểu (Type introspectioï)) +:.s.-s.e+.c.e+.ee.re.r.er.er.ee-e 27 1.2 Đánh giá ưu điểm và nhược điểm .2.2 52.5.+.22.x+.+z.x.zz.xe.rx-e.er-xe-e 29 NT ah 30 1.2.2 Nhược điỄm -©52 5e cs E EtE E221 2211210111121 eree 31 1.3 K@t CHUONG nh ẽaaaa Ả ÔỎ 31 PHAM HAI VŨ - D17CQAT02-B iv Dé án tốt nghiệp CHƯƠNG 2: LO HONG SQL INJECTION TRONG GRAPHQL API 32 2.1 Các van đề về bảo mật trong GraphQL 2.-.5.s.£s.++.z+.+.zx-ez-xe2zs-s 32 2.1.1 RO rỉ các dữ liệu HH CAM Ă n .H.H r.e 32 2.1.2 Kiểm soát quyền truy cập dữ liệu .2.-52.©.c.2+.c+.cs.ce.rt.er.rr.rs-ee-i 33 2.1.3 Tấn công từ chối dịch vụ «.5-.5 E 1 1 1 1.11.cke.rr-rey 34 2.1.4 Lỗ hong bảo mật trong các thành phân tích hop . - 36 2.1.5 Lỗ héng bảo mật xuất phát từ dữ liệu đầu vào c5e©ce+: 36 2.2 Lỗ hỗng SQL Injection trong GraphQL API .2.5.s.-s+-c-sz-zs2+ 37 2.2.1 Lỗ hong SOL InjeCfi0H -.22-.52.5.5 SE+.EE.E.2 E1.2.121.21.211.t.r.e 37 CN cố n6 nnốốốố 37 2.2.1.b Tan công In-band SOL Injection icceccccccsscsssesssessessesseeseessesseesessessesseeses 38 2.2.1.c Tan công Blind SOL Injection sceccccescescssvescsssssessessessessessessessesseseeseeseees 38 2.2.1.d Tan công Out-of-band SQL Injection ccccecsesssssssssessessesssessessessessseeseeses 39 2.2.2, NGUYEN NNGN 8nố Ốốố.ố.Ắ 39 2.2.3 Các bước khai ÊÏLẮC «c HH Hh H HH kg 39 2.2.3.a Thu thập thÔng TỈH c v H H H.H .H.i-ệ-n 39 2.2.4.b TAN CON secescessessesseessessessesssessessessssssessessessusssessessessnessessessesssessessesseeaseess 40 2.2.4 Công cụ hỗ trợ khai NGC eccecccceccecceccessesssssssessessesseesessessesssssesesseesesseeseesees 40 2.2.4.0, SQLMAP nnốốố.ố.5ố.Ắ 40 2.2.4.D, GraPNQLMaDp cccccccccccseccessccesccsseeceseeseseesseeeeseeseseeesseceeeseseeeeseeneasenseeenaes 41 2.2.5 Phòng CNONG v.scscecceccescssesssesessessssssssessessesecsessessessessesssssesessesseesessesseaeseeaeesees 42 2.3 Kết CHUON ooo ccccccceccccsesssessessecsscsscssessscssessessessecsucssessessessscssessessseasessesseeseess 42 CHUONG 3: XAY DUNG MOI TRUONG LAB DE THU NGHIEM TAN CONG SQL INJECTION TRONG GRAPHQL APPI 5.2.5.2.< *.++.k.Es.tr.se.re.r.re.rr.rr.re.e 43 3.1 $° 5 n 43 3.1.1 Damn Vulnerable GraphQL Application - 5.55.5.

Ngày đăng: 08/03/2024, 16:24

w