What is SQL Injection ?
Solution in this chapter:
+ Understanding How Web Applications Work
+ Understanding SQL Injection
+ Understanding How It Happens
Introduction
People say they know what SQL injection is, but all they have heard about or experienced are trivial examples. SQL injection is one of the most devastating vulnerabilities that impact a business, as it can lead to exposure of all the sentitive information stored in an application's database, including handy information such as usernames, passwords, names, addresses, phone numbers, and credit card details.
(Mọi người nói rằng họ biết SQL injection là gì, nhưng tất cả những gì họ đã nghe hoặc trải nghiệm chỉ là những ví dụ tầm thường. SQL injection là một trong những lỗ hỗng nghiêm trọng nhất ảnh hưởng đến doanh nghiệp, vì nó có thể dẫn đến việc tất cả thông tin nhạy cảm được lưu trữ trong cơ sở dữ liệu của ứng dụng, bao gồm thông tin hữu ích như tên người dùng, mật khẩu, tên, địa chỉ, số điện thoại và thẻ tín dụng chi tiết).
So, what exactly is SQL injection ? It is the vulnerability that results when you give an attacker the ability to influence the Structured Query Language (SQL) queries that an application passes to a back-end database. By being able to influence what is passed to the database, the attacker can leverage the syntax and capabilities of SQL itself, as well as the power and flexibility of supporting databaes functionality and operating system functionality available to the database. SQL injection is not vulnerability that exclusively affects Web applications; any code that accepts input from an untrusted source and then uses that input to form dynamic SQL statements could be vulnerable (e.g, "fat client" applications in a client/server architecture). In the past, SQL injection was more typically leveraged against server side databases, however with the current HTML5 specification, an attacker could equally execute JavaScript or other codes in order to interact with a client side database to steal data. Similarly with mobile applications (such as on the Android platform), malicious applications and/or client-side script can be leveraged in sililar ways (see labs.mwrinfosecurity.com/notices/webcontentresolver/for more info).
(Vậy, SQL injection chính xác là gì? Đó là lỗ hổng dẫn đến khi bạn cung cấp cho kẻ tấn công khả năng ảnh hưởng đến các truy vấn SQL mà ứng dụng chuyển đến cơ sơ dữ liệu phía sau. Bằng cách có thể tác động đến những gì được chuyển đến cơ sở dữ liệu, kẻ tấn công có thể tận dụng cú pháp và khả năng của chính SQL, cũng như sức mạng và tính linh hoạt của việc hỗ trợ chức năng của database và chức năng hệ điều hành có sẵn cho cơ sở dữ liệu. SQL injection không phải là lỗ hổng chỉ ảnh hướng đến các ứng dụng Web; bất kỳ mã nào chấp nhận đầu vào từ một nguồn không đáng tin cậy và sau đó sử dụng đầu vào để tạo các câu lệnh SQL động đều có thể dễ bị tấn công (Ví dụ: Ứng dụng "fat client" trong cấu trúc máy khách/máy chủ). Trước đây, SQL injection thường được sử dụng nhiều hơn để chống lại cơ sở dữ liệu phía máy chủ, tuy nhiên với đặc điểm kỹ thuật HTML5 hiện tại, kẻ tấn công có thể thực thi JavaScript hoặc các mã khác như nhau để tương tác với cơ sở dữ liệu phía máy khách để lấy cắp dữ liệu. Tương tự như vậy với các ứng dụng di động ( chẳng hạn như trên nền tảng Android), các ứng dụng độc hại và/ hoặc tập lệnh phía máy khách có thể được tận dụng theo những những cách tương tự (xem labs.mwrinfosecurity.com/notices/webcontentresolver))
SQL injection has probably existed since SQL databases were first connected to Web applications. However, Rain Forest Puppy is widely credited with its discovery - or at least for bringing it to the public's attention. On Christmas Day 1998. Rain Forest Puppy wrote an article titled "NT Web Technology Vulnerabilities" for Phrack (www.phrack.com/issues.html?issue=54&id=8#article), an e-zine written by and for hackers. Rain Forest Puppy also released an advisory on SQL injection ("How I hacked PacketStorm", located at www.wiretrip.net/rfp/txt/rfp2k01.txt) in early 2000 that detailed how SQL injection was used to comprise a popular Website. Since then, many researches have developed and refined techniques for exploiting SQL injection. However, to this day many developers and security professtionals still do not understand it well.
(SQL injection có lẽ đã tồn tại kể từ khi cơ sở dữ liệu SQL lần đầu tiên được kết nối với các ứng dụng Web. Tuy nhiên, Rain Forest Puppy được công nhận rộng rãi với phát hiện của nó - hoặc ít nhất là vì đã thu hút sự chú ý của công chúng. Vào ngày lễ giáng sinh năm 1998. Rain Forest Puppy đã viết một bài báo cáo có tiêu đề "Lỗ hỗng công nghệ web NT" cho Phrack (www.phrack.com/issues.html?issue=54&id=8#article), một tạp chí điện tử được viết bởi và dành cho tin tặc. Rain Forest Puppy cũng đưa ra một lời khuyên về SQL injection ("Cách tôi tấn công PacketStorm") tại www.wiretrip.net/rfp/txt/rfp2k01.txt ) vào đầu năm 2000 chi tiết cách SQL injection được sử dụng để tạo 1 trang web phổ biến. Kể từ đó, nhiều nghiên cứu đã phát triển và hoàn thiện các kỹ thuật khai thác SQL injection. Tuy nhiên, cho đến ngày nay nhiều nhà phát triển và chuyên gia bảo mật vẫn chưa hiểu rõ về nó.)
Nhận xét
Đăng nhận xét